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