aboutsummaryrefslogtreecommitdiff
path: root/lux-jvm/source/luxc/lang/translation/jvm
diff options
context:
space:
mode:
authorEduardo Julian2022-01-24 23:38:55 -0400
committerEduardo Julian2022-01-24 23:38:55 -0400
commit9a08039adfe40f76b9d5a5351005671c15b557bf (patch)
treef7d72bd0beb1576018abb4ee6774b8f19d2ea243 /lux-jvm/source/luxc/lang/translation/jvm
parent6f55815f7f237df406e72c7a723055bb6238fce5 (diff)
Added explicit function inlining.
Diffstat (limited to '')
-rw-r--r--lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux13
1 files changed, 7 insertions, 6 deletions
diff --git a/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux b/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
index 78033cc96..28a5c34bc 100644
--- a/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
+++ b/lux-jvm/source/luxc/lang/translation/jvm/extension/host.lux
@@ -1015,13 +1015,14 @@
inputs! (|> inputsTI
list.enumeration
(list#each (function (_ [register [type term]])
- (case (type.primitive? type)
- {.#Right type}
- (_.ALOAD (++ register))
-
- {.#Left type}
+ (let [then! (case (type.primitive? type)
+ {.#Right type}
+ (_.unwrap type)
+
+ {.#Left type}
+ (_.CHECKCAST type))]
(|>> (_.ALOAD (++ register))
- (_.CHECKCAST type)))))
+ then!))))
_.fuse)
store_capturedI (|> env
list.size