From 88949be34c4e0fcab3902537cad01e060d7ce2c8 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Sat, 14 Oct 2017 15:14:02 -0400 Subject: - Compilation for object-based procedures. --- new-luxc/source/luxc/generator/host/jvm/inst.lux | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'new-luxc/source/luxc/generator/host/jvm') diff --git a/new-luxc/source/luxc/generator/host/jvm/inst.lux b/new-luxc/source/luxc/generator/host/jvm/inst.lux index efc66f130..d5df6a9f7 100644 --- a/new-luxc/source/luxc/generator/host/jvm/inst.lux +++ b/new-luxc/source/luxc/generator/host/jvm/inst.lux @@ -28,6 +28,7 @@ L2D L2F L2I) (declare T_BOOLEAN T_CHAR T_FLOAT T_DOUBLE T_BYTE T_SHORT T_INT T_LONG) + (declare CHECKCAST NEW INSTANCEOF) (declare DUP DUP2 DUP2_X1 DUP2_X2 POP POP2 SWAP) @@ -51,6 +52,7 @@ FALOAD FASTORE DALOAD DASTORE CALOAD CASTORE) + (declare MONITORENTER MONITOREXIT) (declare RETURN IRETURN LRETURN DRETURN ARETURN)] (host;import org.objectweb.asm.Opcodes (#static NOP int) @@ -58,8 +60,7 @@ - (#static CHECKCAST int) - (#static NEW int) + @@ -84,6 +85,8 @@ (#static ATHROW int) + + )) @@ -196,6 +199,9 @@ ## Exceptions [ATHROW] + ## Concurrency + [MONITORENTER] [MONITOREXIT] + ## Return [RETURN] [IRETURN] [LRETURN] [DRETURN] [ARETURN] ) @@ -232,9 +238,10 @@ (do-to visitor (MethodVisitor.visitTypeInsn [ ($t;binary-name class)]))))] - [CHECKCAST Opcodes.CHECKCAST] - [NEW Opcodes.NEW] - [ANEWARRAY Opcodes.ANEWARRAY] + [CHECKCAST Opcodes.CHECKCAST] + [NEW Opcodes.NEW] + [INSTANCEOF Opcodes.INSTANCEOF] + [ANEWARRAY Opcodes.ANEWARRAY] ) (def: #export (NEWARRAY type) -- cgit v1.2.3