/* Execution of byte code produced by bytecomp.el.
- Copyright (C) 1985, 1986, 1987, 1988, 1993, 2000, 2001, 2002, 2003
+ Copyright (C) 1985, 1986, 1987, 1988, 1993, 2000, 2001, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of GNU Emacs.
The culprit is found in the frame of Fbyte_code where the
address of its local variable `stack' is equal to the
recorded value of `stack' here. */
- if (!stack->top)
- abort ();
+ eassert (stack->top);
for (obj = stack->bottom; obj <= stack->top; ++obj)
- if (!XMARKBIT (*obj))
- {
- mark_object (obj);
- XMARK (*obj);
- }
-
- if (!XMARKBIT (stack->byte_string))
- {
- mark_object (&stack->byte_string);
- XMARK (stack->byte_string);
- }
+ mark_object (*obj);
- if (!XMARKBIT (stack->constants))
- {
- mark_object (&stack->constants);
- XMARK (stack->constants);
- }
+ mark_object (stack->byte_string);
+ mark_object (stack->constants);
}
}
unmark_byte_stack ()
{
struct byte_stack *stack;
- Lisp_Object *obj;
for (stack = byte_stack_list; stack; stack = stack->next)
{
- for (obj = stack->bottom; obj <= stack->top; ++obj)
- XUNMARK (*obj);
-
- XUNMARK (stack->byte_string);
- XUNMARK (stack->constants);
-
if (stack->byte_string_start != SDATA (stack->byte_string))
{
int offset = stack->pc - stack->byte_string_start;
Vquit_flag = Qnil; \
BEFORE_POTENTIAL_GC (); \
Fsignal (Qquit, Qnil); \
+ AFTER_POTENTIAL_GC (); \
} \
} while (0)
TOP = Qnil;
else
{
- BEFORE_POTENTIAL_GC ();
- Fcar (wrong_type_argument (Qlistp, v1));
- AFTER_POTENTIAL_GC ();
+ wrong_type_argument (Qlistp, v1);
}
break;
}
TOP = Qnil;
else
{
- BEFORE_POTENTIAL_GC ();
- Fcdr (wrong_type_argument (Qlistp, v1));
- AFTER_POTENTIAL_GC ();
+ wrong_type_argument (Qlistp, v1);
}
break;
}
AFTER_POTENTIAL_GC ();
}
}
- POP;
+ (void) POP;
break;
case Bdup:
}
case Bunwind_protect:
- /* The function record_unwind_protect can GC. */
- BEFORE_POTENTIAL_GC ();
record_unwind_protect (Fprogn, POP);
- AFTER_POTENTIAL_GC ();
break;
case Bcondition_case:
else if (!NILP (v1))
{
immediate_quit = 0;
- BEFORE_POTENTIAL_GC ();
- v1 = wrong_type_argument (Qlistp, v1);
- AFTER_POTENTIAL_GC ();
- immediate_quit = 1;
- op++;
+ wrong_type_argument (Qlistp, v1);
}
}
immediate_quit = 0;
else if (NILP (v1))
TOP = Qnil;
else
- {
- BEFORE_POTENTIAL_GC ();
- Fcar (wrong_type_argument (Qlistp, v1));
- AFTER_POTENTIAL_GC ();
- }
+ wrong_type_argument (Qlistp, v1);
break;
}
else if (!NILP (v1))
{
immediate_quit = 0;
- BEFORE_POTENTIAL_GC ();
- v1 = wrong_type_argument (Qlistp, v1);
- AFTER_POTENTIAL_GC ();
- immediate_quit = 1;
- op++;
+ wrong_type_argument (Qlistp, v1);
}
}
immediate_quit = 0;
else if (NILP (v1))
TOP = Qnil;
else
- {
- BEFORE_POTENTIAL_GC ();
- Fcar (wrong_type_argument (Qlistp, v1));
- AFTER_POTENTIAL_GC ();
- }
+ wrong_type_argument (Qlistp, v1);
}
else
{
}
#endif
}
+
+/* arch-tag: b9803b6f-1ed6-4190-8adf-33fd3a9d10e9
+ (do not change this comment) */