1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-01 08:17:38 +00:00

add record_unwind_current_buffer helper_unwind_protect support

This commit is contained in:
Andrea Corallo 2019-08-08 17:35:25 +02:00 committed by Andrea Corallo
parent b670b2d8be
commit 7720dceba1
2 changed files with 10 additions and 3 deletions

View File

@ -573,7 +573,8 @@ the annotation emission."
(byte-bobp auto)
(byte-current-buffer auto)
(byte-set-buffer auto)
(byte-save-current-buffer)
(byte-save-current-buffer
(comp-emit '(call record_unwind_current_buffer)))
(byte-set-mark-OBSOLETE)
(byte-interactive-p-OBSOLETE)
(byte-forward-char auto)
@ -603,7 +604,7 @@ the annotation emission."
(comp-emit-cond-jump (comp-slot-next) (make-comp-mvar :constant nil) 1
(cl-third insn) t))
(byte-return
(comp-emit (list 'return (comp-slot-next)))
(comp-emit `(return ,(comp-slot-next)))
(comp-mark-block-closed))
(byte-discard 'pass)
(byte-dup
@ -612,7 +613,8 @@ the annotation emission."
(byte-save-window-excursion-OBSOLETE)
(byte-save-restriction)
(byte-catch)
(byte-unwind-protect)
(byte-unwind-protect
(comp-emit '(call helper_unwind_protect)))
(byte-condition-case)
(byte-temp-output-buffer-setup-OBSOLETE)
(byte-temp-output-buffer-show-OBSOLETE)

View File

@ -1093,6 +1093,11 @@ emit_limple_call (Lisp_Object arg1)
SET_INTERNAL_SET);
return emit_call ("set_internal", comp.void_type , 4, gcc_args);
}
else if (!strcmp (calle, "record_unwind_current_buffer") ||
!strcmp (calle, "helper_unwind_protect"))
{
return emit_call (calle, comp.void_type, 0, NULL);
}
error ("LIMPLE call is inconsistent");
}