Skip to content

Commit 8a3816f

Browse files
committed
chore: wasm chicory fixes
1 parent 4cf2c4b commit 8a3816f

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

backend/jvm/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,7 @@ dependencies {
178178
implementation(libs.cardiologist)
179179

180180
// Wasm
181-
implementation(libs.chicory)
182-
implementation(libs.chicory.aot)
181+
implementation(libs.chicory.compiler)
183182

184183
// Templating
185184
jteGenerate(libs.jte.models)

backend/jvm/src/main/kotlin/dev/suresh/wasm/Wasm.kt

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package dev.suresh.wasm
22

3-
import com.dylibso.chicory.experimental.aot.AotMachine
3+
import com.dylibso.chicory.compiler.MachineFactoryCompiler
44
import com.dylibso.chicory.runtime.HostFunction
55
import com.dylibso.chicory.runtime.Instance
66
import com.dylibso.chicory.wasm.Parser
7-
import com.dylibso.chicory.wasm.types.ValueType
8-
import io.ktor.server.response.respondText
7+
import com.dylibso.chicory.wasm.types.FunctionType
8+
import com.dylibso.chicory.wasm.types.ValType
9+
import io.ktor.server.response.*
910
import io.ktor.server.routing.*
1011

1112
/**
@@ -17,7 +18,7 @@ val factWasmInst: Instance by lazy {
1718
val wasmRes = Thread.currentThread().contextClassLoader.getResourceAsStream("wasm/factorial.wasm")
1819
// val wasmRes = object {}.javaClass.getResourceAsStream("wasm/factorial.wasm")
1920
val wasmMod = Parser.parse(wasmRes)
20-
Instance.builder(wasmMod).withMachineFactory(::AotMachine).build()
21+
Instance.builder(wasmMod).withMachineFactory(MachineFactoryCompiler::compile).build()
2122
}
2223

2324
fun Routing.wasm() {
@@ -34,11 +35,12 @@ fun Routing.wasm() {
3435
}
3536

3637
fun logFunction() =
37-
HostFunction("console", "log", listOf(ValueType.I32, ValueType.I32), emptyList()) {
38-
instance,
39-
args ->
40-
val msg = instance.memory().readString(args[0].toInt(), args[1].toInt())
41-
println("WASM: $msg")
42-
// Value.i32(0)
43-
longArrayOf()
44-
}
38+
HostFunction(
39+
"console", "log", FunctionType.of(listOf(ValType.I32, ValType.I32), emptyList())) {
40+
instance,
41+
args ->
42+
val msg = instance.memory().readString(args[0].toInt(), args[1].toInt())
43+
println("WASM: $msg")
44+
// Value.i32(0)
45+
longArrayOf()
46+
}

0 commit comments

Comments
 (0)