aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/lux/tool/compiler/phase/generation/jvm/runtime.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/lux/tool/compiler/phase/generation/jvm/runtime.lux')
-rw-r--r--stdlib/source/lux/tool/compiler/phase/generation/jvm/runtime.lux18
1 files changed, 16 insertions, 2 deletions
diff --git a/stdlib/source/lux/tool/compiler/phase/generation/jvm/runtime.lux b/stdlib/source/lux/tool/compiler/phase/generation/jvm/runtime.lux
index b45965dc5..05ef66973 100644
--- a/stdlib/source/lux/tool/compiler/phase/generation/jvm/runtime.lux
+++ b/stdlib/source/lux/tool/compiler/phase/generation/jvm/runtime.lux
@@ -4,7 +4,11 @@
[binary (#+ Binary)]]
[target
[jvm
- ["_" instruction (#+ Label Instruction)]]]]
+ ["_" instruction (#+ Label Instruction)]
+ [encoding
+ [name (#+ External)]]
+ ["." type
+ [category (#+ Value Return Method)]]]]]
["." ///
[///
[reference (#+ Register)]]]
@@ -29,4 +33,14 @@
(type: #export (Generator i)
(-> Phase i (Operation (Instruction Any))))
-(def: #export class "LuxRuntime")
+(def: #export class (type.class "LuxRuntime" (list)))
+
+(def: apply-failure-name
+ "apply_fail")
+
+(def: apply-failure-type
+ (type.method [(list) type.void (list)]))
+
+(def: #export apply-failure
+ (Instruction Any)
+ (_.invokestatic ..class ..apply-failure-name ..apply-failure-type))