aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorJoakim Verona2013-03-26 15:31:46 +0100
committerJoakim Verona2013-03-26 15:31:46 +0100
commite11705b616777a8a72363b2037d989987630e863 (patch)
treefda56011e9ac37da9e53762d8dc24c7a87cbee82 /src/bytecode.c
parentc446797d60edf1058f6cbec28e57255d245dd47b (diff)
parentcded56c19b30e038537398b5213438c339428ed9 (diff)
downloademacs-e11705b616777a8a72363b2037d989987630e863.tar.gz
emacs-e11705b616777a8a72363b2037d989987630e863.zip
conflict resolve
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index bd8abe85e04..acb96c1e61b 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -313,9 +313,11 @@ struct byte_stack
313 Lisp_Object byte_string; 313 Lisp_Object byte_string;
314 const unsigned char *byte_string_start; 314 const unsigned char *byte_string_start;
315 315
316#if BYTE_MARK_STACK
316 /* The vector of constants used during byte-code execution. Storing 317 /* The vector of constants used during byte-code execution. Storing
317 this here protects it from GC because mark_byte_stack marks it. */ 318 this here protects it from GC because mark_byte_stack marks it. */
318 Lisp_Object constants; 319 Lisp_Object constants;
320#endif
319 321
320 /* Next entry in byte_stack_list. */ 322 /* Next entry in byte_stack_list. */
321 struct byte_stack *next; 323 struct byte_stack *next;
@@ -379,12 +381,12 @@ unmark_byte_stack (void)
379} 381}
380 382
381 383
382/* Fetch the next byte from the bytecode stream */ 384/* Fetch the next byte from the bytecode stream. */
383 385
384#define FETCH *stack.pc++ 386#define FETCH *stack.pc++
385 387
386/* Fetch two bytes from the bytecode stream and make a 16-bit number 388/* Fetch two bytes from the bytecode stream and make a 16-bit number
387 out of them */ 389 out of them. */
388 390
389#define FETCH2 (op = FETCH, op + (FETCH << 8)) 391#define FETCH2 (op = FETCH, op + (FETCH << 8))
390 392
@@ -404,7 +406,7 @@ unmark_byte_stack (void)
404#define DISCARD(n) (top -= (n)) 406#define DISCARD(n) (top -= (n))
405 407
406/* Get the value which is at the top of the execution stack, but don't 408/* Get the value which is at the top of the execution stack, but don't
407 pop it. */ 409 pop it. */
408 410
409#define TOP (*top) 411#define TOP (*top)
410 412
@@ -535,7 +537,9 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
535 537
536 stack.byte_string = bytestr; 538 stack.byte_string = bytestr;
537 stack.pc = stack.byte_string_start = SDATA (bytestr); 539 stack.pc = stack.byte_string_start = SDATA (bytestr);
540#if BYTE_MARK_STACK
538 stack.constants = vector; 541 stack.constants = vector;
542#endif
539 if (MAX_ALLOCA / word_size <= XFASTINT (maxdepth)) 543 if (MAX_ALLOCA / word_size <= XFASTINT (maxdepth))
540 memory_full (SIZE_MAX); 544 memory_full (SIZE_MAX);
541 top = alloca ((XFASTINT (maxdepth) + 1) * sizeof *top); 545 top = alloca ((XFASTINT (maxdepth) + 1) * sizeof *top);
@@ -751,7 +755,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
751 { 755 {
752 BEFORE_POTENTIAL_GC (); 756 BEFORE_POTENTIAL_GC ();
753 wrong_type_argument (Qlistp, v1); 757 wrong_type_argument (Qlistp, v1);
754 AFTER_POTENTIAL_GC ();
755 } 758 }
756 NEXT; 759 NEXT;
757 } 760 }
@@ -786,7 +789,6 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
786 { 789 {
787 BEFORE_POTENTIAL_GC (); 790 BEFORE_POTENTIAL_GC ();
788 wrong_type_argument (Qlistp, v1); 791 wrong_type_argument (Qlistp, v1);
789 AFTER_POTENTIAL_GC ();
790 } 792 }
791 NEXT; 793 NEXT;
792 } 794 }