diff options
author | Andy Wingo <wingo@pobox.com> | 2013-11-19 21:04:24 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2013-11-19 21:04:24 +0100 |
commit | 095100bbdbfc79ccba39fa68b75d8530361299d3 (patch) | |
tree | 6ae826998b83a734eece5827fe3781e685e0cbd6 /libguile/instructions.h | |
parent | 3fe96dd8088957a09cfd15747ae646595934f83a (diff) | |
download | guile-095100bbdbfc79ccba39fa68b75d8530361299d3.tar.gz |
Change SCM_PACK_RTL macros to SCM_PACK_OP / SCM_PACK_OP_ARG
* libguile/instructions.h: Guard in BUILDING_LIBGUILE.
(SCM_PACK_OP_24):
(SCM_PACK_OP_8_8_8):
(SCM_PACK_OP_8_16):
(SCM_PACK_OP_16_8):
(SCM_PACK_OP_12_12): Rename from SCM_PACK_RTL_*, and splice in the
opcode.
(SCM_PACK_OP_ARG_8_24): New helper.
* libguile/vm.c:
* libguile/gsubr.c:
* libguile/foreign.c:
* libguile/control.c:
* libguile/continuations.c: Adapt.
Diffstat (limited to 'libguile/instructions.h')
-rw-r--r-- | libguile/instructions.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libguile/instructions.h b/libguile/instructions.h index 7575e6f82..c2495ac8a 100644 --- a/libguile/instructions.h +++ b/libguile/instructions.h @@ -22,6 +22,8 @@ #include <libguile.h> #include <libguile/vm-operations.h> +#ifdef BUILDING_LIBGUILE + enum scm_opcode { #define ENUM(opcode, tag, name, meta) scm_op_##tag = opcode, @@ -29,11 +31,12 @@ enum scm_opcode #undef ENUM }; -#define SCM_PACK_RTL_8_8_8(op,a,b,c) ((op) | ((a) << 8) | ((b) << 16) | ((c) << 24)) -#define SCM_PACK_RTL_8_16(op,a,b) ((op) | ((a) << 8) | ((b) << 16)) -#define SCM_PACK_RTL_16_8(op,a,b) ((op) | ((a) << 8) | ((b) << 24)) -#define SCM_PACK_RTL_12_12(op,a,b) ((op) | ((a) << 8) | ((b) << 20)) -#define SCM_PACK_RTL_24(op,a) ((op) | ((a) << 8)) +#define SCM_PACK_OP_24(op,arg) (scm_op_##op | (arg) << 8) +#define SCM_PACK_OP_8_8_8(op,a,b,c) SCM_PACK_OP_24 (op, (a) | ((b) << 8) | ((c) << 16)) +#define SCM_PACK_OP_8_16(op,a,b) SCM_PACK_OP_24 (op, (a) | (b) << 8) +#define SCM_PACK_OP_16_8(op,a,b) SCM_PACK_OP_24 (op, (a) | (b) << 16) +#define SCM_PACK_OP_12_12(op,a,b) SCM_PACK_OP_24 (op, (a) | (b) << 12) +#define SCM_PACK_OP_ARG_8_24(a,b) ((a) | ((b) << 8)) #define SCM_UNPACK_RTL_8_8_8(op,a,b,c) \ do \ @@ -78,6 +81,8 @@ enum scm_opcode #define SCM_VM_NUM_INSTRUCTIONS (1<<8) #define SCM_VM_INSTRUCTION_MASK (SCM_VM_NUM_INSTRUCTIONS-1) +#endif /* BUILDING_LIBGUILE */ + SCM_INTERNAL SCM scm_instruction_list (void); SCM_INTERNAL void scm_bootstrap_instructions (void); |