mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 15:40:19 +02:00
Better aliased primcall compilation
* libguile/vm-engine.c (define!): Rename from define. * module/language/cps/arities.scm (fix-clause-arities): If a prim aliases an RTL instruction with a different name and we reify a primcall, reify the instruction name. * module/language/cps/compile-rtl.scm (emit-rtl-sequence): Update emit-define! for new name. * module/language/cps/primitives.scm (*rtl-instruction-aliases*): Add bytevector native accessors.
This commit is contained in:
parent
becce37b58
commit
6165d8120d
4 changed files with 29 additions and 6 deletions
|
@ -2232,12 +2232,12 @@ RTL_VM_NAME (SCM vm, SCM program, SCM *argv, size_t nargs_)
|
|||
NEXT (2);
|
||||
}
|
||||
|
||||
/* define sym:12 val:12
|
||||
/* define! sym:12 val:12
|
||||
*
|
||||
* Look up a binding for SYM in the current module, creating it if
|
||||
* necessary. Set its value to VAL.
|
||||
*/
|
||||
VM_DEFINE_OP (58, define, "define", OP1 (U8_U12_U12))
|
||||
VM_DEFINE_OP (58, define, "define!", OP1 (U8_U12_U12))
|
||||
{
|
||||
scm_t_uint16 sym, val;
|
||||
SCM_UNPACK_RTL_12_12 (op, sym, val);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue