[BACK]Return to _distm.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / engine

Diff for /OpenXM_contrib2/asir2000/engine/_distm.c between version 1.5 and 1.8

version 1.5, 2000/12/05 06:59:16 version 1.8, 2001/03/19 04:02:03
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/engine/_distm.c,v 1.4 2000/11/07 06:06:39 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/engine/_distm.c,v 1.7 2001/01/11 02:26:49 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "inline.h"  #include "inline.h"
Line 71  DP _dp_free_list;
Line 71  DP _dp_free_list;
 DL _dl_free_list;  DL _dl_free_list;
 int current_dl_length;  int current_dl_length;
   
   void _free_private_storage()
   {
           _mp_free_list = 0;
           _dp_free_list = 0;
           _dl_free_list = 0;
           GC_gcollect();
   }
   
 void _DL_alloc()  void _DL_alloc()
 {  {
         int *p;          int *p;
Line 79  void _DL_alloc()
Line 87  void _DL_alloc()
   
 /*      fprintf(stderr,"DL_alloc : %d \n",++DL_alloc_count); */  /*      fprintf(stderr,"DL_alloc : %d \n",++DL_alloc_count); */
         dl_len = (current_dl_length+1);          dl_len = (current_dl_length+1);
   #if defined(LONG_IS_64BIT)
           if ( dl_len & 1 )
                   dl_len += 1;
   #endif
         p = (int *)GC_malloc(128*dl_len*sizeof(int));          p = (int *)GC_malloc(128*dl_len*sizeof(int));
         for ( i = 0; i < 128; i++, p += dl_len ) {          for ( i = 0; i < 128; i++, p += dl_len ) {
                 *(DL *)p = _dl_free_list;                  *(DL *)p = _dl_free_list;
Line 592  DP p;
Line 604  DP p;
 DP *r;  DP *r;
 {  {
         MP m,mr0,mr;          MP m,mr0,mr;
           DL t;
   
         if ( !p )          if ( !p )
                 *r = 0;                  *r = 0;
         else {          else {
                 current_dl_length = NV(p);                  /* XXX : dummy call to set current_dl_length */
                   _NEWDL_NOINIT(t,NV(p));
   
                 for ( m = BDY(p), mr0 = 0; m; m = NEXT(m) ) {                  for ( m = BDY(p), mr0 = 0; m; m = NEXT(m) ) {
                         _NEXTMP(mr0,mr);                          _NEXTMP(mr0,mr);
                         dlto_dl(m->dl,&mr->dl);                          dlto_dl(m->dl,&mr->dl);

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.8

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>