summaryrefslogtreecommitdiff
path: root/libguile/jit.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-07-16 15:42:05 +0200
committerAndy Wingo <wingo@pobox.com>2018-07-20 11:42:30 +0200
commit043432fd573648fe8591672aca7e2438b71e6774 (patch)
tree15e0f687c0bb1283b3fa066ed4ef23404e757a23 /libguile/jit.c
parentb1705bd0f0181a6496223b26cb5da68fa470ccaa (diff)
downloadguile-043432fd573648fe8591672aca7e2438b71e6774.tar.gz
Reserve frame word for machine return address
* libguile/frames.h: Add machine return address to diagram. (SCM_FRAME_MACHINE_RETURN_ADDRESS): (SCM_FRAME_SET_MACHINE_RETURN_ADDRESS): New macros. (SCM_FRAME_PREVIOUS_SP): (SCM_FRAME_DYNAMIC_LINK): (SCM_FRAME_SET_DYNAMIC_LINK): Adapt for new frame size. * libguile/vm-engine.c (halt): Set frame size to 3. (call, call-label): Set mRA to 0. * libguile/vm.c (push_interrupt_frame, reinstate_continuation_x): (scm_call_n): Set frame size to 3. In push_interrupt_frame, init the mRA of the frame. (vm_builtin_call_with_values_code, vm_handle_interrupt_code): Allocate larger frames. * module/language/cps/slot-allocation.scm (allocate-slots): Frame size is 3. * module/system/vm/disassembler.scm (define-clobber-parser): Bump frame size.
Diffstat (limited to 'libguile/jit.c')
0 files changed, 0 insertions, 0 deletions