summaryrefslogtreecommitdiff
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-08-24 11:42:33 +0000
committerGerd Moellmann <gerd@gnu.org>2000-08-24 11:42:33 +0000
commitdff13d039cf164c545d3ea95d3cddef3370eac89 (patch)
tree44249de077e57e3aa79eb209997775d3a5234dc0 /src/bytecode.c
parent59f534e9b35ba1d32f5d3d942f6136e4ce519dec (diff)
downloademacs-dff13d039cf164c545d3ea95d3cddef3370eac89.tar.gz
(mark_byte_stack): Add a comment.
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index 22c41920cc7..a99860bd8cd 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -272,6 +272,13 @@ mark_byte_stack ()
for (stack = byte_stack_list; stack; stack = stack->next)
{
+ /* If STACK->top is null here, this means there's an opcode in
+ Fbyte_code that wasn't expected to GC, but did. To find out
+ which opcode this is, record the value of `stack', and walk
+ up the stack in a debugger, stopping in frames of Fbyte_code.
+ 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 ();