Refer to bytecode constant vectors (Bug#33014)
Backport from master. * src/bytecode.c (exec_byte_code): Save VECTOR into stack slot so that it survives GC. The stack slot was otherwise unused, so this doesn’t cost us memory, only a store insn.
This commit is contained in:
parent
eb903d8f20
commit
1ad2903a48
1 changed files with 1 additions and 0 deletions
|
@ -367,6 +367,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
|
|||
SAFE_ALLOCA_LISP_EXTRA (stack_base, stack_items, bytestr_length);
|
||||
Lisp_Object *stack_lim = stack_base + stack_items;
|
||||
Lisp_Object *top = stack_base;
|
||||
*top = vector; /* Ensure VECTOR survives GC (Bug#33014). */
|
||||
memcpy (stack_lim, SDATA (bytestr), bytestr_length);
|
||||
void *void_stack_lim = stack_lim;
|
||||
unsigned char const *bytestr_data = void_stack_lim;
|
||||
|
|
Loading…
Add table
Reference in a new issue