aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorKenichi Handa2012-08-16 21:25:17 +0900
committerKenichi Handa2012-08-16 21:25:17 +0900
commitd75ffb4ed0b2e72a9361a07d16a5c884a9459728 (patch)
tree8ac5a6a8ae033fef7fbc7fb7b09a703ef4b0ed5b /src/bytecode.c
parent69c41c4070c86baac11a627e9c3d366420aeb7cc (diff)
parent250c8ab9b8f6322959fa3122db83944c30c3894b (diff)
downloademacs-d75ffb4ed0b2e72a9361a07d16a5c884a9459728.tar.gz
emacs-d75ffb4ed0b2e72a9361a07d16a5c884a9459728.zip
merge trunk
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index acdf809971f..5ac8b4fa2bd 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -423,15 +423,11 @@ unmark_byte_stack (void)
423/* Garbage collect if we have consed enough since the last time. 423/* Garbage collect if we have consed enough since the last time.
424 We do this at every branch, to avoid loops that never GC. */ 424 We do this at every branch, to avoid loops that never GC. */
425 425
426#define MAYBE_GC() \ 426#define MAYBE_GC() \
427 do { \ 427 do { \
428 if (consing_since_gc > gc_cons_threshold \ 428 BEFORE_POTENTIAL_GC (); \
429 && consing_since_gc > gc_relative_threshold) \ 429 maybe_gc (); \
430 { \ 430 AFTER_POTENTIAL_GC (); \
431 BEFORE_POTENTIAL_GC (); \
432 Fgarbage_collect (); \
433 AFTER_POTENTIAL_GC (); \
434 } \
435 } while (0) 431 } while (0)
436 432
437/* Check for jumping out of range. */ 433/* Check for jumping out of range. */
@@ -540,7 +536,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
540 stack.byte_string = bytestr; 536 stack.byte_string = bytestr;
541 stack.pc = stack.byte_string_start = SDATA (bytestr); 537 stack.pc = stack.byte_string_start = SDATA (bytestr);
542 stack.constants = vector; 538 stack.constants = vector;
543 if (MAX_ALLOCA / sizeof (Lisp_Object) <= XFASTINT (maxdepth)) 539 if (MAX_ALLOCA / word_size <= XFASTINT (maxdepth))
544 memory_full (SIZE_MAX); 540 memory_full (SIZE_MAX);
545 top = alloca ((XFASTINT (maxdepth) + 1) * sizeof *top); 541 top = alloca ((XFASTINT (maxdepth) + 1) * sizeof *top);
546#if BYTE_MAINTAIN_TOP 542#if BYTE_MAINTAIN_TOP
@@ -822,7 +818,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
822 && !EQ (val, Qunbound) 818 && !EQ (val, Qunbound)
823 && !XSYMBOL (sym)->redirect 819 && !XSYMBOL (sym)->redirect
824 && !SYMBOL_CONSTANT_P (sym)) 820 && !SYMBOL_CONSTANT_P (sym))
825 XSYMBOL (sym)->val.value = val; 821 SET_SYMBOL_VAL (XSYMBOL (sym), val);
826 else 822 else
827 { 823 {
828 BEFORE_POTENTIAL_GC (); 824 BEFORE_POTENTIAL_GC ();