aboutsummaryrefslogtreecommitdiff
path: root/luxc
diff options
context:
space:
mode:
authorEduardo Julian2017-12-05 19:08:17 -0400
committerEduardo Julian2017-12-05 19:08:17 -0400
commit9126ee1746487163612e7319a28d1f27f767398a (patch)
tree9c2d6957e111731f3e5855e0f24b4c41e55f8933 /luxc
parent8a51602b3507a18a5ffae1710ba4e915cf31fe39 (diff)
- Brought luxc and new-luxc closer together.
Diffstat (limited to 'luxc')
-rw-r--r--luxc/src/lux/analyser/proc/jvm.clj128
-rw-r--r--luxc/src/lux/compiler/jvm/proc/host.clj118
2 files changed, 123 insertions, 123 deletions
diff --git a/luxc/src/lux/analyser/proc/jvm.clj b/luxc/src/lux/analyser/proc/jvm.clj
index 760d0cbfd..69d734177 100644
--- a/luxc/src/lux/analyser/proc/jvm.clj
+++ b/luxc/src/lux/analyser/proc/jvm.clj
@@ -391,35 +391,35 @@
_cursor &/cursor]
(return (&/|list (&&/|meta output-type _cursor (&&/$proc (&/T ["jvm" <proc>]) (&/|list =value) (&/|list))))))))
- ^:private analyse-jvm-d2f "d2f" "java.lang.Double" "java.lang.Float"
- ^:private analyse-jvm-d2i "d2i" "java.lang.Double" "java.lang.Integer"
- ^:private analyse-jvm-d2l "d2l" "java.lang.Double" "java.lang.Long"
-
- ^:private analyse-jvm-f2d "f2d" "java.lang.Float" "java.lang.Double"
- ^:private analyse-jvm-f2i "f2i" "java.lang.Float" "java.lang.Integer"
- ^:private analyse-jvm-f2l "f2l" "java.lang.Float" "java.lang.Long"
-
- ^:private analyse-jvm-i2b "i2b" "java.lang.Integer" "java.lang.Byte"
- ^:private analyse-jvm-i2c "i2c" "java.lang.Integer" "java.lang.Character"
- ^:private analyse-jvm-i2d "i2d" "java.lang.Integer" "java.lang.Double"
- ^:private analyse-jvm-i2f "i2f" "java.lang.Integer" "java.lang.Float"
- ^:private analyse-jvm-i2l "i2l" "java.lang.Integer" "java.lang.Long"
- ^:private analyse-jvm-i2s "i2s" "java.lang.Integer" "java.lang.Short"
-
- ^:private analyse-jvm-l2d "l2d" "java.lang.Long" "java.lang.Double"
- ^:private analyse-jvm-l2f "l2f" "java.lang.Long" "java.lang.Float"
- ^:private analyse-jvm-l2i "l2i" "java.lang.Long" "java.lang.Integer"
- ^:private analyse-jvm-l2s "l2s" "java.lang.Long" "java.lang.Short"
- ^:private analyse-jvm-l2b "l2b" "java.lang.Long" "java.lang.Byte"
-
- ^:private analyse-jvm-c2b "c2b" "java.lang.Character" "java.lang.Byte"
- ^:private analyse-jvm-c2s "c2s" "java.lang.Character" "java.lang.Short"
- ^:private analyse-jvm-c2i "c2i" "java.lang.Character" "java.lang.Integer"
- ^:private analyse-jvm-c2l "c2l" "java.lang.Character" "java.lang.Long"
-
- ^:private analyse-jvm-s2l "s2l" "java.lang.Short" "java.lang.Long"
-
- ^:private analyse-jvm-b2l "b2l" "java.lang.Byte" "java.lang.Long"
+ ^:private analyse-jvm-double-to-float "double-to-float" "java.lang.Double" "java.lang.Float"
+ ^:private analyse-jvm-double-to-int "double-to-int" "java.lang.Double" "java.lang.Integer"
+ ^:private analyse-jvm-double-to-long "double-to-long" "java.lang.Double" "java.lang.Long"
+
+ ^:private analyse-jvm-float-to-double "float-to-double" "java.lang.Float" "java.lang.Double"
+ ^:private analyse-jvm-float-to-int "float-to-int" "java.lang.Float" "java.lang.Integer"
+ ^:private analyse-jvm-float-to-long "float-to-long" "java.lang.Float" "java.lang.Long"
+
+ ^:private analyse-jvm-int-to-byte "int-to-byte" "java.lang.Integer" "java.lang.Byte"
+ ^:private analyse-jvm-int-to-char "int-to-char" "java.lang.Integer" "java.lang.Character"
+ ^:private analyse-jvm-int-to-double "int-to-double" "java.lang.Integer" "java.lang.Double"
+ ^:private analyse-jvm-int-to-float "int-to-float" "java.lang.Integer" "java.lang.Float"
+ ^:private analyse-jvm-int-to-long "int-to-long" "java.lang.Integer" "java.lang.Long"
+ ^:private analyse-jvm-int-to-short "int-to-short" "java.lang.Integer" "java.lang.Short"
+
+ ^:private analyse-jvm-long-to-double "long-to-double" "java.lang.Long" "java.lang.Double"
+ ^:private analyse-jvm-long-to-float "long-to-float" "java.lang.Long" "java.lang.Float"
+ ^:private analyse-jvm-long-to-int "long-to-int" "java.lang.Long" "java.lang.Integer"
+ ^:private analyse-jvm-long-to-short "long-to-short" "java.lang.Long" "java.lang.Short"
+ ^:private analyse-jvm-long-to-byte "long-to-byte" "java.lang.Long" "java.lang.Byte"
+
+ ^:private analyse-jvm-char-to-byte "char-to-byte" "java.lang.Character" "java.lang.Byte"
+ ^:private analyse-jvm-char-to-short "char-to-short" "java.lang.Character" "java.lang.Short"
+ ^:private analyse-jvm-char-to-int "char-to-int" "java.lang.Character" "java.lang.Integer"
+ ^:private analyse-jvm-char-to-long "char-to-long" "java.lang.Character" "java.lang.Long"
+
+ ^:private analyse-jvm-short-to-long "short-to-long" "java.lang.Short" "java.lang.Long"
+
+ ^:private analyse-jvm-byte-to-long "byte-to-long" "java.lang.Byte" "java.lang.Long"
)
(do-template [<name> <proc> <v1-class> <v2-class> <to-class>]
@@ -602,7 +602,7 @@
(&&/$proc (&/T ["jvm" "arraylength"]) (&/|list =array) (&/|list))
)))))
-(defn ^:private analyse-jvm-null? [analyse exo-type ?values]
+(defn ^:private analyse-jvm-object-null? [analyse exo-type ?values]
(|do [:let [(&/$Cons object (&/$Nil)) ?values]
=object (&&/analyse-1+ analyse object)
_ (ensure-object (&&/expr-type* =object))
@@ -610,24 +610,24 @@
_ (&type/check exo-type output-type)
_cursor &/cursor]
(return (&/|list (&&/|meta exo-type _cursor
- (&&/$proc (&/T ["jvm" "null?"]) (&/|list =object) (&/|list)))))))
+ (&&/$proc (&/T ["jvm" "object null?"]) (&/|list =object) (&/|list)))))))
-(defn ^:private analyse-jvm-null [analyse exo-type ?values]
+(defn ^:private analyse-jvm-object-null [analyse exo-type ?values]
(|do [:let [(&/$Nil) ?values]
:let [output-type (&/$Primitive &host-type/null-data-tag &/$Nil)]
_ (&type/check exo-type output-type)
_cursor &/cursor]
(return (&/|list (&&/|meta exo-type _cursor
- (&&/$proc (&/T ["jvm" "null"]) (&/|list) (&/|list)))))))
+ (&&/$proc (&/T ["jvm" "object null"]) (&/|list) (&/|list)))))))
-(defn analyse-jvm-synchronized [analyse exo-type ?values]
+(defn analyse-jvm-object-synchronized [analyse exo-type ?values]
(|do [:let [(&/$Cons ?monitor (&/$Cons ?expr (&/$Nil))) ?values]
=monitor (&&/analyse-1+ analyse ?monitor)
_ (ensure-object (&&/expr-type* =monitor))
=expr (&&/analyse-1 analyse exo-type ?expr)
_cursor &/cursor]
(return (&/|list (&&/|meta exo-type _cursor
- (&&/$proc (&/T ["jvm" "synchronized"]) (&/|list =monitor =expr) (&/|list)))))))
+ (&&/$proc (&/T ["jvm" "object synchronized"]) (&/|list =monitor =expr) (&/|list)))))))
(defn ^:private analyse-jvm-throw [analyse exo-type ?values]
(|do [:let [(&/$Cons ?ex (&/$Nil)) ?values]
@@ -804,7 +804,7 @@
(return (&/|list (&&/|meta output-type _cursor
(&&/$proc (&/T ["jvm" "instanceof"]) (&/|list =object) (&/|list class)))))))
-(defn ^:private analyse-jvm-load-class [analyse exo-type ?values]
+(defn ^:private analyse-jvm-object-class [analyse exo-type ?values]
(|do [:let [(&/$Cons [_ (&/$Text _class-name)] (&/$Nil)) ?values]
^ClassLoader class-loader &/loader
_ (try (do (.loadClass class-loader _class-name)
@@ -815,7 +815,7 @@
_ (&type/check exo-type output-type)
_cursor &/cursor]
(return (&/|list (&&/|meta output-type _cursor
- (&&/$proc (&/T ["jvm" "load-class"]) (&/|list) (&/|list _class-name output-type)))))))
+ (&&/$proc (&/T ["jvm" "object class"]) (&/|list) (&/|list _class-name output-type)))))))
(defn ^:private analyse-jvm-interface [analyse compile-interface interface-decl supers =anns =methods]
(|do [module &/get-module-name
@@ -900,11 +900,11 @@
(defn analyse-host [analyse exo-type compilers proc ?values]
(|let [[_ _ _ compile-class compile-interface] compilers]
(try (case proc
- "jvm synchronized" (analyse-jvm-synchronized analyse exo-type ?values)
- "jvm load-class" (analyse-jvm-load-class analyse exo-type ?values)
+ "jvm object synchronized" (analyse-jvm-object-synchronized analyse exo-type ?values)
+ "jvm object class" (analyse-jvm-object-class analyse exo-type ?values)
"jvm throw" (analyse-jvm-throw analyse exo-type ?values)
- "jvm null?" (analyse-jvm-null? analyse exo-type ?values)
- "jvm null" (analyse-jvm-null analyse exo-type ?values)
+ "jvm object null?" (analyse-jvm-object-null? analyse exo-type ?values)
+ "jvm object null" (analyse-jvm-object-null analyse exo-type ?values)
"jvm anewarray" (analyse-jvm-anewarray analyse exo-type ?values)
"jvm aaload" (analyse-jvm-aaload analyse exo-type ?values)
"jvm aastore" (analyse-jvm-aastore analyse exo-type ?values)
@@ -980,29 +980,29 @@
"jvm lshl" (analyse-jvm-lshl analyse exo-type ?values)
"jvm lshr" (analyse-jvm-lshr analyse exo-type ?values)
"jvm lushr" (analyse-jvm-lushr analyse exo-type ?values)
- "jvm d2f" (analyse-jvm-d2f analyse exo-type ?values)
- "jvm d2i" (analyse-jvm-d2i analyse exo-type ?values)
- "jvm d2l" (analyse-jvm-d2l analyse exo-type ?values)
- "jvm f2d" (analyse-jvm-f2d analyse exo-type ?values)
- "jvm f2i" (analyse-jvm-f2i analyse exo-type ?values)
- "jvm f2l" (analyse-jvm-f2l analyse exo-type ?values)
- "jvm i2b" (analyse-jvm-i2b analyse exo-type ?values)
- "jvm i2c" (analyse-jvm-i2c analyse exo-type ?values)
- "jvm i2d" (analyse-jvm-i2d analyse exo-type ?values)
- "jvm i2f" (analyse-jvm-i2f analyse exo-type ?values)
- "jvm i2l" (analyse-jvm-i2l analyse exo-type ?values)
- "jvm i2s" (analyse-jvm-i2s analyse exo-type ?values)
- "jvm l2d" (analyse-jvm-l2d analyse exo-type ?values)
- "jvm l2f" (analyse-jvm-l2f analyse exo-type ?values)
- "jvm l2i" (analyse-jvm-l2i analyse exo-type ?values)
- "jvm l2s" (analyse-jvm-l2s analyse exo-type ?values)
- "jvm l2b" (analyse-jvm-l2b analyse exo-type ?values)
- "jvm c2b" (analyse-jvm-c2b analyse exo-type ?values)
- "jvm c2s" (analyse-jvm-c2s analyse exo-type ?values)
- "jvm c2i" (analyse-jvm-c2i analyse exo-type ?values)
- "jvm c2l" (analyse-jvm-c2l analyse exo-type ?values)
- "jvm b2l" (analyse-jvm-b2l analyse exo-type ?values)
- "jvm s2l" (analyse-jvm-s2l analyse exo-type ?values)
+ "jvm convert double-to-float" (analyse-jvm-double-to-float analyse exo-type ?values)
+ "jvm convert double-to-int" (analyse-jvm-double-to-int analyse exo-type ?values)
+ "jvm convert double-to-long" (analyse-jvm-double-to-long analyse exo-type ?values)
+ "jvm convert float-to-double" (analyse-jvm-float-to-double analyse exo-type ?values)
+ "jvm convert float-to-int" (analyse-jvm-float-to-int analyse exo-type ?values)
+ "jvm convert float-to-long" (analyse-jvm-float-to-long analyse exo-type ?values)
+ "jvm convert int-to-byte" (analyse-jvm-int-to-byte analyse exo-type ?values)
+ "jvm convert int-to-char" (analyse-jvm-int-to-char analyse exo-type ?values)
+ "jvm convert int-to-double" (analyse-jvm-int-to-double analyse exo-type ?values)
+ "jvm convert int-to-float" (analyse-jvm-int-to-float analyse exo-type ?values)
+ "jvm convert int-to-long" (analyse-jvm-int-to-long analyse exo-type ?values)
+ "jvm convert int-to-short" (analyse-jvm-int-to-short analyse exo-type ?values)
+ "jvm convert long-to-double" (analyse-jvm-long-to-double analyse exo-type ?values)
+ "jvm convert long-to-float" (analyse-jvm-long-to-float analyse exo-type ?values)
+ "jvm convert long-to-int" (analyse-jvm-long-to-int analyse exo-type ?values)
+ "jvm convert long-to-short" (analyse-jvm-long-to-short analyse exo-type ?values)
+ "jvm convert long-to-byte" (analyse-jvm-long-to-byte analyse exo-type ?values)
+ "jvm convert char-to-byte" (analyse-jvm-char-to-byte analyse exo-type ?values)
+ "jvm convert char-to-short" (analyse-jvm-char-to-short analyse exo-type ?values)
+ "jvm convert char-to-int" (analyse-jvm-char-to-int analyse exo-type ?values)
+ "jvm convert char-to-long" (analyse-jvm-char-to-long analyse exo-type ?values)
+ "jvm convert byte-to-long" (analyse-jvm-byte-to-long analyse exo-type ?values)
+ "jvm convert short-to-long" (analyse-jvm-short-to-long analyse exo-type ?values)
;; else
(->> (&/fail-with-loc (str "[Analyser Error] Unknown host procedure: " ["jvm" proc]))
(if-let [[_ _def-code] (re-find #"^jvm interface:(.*)$" proc)]
diff --git a/luxc/src/lux/compiler/jvm/proc/host.clj b/luxc/src/lux/compiler/jvm/proc/host.clj
index 3d68bda68..041e72819 100644
--- a/luxc/src/lux/compiler/jvm/proc/host.clj
+++ b/luxc/src/lux/compiler/jvm/proc/host.clj
@@ -518,33 +518,33 @@
<wrap>)]]
(return nil)))
- ^:private compile-jvm-d2f Opcodes/D2F &&/unwrap-double &&/wrap-float
- ^:private compile-jvm-d2i Opcodes/D2I &&/unwrap-double &&/wrap-int
- ^:private compile-jvm-d2l Opcodes/D2L &&/unwrap-double &&/wrap-long
-
- ^:private compile-jvm-f2d Opcodes/F2D &&/unwrap-float &&/wrap-double
- ^:private compile-jvm-f2i Opcodes/F2I &&/unwrap-float &&/wrap-int
- ^:private compile-jvm-f2l Opcodes/F2L &&/unwrap-float &&/wrap-long
-
- ^:private compile-jvm-i2b Opcodes/I2B &&/unwrap-int &&/wrap-byte
- ^:private compile-jvm-i2c Opcodes/I2C &&/unwrap-int &&/wrap-char
- ^:private compile-jvm-i2d Opcodes/I2D &&/unwrap-int &&/wrap-double
- ^:private compile-jvm-i2f Opcodes/I2F &&/unwrap-int &&/wrap-float
- ^:private compile-jvm-i2l Opcodes/I2L &&/unwrap-int &&/wrap-long
- ^:private compile-jvm-i2s Opcodes/I2S &&/unwrap-int &&/wrap-short
-
- ^:private compile-jvm-l2d Opcodes/L2D &&/unwrap-long &&/wrap-double
- ^:private compile-jvm-l2f Opcodes/L2F &&/unwrap-long &&/wrap-float
- ^:private compile-jvm-l2i Opcodes/L2I &&/unwrap-long &&/wrap-int
-
- ^:private compile-jvm-c2b Opcodes/I2B &&/unwrap-char &&/wrap-byte
- ^:private compile-jvm-c2s Opcodes/I2S &&/unwrap-char &&/wrap-short
- ^:private compile-jvm-c2i Opcodes/NOP &&/unwrap-char &&/wrap-int
- ^:private compile-jvm-c2l Opcodes/I2L &&/unwrap-char &&/wrap-long
-
- ^:private compile-jvm-s2l Opcodes/I2L &&/unwrap-short &&/wrap-long
+ ^:private compile-jvm-double-to-float Opcodes/D2F &&/unwrap-double &&/wrap-float
+ ^:private compile-jvm-double-to-int Opcodes/D2I &&/unwrap-double &&/wrap-int
+ ^:private compile-jvm-double-to-long Opcodes/D2L &&/unwrap-double &&/wrap-long
+
+ ^:private compile-jvm-float-to-double Opcodes/F2D &&/unwrap-float &&/wrap-double
+ ^:private compile-jvm-float-to-int Opcodes/F2I &&/unwrap-float &&/wrap-int
+ ^:private compile-jvm-float-to-long Opcodes/F2L &&/unwrap-float &&/wrap-long
+
+ ^:private compile-jvm-int-to-byte Opcodes/I2B &&/unwrap-int &&/wrap-byte
+ ^:private compile-jvm-int-to-char Opcodes/I2C &&/unwrap-int &&/wrap-char
+ ^:private compile-jvm-int-to-double Opcodes/I2D &&/unwrap-int &&/wrap-double
+ ^:private compile-jvm-int-to-float Opcodes/I2F &&/unwrap-int &&/wrap-float
+ ^:private compile-jvm-int-to-long Opcodes/I2L &&/unwrap-int &&/wrap-long
+ ^:private compile-jvm-int-to-short Opcodes/I2S &&/unwrap-int &&/wrap-short
+
+ ^:private compile-jvm-long-to-double Opcodes/L2D &&/unwrap-long &&/wrap-double
+ ^:private compile-jvm-long-to-float Opcodes/L2F &&/unwrap-long &&/wrap-float
+ ^:private compile-jvm-long-to-int Opcodes/L2I &&/unwrap-long &&/wrap-int
+
+ ^:private compile-jvm-char-to-byte Opcodes/I2B &&/unwrap-char &&/wrap-byte
+ ^:private compile-jvm-char-to-short Opcodes/I2S &&/unwrap-char &&/wrap-short
+ ^:private compile-jvm-char-to-int Opcodes/NOP &&/unwrap-char &&/wrap-int
+ ^:private compile-jvm-char-to-long Opcodes/I2L &&/unwrap-char &&/wrap-long
+
+ ^:private compile-jvm-short-to-long Opcodes/I2L &&/unwrap-short &&/wrap-long
- ^:private compile-jvm-b2l Opcodes/I2L &&/unwrap-byte &&/wrap-long
+ ^:private compile-jvm-byte-to-long Opcodes/I2L &&/unwrap-byte &&/wrap-long
)
(do-template [<name> <op> <wrap>]
@@ -559,8 +559,8 @@
<wrap>)]]
(return nil)))
- ^:private compile-jvm-l2s Opcodes/I2S &&/wrap-short
- ^:private compile-jvm-l2b Opcodes/I2B &&/wrap-byte
+ ^:private compile-jvm-long-to-short Opcodes/I2S &&/wrap-short
+ ^:private compile-jvm-long-to-byte Opcodes/I2B &&/wrap-byte
)
(do-template [<name> <op> <unwrap-left> <unwrap-right> <wrap>]
@@ -814,14 +814,14 @@
&&/wrap-long)]]
(return nil)))
-(defn ^:private compile-jvm-null [compile ?values special-args]
+(defn ^:private compile-jvm-object-null [compile ?values special-args]
(|do [:let [;; (&/$Nil) ?values
(&/$Nil) special-args]
^MethodVisitor *writer* &/get-writer
:let [_ (.visitInsn *writer* Opcodes/ACONST_NULL)]]
(return nil)))
-(defn ^:private compile-jvm-null? [compile ?values special-args]
+(defn ^:private compile-jvm-object-null? [compile ?values special-args]
(|do [:let [(&/$Cons ?object (&/$Nil)) ?values
;; (&/$Nil) special-args
]
@@ -838,7 +838,7 @@
(.visitLabel $end))]]
(return nil)))
-(defn compile-jvm-synchronized [compile ?values special-args]
+(defn compile-jvm-object-synchronized [compile ?values special-args]
(|do [:let [(&/$Cons ?monitor (&/$Cons ?expr (&/$Nil))) ?values
;; (&/$Nil) special-args
]
@@ -971,7 +971,7 @@
(.visitMethodInsn Opcodes/INVOKESPECIAL class* "<init>" init-sig))]]
(return nil)))
-(defn ^:private compile-jvm-load-class [compile ?values special-args]
+(defn ^:private compile-jvm-object-class [compile ?values special-args]
(|do [:let [(&/$Cons _class-name (&/$Cons ?output-type (&/$Nil))) special-args]
^MethodVisitor *writer* &/get-writer
:let [_ (doto *writer*
@@ -993,8 +993,8 @@
(defn compile-proc [compile proc-name ?values special-args]
(case proc-name
- "synchronized" (compile-jvm-synchronized compile ?values special-args)
- "load-class" (compile-jvm-load-class compile ?values special-args)
+ "object synchronized" (compile-jvm-object-synchronized compile ?values special-args)
+ "object class" (compile-jvm-object-class compile ?values special-args)
"instanceof" (compile-jvm-instanceof compile ?values special-args)
"new" (compile-jvm-new compile ?values special-args)
"invokestatic" (compile-jvm-invokestatic compile ?values special-args)
@@ -1006,8 +1006,8 @@
"putstatic" (compile-jvm-putstatic compile ?values special-args)
"putfield" (compile-jvm-putfield compile ?values special-args)
"throw" (compile-jvm-throw compile ?values special-args)
- "null?" (compile-jvm-null? compile ?values special-args)
- "null" (compile-jvm-null compile ?values special-args)
+ "object null?" (compile-jvm-object-null? compile ?values special-args)
+ "object null" (compile-jvm-object-null compile ?values special-args)
"anewarray" (compile-jvm-anewarray compile ?values special-args)
"aaload" (compile-jvm-aaload compile ?values special-args)
"aastore" (compile-jvm-aastore compile ?values special-args)
@@ -1083,28 +1083,28 @@
"lshl" (compile-jvm-lshl compile ?values special-args)
"lshr" (compile-jvm-lshr compile ?values special-args)
"lushr" (compile-jvm-lushr compile ?values special-args)
- "d2f" (compile-jvm-d2f compile ?values special-args)
- "d2i" (compile-jvm-d2i compile ?values special-args)
- "d2l" (compile-jvm-d2l compile ?values special-args)
- "f2d" (compile-jvm-f2d compile ?values special-args)
- "f2i" (compile-jvm-f2i compile ?values special-args)
- "f2l" (compile-jvm-f2l compile ?values special-args)
- "i2b" (compile-jvm-i2b compile ?values special-args)
- "i2c" (compile-jvm-i2c compile ?values special-args)
- "i2d" (compile-jvm-i2d compile ?values special-args)
- "i2f" (compile-jvm-i2f compile ?values special-args)
- "i2l" (compile-jvm-i2l compile ?values special-args)
- "i2s" (compile-jvm-i2s compile ?values special-args)
- "l2d" (compile-jvm-l2d compile ?values special-args)
- "l2f" (compile-jvm-l2f compile ?values special-args)
- "l2i" (compile-jvm-l2i compile ?values special-args)
- "l2s" (compile-jvm-l2s compile ?values special-args)
- "l2b" (compile-jvm-l2b compile ?values special-args)
- "c2b" (compile-jvm-c2b compile ?values special-args)
- "c2s" (compile-jvm-c2s compile ?values special-args)
- "c2i" (compile-jvm-c2i compile ?values special-args)
- "c2l" (compile-jvm-c2l compile ?values special-args)
- "s2l" (compile-jvm-s2l compile ?values special-args)
- "b2l" (compile-jvm-b2l compile ?values special-args)
+ "double-to-float" (compile-jvm-double-to-float compile ?values special-args)
+ "double-to-int" (compile-jvm-double-to-int compile ?values special-args)
+ "double-to-long" (compile-jvm-double-to-long compile ?values special-args)
+ "float-to-double" (compile-jvm-float-to-double compile ?values special-args)
+ "float-to-int" (compile-jvm-float-to-int compile ?values special-args)
+ "float-to-long" (compile-jvm-float-to-long compile ?values special-args)
+ "int-to-byte" (compile-jvm-int-to-byte compile ?values special-args)
+ "int-to-char" (compile-jvm-int-to-char compile ?values special-args)
+ "int-to-double" (compile-jvm-int-to-double compile ?values special-args)
+ "int-to-float" (compile-jvm-int-to-float compile ?values special-args)
+ "int-to-long" (compile-jvm-int-to-long compile ?values special-args)
+ "int-to-short" (compile-jvm-int-to-short compile ?values special-args)
+ "long-to-double" (compile-jvm-long-to-double compile ?values special-args)
+ "long-to-float" (compile-jvm-long-to-float compile ?values special-args)
+ "long-to-int" (compile-jvm-long-to-int compile ?values special-args)
+ "long-to-short" (compile-jvm-long-to-short compile ?values special-args)
+ "long-to-byte" (compile-jvm-long-to-byte compile ?values special-args)
+ "char-to-byte" (compile-jvm-char-to-byte compile ?values special-args)
+ "char-to-short" (compile-jvm-char-to-short compile ?values special-args)
+ "char-to-int" (compile-jvm-char-to-int compile ?values special-args)
+ "char-to-long" (compile-jvm-char-to-long compile ?values special-args)
+ "short-to-long" (compile-jvm-short-to-long compile ?values special-args)
+ "byte-to-long" (compile-jvm-byte-to-long compile ?values special-args)
;; else
(&/fail-with-loc (str "[Compiler Error] Unknown host procedure: " ["jvm" proc-name]))))