fixed a gc bug in bigint.c

This commit is contained in:
hyung-hwan 2018-12-27 15:46:31 +00:00
parent 985ec11cae
commit c447bde889

View File

@ -1845,7 +1845,10 @@ hcl_oop_t hcl_mulints (hcl_t* hcl, hcl_oop_t x, hcl_oop_t y)
} }
normal: normal:
hcl_pushtmp (hcl, &x);
hcl_pushtmp (hcl, &y);
z = multiply_unsigned_integers (hcl, x, y); z = multiply_unsigned_integers (hcl, x, y);
hcl_poptmps (hcl, 2);
if (!z) return HCL_NULL; if (!z) return HCL_NULL;
if (HCL_OBJ_GET_FLAGS_BRAND(x) != HCL_OBJ_GET_FLAGS_BRAND(y)) if (HCL_OBJ_GET_FLAGS_BRAND(x) != HCL_OBJ_GET_FLAGS_BRAND(y))
HCL_OBJ_SET_FLAGS_BRAND (z, HCL_BRAND_NBIGINT); HCL_OBJ_SET_FLAGS_BRAND (z, HCL_BRAND_NBIGINT);