aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/generator/host
diff options
context:
space:
mode:
authorEduardo Julian2017-10-19 00:22:47 -0400
committerEduardo Julian2017-10-19 00:22:47 -0400
commit6c24a9830cfbf32fbbb6fbfd6f2b7354cb994605 (patch)
tree3a374d8b90aec63c46fda35917048e702f1fde84 /new-luxc/source/luxc/generator/host
parent7c521f1e042a723be225457fa2b5e42f3a681ada (diff)
- Compilation for method invocation.
Diffstat (limited to 'new-luxc/source/luxc/generator/host')
-rw-r--r--new-luxc/source/luxc/generator/host/jvm/inst.lux32
1 files changed, 14 insertions, 18 deletions
diff --git a/new-luxc/source/luxc/generator/host/jvm/inst.lux b/new-luxc/source/luxc/generator/host/jvm/inst.lux
index 1951076c3..f515e86ac 100644
--- a/new-luxc/source/luxc/generator/host/jvm/inst.lux
+++ b/new-luxc/source/luxc/generator/host/jvm/inst.lux
@@ -9,7 +9,7 @@
[host #+ do-to]
[meta]
(meta [code]
- ["s" syntax #+ syntax:]))
+ ["s" syntax #+ syntax:]))
["$" ..]
(.. ["$t" type]))
@@ -29,6 +29,8 @@
<primitive> (declare T_BOOLEAN T_CHAR T_FLOAT T_DOUBLE
T_BYTE T_SHORT T_INT T_LONG)
<class> (declare CHECKCAST NEW INSTANCEOF)
+ <member> (declare GETSTATIC PUTSTATIC GETFIELD PUTFIELD
+ INVOKESTATIC INVOKESPECIAL INVOKEVIRTUAL INVOKEINTERFACE)
<stack> (declare DUP DUP2 DUP2_X1 DUP2_X2
POP POP2
SWAP)
@@ -37,10 +39,10 @@
GOTO)
<var> (declare ILOAD LLOAD DLOAD ALOAD
ISTORE LSTORE ASTORE)
- <arithmethic> (declare IADD ISUB IMUL IDIV IREM
- LADD LSUB LMUL LDIV LREM LCMP
- FADD FSUB FMUL FDIV FREM FCMPG FCMPL
- DADD DSUB DMUL DDIV DREM DCMPG DCMPL)
+ <arithmetic> (declare IADD ISUB IMUL IDIV IREM
+ LADD LSUB LMUL LDIV LREM LCMP
+ FADD FSUB FMUL FDIV FREM FCMPG FCMPL
+ DADD DSUB DMUL DDIV DREM DCMPG DCMPL)
<bit-wise> (declare IAND IOR IXOR ISHL ISHR IUSHR
LAND LOR LXOR LSHL LSHR LUSHR)
<array> (declare ARRAYLENGTH NEWARRAY ANEWARRAY
@@ -69,19 +71,12 @@
<var>
- <arithmethic>
+ <arithmetic>
<bit-wise>
<array>
- (#static GETSTATIC int)
- (#static PUTSTATIC int)
- (#static GETFIELD int)
- (#static PUTFIELD int)
-
- (#static INVOKESTATIC int)
- (#static INVOKESPECIAL int)
- (#static INVOKEVIRTUAL int)
+ <member>
(#static ATHROW int)
@@ -171,7 +166,7 @@
## Integer bitwise
[IAND] [IOR] [IXOR] [ISHL] [ISHR] [IUSHR]
- ## Long arithmethic
+ ## Long arithmetic
[LADD] [LSUB] [LMUL] [LDIV] [LREM]
[LCMP]
@@ -265,9 +260,10 @@
(do-to visitor
(MethodVisitor.visitMethodInsn [<inst> ($t;binary-name class) method-name ($t;method-descriptor method-signature) interface?]))))]
- [INVOKESTATIC Opcodes.INVOKESTATIC]
- [INVOKEVIRTUAL Opcodes.INVOKEVIRTUAL]
- [INVOKESPECIAL Opcodes.INVOKESPECIAL]
+ [INVOKESTATIC Opcodes.INVOKESTATIC]
+ [INVOKEVIRTUAL Opcodes.INVOKEVIRTUAL]
+ [INVOKESPECIAL Opcodes.INVOKESPECIAL]
+ [INVOKEINTERFACE Opcodes.INVOKEINTERFACE]
)
(do-template [<name>]