diff options
author | Eduardo Julian | 2019-09-07 19:26:01 -0400 |
---|---|---|
committer | Eduardo Julian | 2019-09-07 19:26:01 -0400 |
commit | 747abe180b2669b6af5779dcf39ab5a8b6ed11ed (patch) | |
tree | 088fca10b0ec3d8f8742060e2cd31a7d1b8c2f9a /new-luxc/source/luxc/lang/translation/jvm/procedure | |
parent | b63ac226cc2ea843f08f7c72b18d22602462c624 (diff) |
Got rid of a useless parameter to the INVOKE instructions.
Diffstat (limited to 'new-luxc/source/luxc/lang/translation/jvm/procedure')
-rw-r--r-- | new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux | 32 | ||||
-rw-r--r-- | new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux | 38 |
2 files changed, 25 insertions, 45 deletions
diff --git a/new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux b/new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux index 06ae2ba26..9ed40a99a 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/procedure/common.lux @@ -128,9 +128,7 @@ (Unary Inst) (|>> riskyI (_.CHECKCAST ///.$Function) - (_.INVOKESTATIC runtime.$Runtime "try" - (type.method [(list ///.$Function) ///.$Variant (list)]) - #0))) + (_.INVOKESTATIC runtime.$Runtime "try" (type.method [(list ///.$Function) ///.$Variant (list)])))) (template [<name> <op>] [(def: (<name> [maskI inputI]) @@ -212,20 +210,20 @@ [i64::f64 (_.unwrap type.long) (<| (_.wrap type.double) _.L2D)] [i64::char (_.unwrap type.long) - ((|>> _.L2I _.I2C (_.INVOKESTATIC (type.class "java.lang.Character" (list)) "toString" (type.method [(list type.char) $String (list)]) #0)))] + ((|>> _.L2I _.I2C (_.INVOKESTATIC (type.class "java.lang.Character" (list)) "toString" (type.method [(list type.char) $String (list)]))))] [f64::i64 (_.unwrap type.double) (<| (_.wrap type.long) _.D2L)] [f64::encode (_.unwrap type.double) - (_.INVOKESTATIC (type.class "java.lang.Double" (list)) "toString" (type.method [(list type.double) $String (list)]) #0)] + (_.INVOKESTATIC (type.class "java.lang.Double" (list)) "toString" (type.method [(list type.double) $String (list)]))] [f64::decode ..check-stringI - (_.INVOKESTATIC runtime.$Runtime "decode_frac" (type.method [(list $String) ///.$Variant (list)]) #0)] + (_.INVOKESTATIC runtime.$Runtime "decode_frac" (type.method [(list $String) ///.$Variant (list)]))] ) (def: (text::size inputI) (Unary Inst) (|>> inputI ..check-stringI - (_.INVOKEVIRTUAL $String "length" (type.method [(list) type.int (list)]) #0) + (_.INVOKEVIRTUAL $String "length" (type.method [(list) type.int (list)])) lux-intI)) (template [<name> <pre-subject> <pre-param> <op> <post>] @@ -236,13 +234,13 @@ <op> <post>))] [text::= (<|) (<|) - (_.INVOKEVIRTUAL $Object "equals" (type.method [(list $Object) type.boolean (list)]) #0) + (_.INVOKEVIRTUAL $Object "equals" (type.method [(list $Object) type.boolean (list)])) (_.wrap type.boolean)] [text::< ..check-stringI ..check-stringI - (_.INVOKEVIRTUAL $String "compareTo" (type.method [(list $String) type.int (list)]) #0) + (_.INVOKEVIRTUAL $String "compareTo" (type.method [(list $String) type.int (list)])) (predicateI _.IFLT)] [text::char ..check-stringI jvm-intI - (_.INVOKEVIRTUAL $String "charAt" (type.method [(list type.int) type.char (list)]) #0) + (_.INVOKEVIRTUAL $String "charAt" (type.method [(list type.int) type.char (list)])) lux-intI] ) @@ -250,14 +248,14 @@ (Binary Inst) (|>> leftI ..check-stringI rightI ..check-stringI - (_.INVOKEVIRTUAL $String "concat" (type.method [(list $String) $String (list)]) #0))) + (_.INVOKEVIRTUAL $String "concat" (type.method [(list $String) $String (list)])))) (def: (text::clip [startI endI subjectI]) (Trinary Inst) (|>> subjectI ..check-stringI startI jvm-intI endI jvm-intI - (_.INVOKEVIRTUAL $String "substring" (type.method [(list type.int type.int) $String (list)]) #0))) + (_.INVOKEVIRTUAL $String "substring" (type.method [(list type.int type.int) $String (list)])))) (def: index-method (type.method [(list $String type.int) type.int (list)])) (def: (text::index [startI partI textI]) @@ -267,7 +265,7 @@ (|>> textI ..check-stringI partI ..check-stringI startI jvm-intI - (_.INVOKEVIRTUAL $String "indexOf" index-method #0) + (_.INVOKEVIRTUAL $String "indexOf" index-method) _.DUP (_.int -1) (_.IF_ICMPEQ @not-found) @@ -286,7 +284,7 @@ (|>> (_.GETSTATIC $System "out" $PrintStream) messageI ..check-stringI - (_.INVOKEVIRTUAL $PrintStream "println" string-method #0) + (_.INVOKEVIRTUAL $PrintStream "println" string-method) unitI))) (def: (io::error messageI) @@ -296,18 +294,18 @@ _.DUP messageI ..check-stringI - (_.INVOKESPECIAL $Error "<init>" string-method #0) + (_.INVOKESPECIAL $Error "<init>" string-method) _.ATHROW))) (def: (io::exit codeI) (Unary Inst) (|>> codeI jvm-intI - (_.INVOKESTATIC $System "exit" (type.method [(list type.int) type.void (list)]) #0) + (_.INVOKESTATIC $System "exit" (type.method [(list type.int) type.void (list)])) _.NULL)) (def: (io::current-time _) (Nullary Inst) - (|>> (_.INVOKESTATIC $System "currentTimeMillis" (type.method [(list) type.long (list)]) #0) + (|>> (_.INVOKESTATIC $System "currentTimeMillis" (type.method [(list) type.long (list)])) (_.wrap type.long))) (def: bundle::lux diff --git a/new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux b/new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux index 58643797b..b01056479 100644 --- a/new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux +++ b/new-luxc/source/luxc/lang/translation/jvm/procedure/host.lux @@ -534,11 +534,7 @@ (do phase.monad [] (wrap (|>> (_.string class) - (_.INVOKESTATIC $Class "forName" - (type.method [(list (type.class "java.lang.String" (list))) - $Class - (list)]) - false)))) + (_.INVOKESTATIC $Class "forName" (type.method [(list (type.class "java.lang.String" (list))) $Class (list)]))))) _ (phase.throw extension.invalid-syntax [extension-name %synthesis inputs]))) @@ -736,14 +732,10 @@ (do phase.monad [inputsTI (monad.map @ (generate-input generate) inputsTS)] (wrap (|>> (_.fuse (list@map product.right inputsTI)) - (_.INVOKESTATIC class method - (type.method [(list@map product.left inputsTI) - outputT - (list)]) - false) + (_.INVOKESTATIC class method (type.method [(list@map product.left inputsTI) outputT (list)])) (prepare-output outputT)))))])) -(template [<name> <invoke> <interface?>] +(template [<name> <invoke>] [(def: <name> Handler (..custom @@ -758,13 +750,12 @@ (<invoke> class method (type.method [(list@map product.left inputsTI) outputT - (list)]) - <interface?>) + (list)])) (prepare-output outputT)))))]))] - [invoke::virtual _.INVOKEVIRTUAL false] - [invoke::special _.INVOKESPECIAL false] - [invoke::interface _.INVOKEINTERFACE true] + [invoke::virtual _.INVOKEVIRTUAL] + [invoke::special _.INVOKESPECIAL] + [invoke::interface _.INVOKEINTERFACE] ) (def: invoke::constructor @@ -777,11 +768,7 @@ (wrap (|>> (_.NEW class) _.DUP (_.fuse (list@map product.right inputsTI)) - (_.INVOKESPECIAL class "<init>" - (type.method [(list@map product.left inputsTI) - type.void - (list)]) - false)))))])) + (_.INVOKESPECIAL class "<init>" (type.method [(list@map product.left inputsTI) type.void (list)]))))))])) (def: member Bundle @@ -931,12 +918,7 @@ (_def.method #$.Public $.noneM "<init>" (anonymous-init-method env) (|>> (_.ALOAD 0) ((_.fuse (list@map product.right inputsTI))) - (_.INVOKESPECIAL super-class - "<init>" - (type.method [(list@map product.left inputsTI) - type.void - (list)]) - #0) + (_.INVOKESPECIAL super-class "<init>" (type.method [(list@map product.left inputsTI) type.void (list)])) store-capturedI _.RETURN)))) @@ -947,7 +929,7 @@ (wrap (|>> (_.NEW class) _.DUP (_.fuse captureI+) - (_.INVOKESPECIAL class "<init>" (anonymous-init-method env) #0))))) + (_.INVOKESPECIAL class "<init>" (anonymous-init-method env)))))) (def: (returnI returnT) (-> (Type Return) Inst) |