mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Minor change to VM DSL
* libguile/instructions.c (DOP1, DOP2, DOP3, DOP4, DOP5): New parts of the DSL, equivalent to e.g. OP1(x) | OP_DST. Will allow other definitions of OP* that use token pasting. * libguile/vm-engine.c: Adapt to use new DOP descriptors.
This commit is contained in:
parent
5b68bd7778
commit
d6b8f6a658
2 changed files with 81 additions and 74 deletions
|
@ -117,6 +117,12 @@ static SCM word_type_symbols[] =
|
|||
|
||||
#define OP_DST (1 << (TYPE_WIDTH * 5))
|
||||
|
||||
#define DOP1(t0) (OP1(t0) | OP_DST)
|
||||
#define DOP2(t0, t1) (OP2(t0, t1) | OP_DST)
|
||||
#define DOP3(t0, t1, t2) (OP3(t0, t1, t2) | OP_DST)
|
||||
#define DOP4(t0, t1, t2, t3) (OP4(t0, t1, t2, t3) | OP_DST)
|
||||
#define DOP5(t0, t1, t2, t3, t4) (OP5(t0, t1, t2, t3, t4) | OP_DST)
|
||||
|
||||
#define WORD_TYPE_AND_FLAG(n, word) \
|
||||
(((word) >> ((n) * TYPE_WIDTH)) & ((1 << TYPE_WIDTH) - 1))
|
||||
#define WORD_TYPE(n, word) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue