Bryan C. Warnock wrote:
> Oh, in which case, I agree with you. ;-)
Oh, woops. :) For some reason I was assuming you were arguing against
my patch.
Anyways, below is a revised and simpler patch that implements the same
semantics as before, but using Dan's new DOD_block_level and
GC_block_level method for disabling the GC.
Dan, are you still opposed to a non-GC_DEBUG version of this patch, in
light of the discussion that ensued?
Mike Lambert
Index: interpreter.c
===================================================================
RCS file: /cvs/public/parrot/interpreter.c,v
retrieving revision 1.82
diff -u -r1.82 interpreter.c
--- interpreter.c 2 Apr 2002 06:24:14 -0000 1.82
+++ interpreter.c 14 Apr 2002 10:21:55 -0000
@@ -494,8 +494,8 @@
interpreter->total_Buffers = 0;
interpreter->memory_allocated = 0;
interpreter->memory_collected = 0;
- interpreter->DOD_block_level = 0;
- interpreter->GC_block_level = 0;
+ interpreter->DOD_block_level = 1;
+ interpreter->GC_block_level = 1;
/* Set up the memory allocation system */
mem_setup_allocator(interpreter);
@@ -557,6 +557,9 @@
interpreter->pmc_reg_base->next = NULL;
interpreter->pmc_reg_base->prev = NULL;
Parrot_clear_p(interpreter);
+
+ interpreter->DOD_block_level--;
+ interpreter->GC_block_level--;
/* Need a user stack */
interpreter->user_stack = new_stack(interpreter);