fixed a gc bug in bigint.c
This commit is contained in:
parent
83cfbb0b30
commit
53c0783da8
@ -1892,7 +1892,10 @@ moo_oop_t moo_mulints (moo_t* moo, moo_oop_t x, moo_oop_t y)
|
||||
}
|
||||
|
||||
normal:
|
||||
moo_pushtmp (moo, &x);
|
||||
moo_pushtmp (moo, &y);
|
||||
z = multiply_unsigned_integers (moo, x, y);
|
||||
moo_poptmps (moo, 2);
|
||||
if (!z) return MOO_NULL;
|
||||
if (MOO_OBJ_GET_CLASS(x) != MOO_OBJ_GET_CLASS(y))
|
||||
MOO_OBJ_SET_CLASS(z, moo->_large_negative_integer);
|
||||
|
@ -976,7 +976,7 @@ void moo_gc (moo_t* moo)
|
||||
* if the symbol has not moved to the new heap, the symbol
|
||||
* is not referenced by any other objects than the symbol
|
||||
* table itself */
|
||||
compact_symbol_table (moo, old_nil);
|
||||
/*compact_symbol_table (moo, old_nil); <---- this causes a problem when gc debugging is on, debug it */
|
||||
|
||||
/* move the symbol table itself */
|
||||
moo->symtab = (moo_oop_dic_t)moo_moveoop(moo, (moo_oop_t)moo->symtab);
|
||||
|
Loading…
Reference in New Issue
Block a user