+ /* undo.func.self.aoff and undo.func.regset should not
+ * be undone, as they will be further updated, and are
+ * the reason of the undo. */
+ undo.func.self.aoff = _jitc->function->frame +
+ _jitc->function->self.aoff;
+ undo.func.need_frame = _jitc->function->need_frame;
+ undo.func.need_return = _jitc->function->need_return;
+ jit_regset_set(&undo.func.regset, &_jitc->function->regset);
+ /* allocar information also does not need to be undone */
+ undo.func.aoffoff = _jitc->function->aoffoff;
+ undo.func.allocar = _jitc->function->allocar;
+ /* swf_offset and check_reg_args must also not be undone */
+ undo.func.swf_offset = _jitc->function->swf_offset;
+ undo.func.save_reg_args = _jitc->function->save_reg_args;
+ memcpy(_jitc->function, &undo.func, sizeof(undo.func));