From aec2498793025fcace8b6df5c94e0a9f64fe28aa Mon Sep 17 00:00:00 2001 From: andreatp Date: Wed, 8 Apr 2026 21:24:47 +0100 Subject: [PATCH 1/2] use chicory-redline in java wasm --- java/wasm/pom.xml | 11 ++++++++--- .../main/java/org/ruby_lang/prism/wasm/Prism.java | 13 +++++++------ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/java/wasm/pom.xml b/java/wasm/pom.xml index 745856b07e..a83bef48d0 100644 --- a/java/wasm/pom.xml +++ b/java/wasm/pom.xml @@ -63,14 +63,19 @@ 10.0.5.0 test + + io.roastedroot + redline + 0.0.1 + - com.dylibso.chicory - chicory-compiler-maven-plugin - ${chicory.version} + io.roastedroot + redline-compiler-maven-plugin + 0.0.1 prism diff --git a/java/wasm/src/main/java/org/ruby_lang/prism/wasm/Prism.java b/java/wasm/src/main/java/org/ruby_lang/prism/wasm/Prism.java index 21bace0a3c..7ccc618bbd 100644 --- a/java/wasm/src/main/java/org/ruby_lang/prism/wasm/Prism.java +++ b/java/wasm/src/main/java/org/ruby_lang/prism/wasm/Prism.java @@ -2,7 +2,7 @@ import com.dylibso.chicory.runtime.ByteArrayMemory; import com.dylibso.chicory.runtime.ImportValues; -import com.dylibso.chicory.runtime.Instance; +import io.roastedroot.redline.api.RedlineInstance; import com.dylibso.chicory.wasi.WasiOptions; import com.dylibso.chicory.wasi.WasiPreview1; import org.ruby_lang.prism.Loader; @@ -13,7 +13,7 @@ public class Prism implements AutoCloseable { private final WasiPreview1 wasi; protected final Prism_ModuleExports exports; - private final Instance instance; + private final RedlineInstance instance; public Prism() { this(WasiOptions.builder().build()); @@ -21,12 +21,10 @@ public Prism() { public Prism(WasiOptions wasiOpts) { wasi = WasiPreview1.builder().withOptions(wasiOpts).build(); - instance = Instance.builder(PrismParser.load()) - .withMemoryFactory(ByteArrayMemory::new) - .withMachineFactory(PrismParser::create) + instance = PrismParser.builder() .withImportValues(ImportValues.builder().addFunction(wasi.toHostFunctions()).build()) .build(); - exports = new Prism_ModuleExports(instance); + exports = new Prism_ModuleExports(instance.instance()); } public String version() { @@ -150,6 +148,9 @@ public ParseResult serializeParse(byte[] packedOptions, String source) { @Override public void close() { + if (instance != null) { + instance.close(); + } if (wasi != null) { wasi.close(); } From 3cd99118ab1858061ef97fb66975a20c5c5dfcc3 Mon Sep 17 00:00:00 2001 From: andreatp Date: Wed, 15 Apr 2026 00:45:44 +0200 Subject: [PATCH 2/2] update redline --- java/wasm/pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/wasm/pom.xml b/java/wasm/pom.xml index a83bef48d0..1e3a99ba41 100644 --- a/java/wasm/pom.xml +++ b/java/wasm/pom.xml @@ -15,6 +15,7 @@ 1.7.5 + 0.0.2 @@ -66,7 +67,7 @@ io.roastedroot redline - 0.0.1 + ${redline.version} @@ -75,7 +76,7 @@ io.roastedroot redline-compiler-maven-plugin - 0.0.1 + ${redline.version} prism