Changeset 56e490c901bf7fa247d234373d597fb8deb48642

Show
Ignore:
Timestamp:
04/27/10 17:13:49 (2 years ago)
Author:
Philip Herron <redbrain@…>
Parents:
8104e2d8423c4bdc9b20f14cc57bb02d1ad39e7e
Children:
b8cdd65fab4ae4d9db3e64af3aa7c0a672dde108
git-committer:
Philip Herron <redbrain@omicron.(none)> / 2010-04-27T17:13:49Z+0100
Message:

garbage collection on object definitions bug fix

Location:
src
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • src/gg_garbage.c

    r02929e7 r56e490c  
    141141  if( sym ) 
    142142    { 
    143       crl_debug("deleting object <%p>!\n", (void *) sym ); 
     143      crl_debug("deleting object <%p>!\n", (void *) (*sym) ); 
    144144 
    145145      if( (*sym)->identifier ) 
     
    182182          if( (*sym)->op_a.object_def ) 
    183183            { 
    184               printf("shit son!\n"); 
    185184              struct crl_type_obj_def_t * o = (*sym)->op_a.object_def; 
     185              crl_debug("freeing object definition <%s>!\n", o->identifier ); 
    186186              crl_free( o->identifier ); 
    187187              crl_garbage_free_context_branch( &(o->context) ); 
  • src/obj_integer.c

    r10ff89c r56e490c  
    133133          init->op_a.integer = mpfr_get_si( z, GMP_RNDU ); 
    134134 
    135           mpfr_clear( x ); 
    136           mpfr_clear( y ); 
    137           mpfr_clear( z ); 
     135          mpfr_clears (x, y, z, (mpfr_ptr) 0); 
    138136 
    139137          retval = crl_obj_integer_init( init, o1->definition ); 
  • src/rr_context.c

    r8104e2d r56e490c  
    390390 
    391391      obj->type = STRUCTURE_OBJECT_DEF; 
    392       obj->type = STRUCTURE_OBJECT_DEF; 
     392      obj->op_a_t = STRUCTURE_OBJECT_DEF; 
    393393      obj->op_a.object_def = obj_def; 
    394394  
    395       printf("trying to insert object def <%s> <0x%x>!\n", object_def->identifier, (void *) obj ); 
     395      printf("trying to insert object def <%s> <%p>!\n", object_def->identifier, (void *) obj ); 
    396396      crl_symbol_obj **s= crl_dd_hash_insert( crl_dd_hash_hash( object_def->identifier ), 
    397397                                              obj, ((*context)->curr->object_table) ); 
  • src/rr_runtime.c

    r10ff89c r56e490c  
    143143      else { len--; } 
    144144    } 
    145   if( !f ) 
     145  if( !f ) { 
    146146    crl_fatal("unable to find valid return address!\n"); 
     147  } 
    147148 
    148149  return retval;