libgst:
2013-07-16  Paolo Bonzini  <bonz...@gnu.org>

        * libgst/comp.c: Do not call add_literal within an incubator context.
---
 libgst/ChangeLog |  4 ++++
 libgst/comp.c    | 16 +++++++---------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/libgst/ChangeLog b/libgst/ChangeLog
index f5a77d7..197b81e 100644
--- a/libgst/ChangeLog
+++ b/libgst/ChangeLog
@@ -1,3 +1,7 @@
+2013-07-16  Paolo Bonzini  <bonz...@gnu.org>
+
+       * libgst/comp.c: Do not call add_literal within an incubator context.
+
 2013-06-14  Gwenael Casaccio <gwenael.casac...@gmail.com>
 
        * libgst/dict.c: Remove useless code: gst_ordered_collection structure.
diff --git a/libgst/comp.c b/libgst/comp.c
index 10330e1..1a59f2f 100644
--- a/libgst/comp.c
+++ b/libgst/comp.c
@@ -1064,7 +1064,7 @@ compile_block (tree_node blockExpr)
   bc_vector current_bytecodes, blockByteCodes;
   int argCount, tempCount;
   int stack_depth;
-  OOP blockClosureOOP, blockOOP;
+  OOP litOOP, blockOOP;
   gst_compiled_block block;
   inc_ptr incPtr;
 
@@ -1114,17 +1114,15 @@ compile_block (tree_node blockExpr)
   INCR_STACK_DEPTH ();
   block = (gst_compiled_block) OOP_TO_OBJ (blockOOP);
   if (block->header.clean == 0)
-    {
-      blockClosureOOP = make_clean_block_closure (blockOOP);
-      _gst_compile_byte (PUSH_LIT_CONSTANT, add_literal (blockClosureOOP));
-    }
+    litOOP = make_clean_block_closure (blockOOP);
   else
-    {
-      _gst_compile_byte (PUSH_LIT_CONSTANT, add_literal (blockOOP));
-      _gst_compile_byte (MAKE_DIRTY_BLOCK, 0);
-    }
+    litOOP = blockOOP;
 
   INC_RESTORE_POINTER (incPtr);
+
+  _gst_compile_byte (PUSH_LIT_CONSTANT, add_literal (litOOP));
+  if (block->header.clean != 0)
+    _gst_compile_byte (MAKE_DIRTY_BLOCK, 0);
 }
 
 
-- 
1.8.3.1



_______________________________________________
help-smalltalk mailing list
help-smalltalk@gnu.org
https://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to