mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 08:10:17 +02:00
Compile fluid-set! to VM opcode
* libguile/vm-engine.c (fluid-set!): Fix name of opcode to correspond with name of Tree-IL primitive. Fixes compilation of fluid-set! to actually use the fluid-set! opcode. * doc/ref/vm.texi (Dynamic Environment Instructions): Update. * module/language/cps/compile-bytecode.scm (compile-function): Add fluid-set! case. * module/system/vm/assembler.scm: Update export name for emit-fluid-set!.
This commit is contained in:
parent
7b6b86f255
commit
8bd5dae8c3
4 changed files with 5 additions and 3 deletions
|
@ -1196,7 +1196,7 @@ balanced with @code{pop-fluid}.
|
|||
Reference the fluid in @var{src}, and place the value in @var{dst}.
|
||||
@end deftypefn
|
||||
|
||||
@deftypefn Instruction {} fluid-set s12:@var{fluid} s12:@var{val}
|
||||
@deftypefn Instruction {} fluid-set! s12:@var{fluid} s12:@var{val}
|
||||
Set the value of the fluid in @var{dst} to the value in @var{src}.
|
||||
@end deftypefn
|
||||
|
||||
|
|
|
@ -2196,7 +2196,7 @@ VM_NAME (scm_i_thread *thread, struct scm_vm *vp,
|
|||
*
|
||||
* Set the value of the fluid in DST to the value in SRC.
|
||||
*/
|
||||
VM_DEFINE_OP (75, fluid_set, "fluid-set", OP1 (X8_S12_S12))
|
||||
VM_DEFINE_OP (75, fluid_set, "fluid-set!", OP1 (X8_S12_S12))
|
||||
{
|
||||
scm_t_uint16 a, b;
|
||||
size_t num;
|
||||
|
|
|
@ -364,6 +364,8 @@
|
|||
(from-sp (slot val))))
|
||||
(($ $primcall 'unwind ())
|
||||
(emit-unwind asm))
|
||||
(($ $primcall 'fluid-set! (fluid value))
|
||||
(emit-fluid-set! asm (from-sp (slot fluid)) (from-sp (slot value))))
|
||||
(($ $primcall 'atomic-box-set! (box val))
|
||||
(emit-atomic-box-set! asm (from-sp (slot box)) (from-sp (slot val))))
|
||||
(($ $primcall 'handle-interrupts ())
|
||||
|
|
|
@ -124,7 +124,7 @@
|
|||
emit-pop-fluid
|
||||
emit-current-thread
|
||||
emit-fluid-ref
|
||||
emit-fluid-set
|
||||
emit-fluid-set!
|
||||
emit-string-length
|
||||
emit-string-ref
|
||||
emit-string->number
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue