Fix broken bytecode in upcalls
This commit is contained in:
parent
6be2515540
commit
3ce919e5a1
1 changed files with 1 additions and 2 deletions
|
|
@ -879,14 +879,13 @@
|
||||||
:desc (conj (mapv java-layout arg-types)
|
:desc (conj (mapv java-layout arg-types)
|
||||||
(java-layout ret-type))
|
(java-layout ret-type))
|
||||||
:emit [[:aload 0]
|
:emit [[:aload 0]
|
||||||
[:dup]
|
|
||||||
[:getfield :this "upcall_ifn" IFn]
|
[:getfield :this "upcall_ifn" IFn]
|
||||||
(map-indexed
|
(map-indexed
|
||||||
(fn [idx arg]
|
(fn [idx arg]
|
||||||
[[(load-instructions arg) (inc idx)]
|
[[(load-instructions arg) (inc idx)]
|
||||||
(to-object-asm arg)])
|
(to-object-asm arg)])
|
||||||
arg-types)
|
arg-types)
|
||||||
[:invokevirtual IFn "invoke" (repeat (inc (count arg-types)) Object)]
|
[:invokeinterface IFn "invoke" (repeat (inc (count arg-types)) Object)]
|
||||||
;; TODO(Joshua): If this returns nil and this is primitive,
|
;; TODO(Joshua): If this returns nil and this is primitive,
|
||||||
;; return a default value
|
;; return a default value
|
||||||
(to-prim-asm ret-type)
|
(to-prim-asm ret-type)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue