Fix primitive arguments to upcalls not compiling

This commit is contained in:
Joshua Suskalo 2021-10-01 10:38:42 -05:00
parent 22343b8512
commit b98fdc05ea
2 changed files with 2 additions and 1 deletions

View file

@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. This change
## [Unreleased] ## [Unreleased]
### Fixed ### Fixed
- Primitive-serializing types fail to load as arguments to upcall functions
- Void return types on upcalls crash the JVM - Void return types on upcalls crash the JVM
- Invalid implementation of serialize-into for primitive types - Invalid implementation of serialize-into for primitive types

View file

@ -320,7 +320,7 @@
[:getfield :this "upcall_ifn" IFn] [:getfield :this "upcall_ifn" IFn]
(map-indexed (map-indexed
(fn [idx arg] (fn [idx arg]
[[(load-instructions arg :aload) (inc idx)] [[(load-instructions (mem/primitive-type arg) :aload) (inc idx)]
(to-object-asm arg)]) (to-object-asm arg)])
arg-types) arg-types)
[:invokeinterface IFn "invoke" (repeat (inc (count arg-types)) Object)] [:invokeinterface IFn "invoke" (repeat (inc (count arg-types)) Object)]