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);






Reply via email to