Woohoo! Huge decrease in cells not cleaned up, with fixing one stupid bug.
This commit is contained in:
parent
004ff6737c
commit
f6d7fcea1e
12 changed files with 93 additions and 293 deletions
|
|
@ -201,7 +201,6 @@ struct cons_pointer make_exception( struct cons_pointer message,
|
|||
struct cons_pointer pointer = allocate_cell( EXCEPTIONTV );
|
||||
struct cons_space_object *cell = &pointer2cell( pointer );
|
||||
|
||||
inc_ref( message );
|
||||
inc_ref( frame_pointer );
|
||||
cell->payload.exception.payload = message;
|
||||
cell->payload.exception.frame = frame_pointer;
|
||||
|
|
@ -237,9 +236,6 @@ struct cons_pointer make_lambda( struct cons_pointer args,
|
|||
struct cons_pointer pointer = allocate_cell( LAMBDATV );
|
||||
struct cons_space_object *cell = &pointer2cell( pointer );
|
||||
|
||||
inc_ref( pointer ); /* this is a hack; I don't know why it's necessary to do
|
||||
this, but if I don't the cell gets freed */
|
||||
|
||||
inc_ref( args );
|
||||
inc_ref( body );
|
||||
cell->payload.lambda.args = args;
|
||||
|
|
@ -256,9 +252,6 @@ struct cons_pointer make_nlambda( struct cons_pointer args,
|
|||
struct cons_pointer body ) {
|
||||
struct cons_pointer pointer = allocate_cell( NLAMBDATV );
|
||||
|
||||
inc_ref( pointer ); /* this is a hack; I don't know why it's necessary to do
|
||||
this, but if I don't the cell gets freed */
|
||||
|
||||
struct cons_space_object *cell = &pointer2cell( pointer );
|
||||
inc_ref( args );
|
||||
inc_ref( body );
|
||||
|
|
@ -312,7 +305,6 @@ struct cons_pointer make_string_like_thing( wint_t c, struct cons_pointer tail,
|
|||
pointer = allocate_cell( tag );
|
||||
struct cons_space_object *cell = &pointer2cell( pointer );
|
||||
|
||||
inc_ref( tail );
|
||||
cell->payload.string.character = c;
|
||||
cell->payload.string.cdr.page = tail.page;
|
||||
/* \todo There's a problem here. Sometimes the offsets on
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue