mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-15 16:20: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}.
|
Reference the fluid in @var{src}, and place the value in @var{dst}.
|
||||||
@end deftypefn
|
@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}.
|
Set the value of the fluid in @var{dst} to the value in @var{src}.
|
||||||
@end deftypefn
|
@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.
|
* 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;
|
scm_t_uint16 a, b;
|
||||||
size_t num;
|
size_t num;
|
||||||
|
|
|
@ -364,6 +364,8 @@
|
||||||
(from-sp (slot val))))
|
(from-sp (slot val))))
|
||||||
(($ $primcall 'unwind ())
|
(($ $primcall 'unwind ())
|
||||||
(emit-unwind asm))
|
(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))
|
(($ $primcall 'atomic-box-set! (box val))
|
||||||
(emit-atomic-box-set! asm (from-sp (slot box)) (from-sp (slot val))))
|
(emit-atomic-box-set! asm (from-sp (slot box)) (from-sp (slot val))))
|
||||||
(($ $primcall 'handle-interrupts ())
|
(($ $primcall 'handle-interrupts ())
|
||||||
|
|
|
@ -124,7 +124,7 @@
|
||||||
emit-pop-fluid
|
emit-pop-fluid
|
||||||
emit-current-thread
|
emit-current-thread
|
||||||
emit-fluid-ref
|
emit-fluid-ref
|
||||||
emit-fluid-set
|
emit-fluid-set!
|
||||||
emit-string-length
|
emit-string-length
|
||||||
emit-string-ref
|
emit-string-ref
|
||||||
emit-string->number
|
emit-string->number
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue