Handle on-trace OOM errors from helper functions.
This commit is contained in:
@@ -269,6 +269,7 @@ static void mcode_allocarea(jit_State *J)
|
||||
((MCLink *)J->mcarea)->next = oldarea;
|
||||
((MCLink *)J->mcarea)->size = sz;
|
||||
J->szallmcarea += sz;
|
||||
J->mcbot = (MCode *)lj_err_register_mcode(J->mcarea, sz, (uint8_t *)J->mcbot);
|
||||
}
|
||||
|
||||
/* Free all MCode areas. */
|
||||
@@ -279,7 +280,9 @@ void lj_mcode_free(jit_State *J)
|
||||
J->szallmcarea = 0;
|
||||
while (mc) {
|
||||
MCode *next = ((MCLink *)mc)->next;
|
||||
mcode_free(J, mc, ((MCLink *)mc)->size);
|
||||
size_t sz = ((MCLink *)mc)->size;
|
||||
lj_err_deregister_mcode(mc, sz, (uint8_t *)mc + sizeof(MCLink));
|
||||
mcode_free(J, mc, sz);
|
||||
mc = next;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user