Skip to content

Commit aec2498

Browse files
committed
use chicory-redline in java wasm
1 parent f73324e commit aec2498

2 files changed

Lines changed: 15 additions & 9 deletions

File tree

java/wasm/pom.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,19 @@
6363
<version>10.0.5.0</version>
6464
<scope>test</scope>
6565
</dependency>
66+
<dependency>
67+
<groupId>io.roastedroot</groupId>
68+
<artifactId>redline</artifactId>
69+
<version>0.0.1</version>
70+
</dependency>
6671
</dependencies>
6772

6873
<build>
6974
<plugins>
7075
<plugin>
71-
<groupId>com.dylibso.chicory</groupId>
72-
<artifactId>chicory-compiler-maven-plugin</artifactId>
73-
<version>${chicory.version}</version>
76+
<groupId>io.roastedroot</groupId>
77+
<artifactId>redline-compiler-maven-plugin</artifactId>
78+
<version>0.0.1</version>
7479
<executions>
7580
<execution>
7681
<id>prism</id>

java/wasm/src/main/java/org/ruby_lang/prism/wasm/Prism.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.dylibso.chicory.runtime.ByteArrayMemory;
44
import com.dylibso.chicory.runtime.ImportValues;
5-
import com.dylibso.chicory.runtime.Instance;
5+
import io.roastedroot.redline.api.RedlineInstance;
66
import com.dylibso.chicory.wasi.WasiOptions;
77
import com.dylibso.chicory.wasi.WasiPreview1;
88
import org.ruby_lang.prism.Loader;
@@ -13,20 +13,18 @@
1313
public class Prism implements AutoCloseable {
1414
private final WasiPreview1 wasi;
1515
protected final Prism_ModuleExports exports;
16-
private final Instance instance;
16+
private final RedlineInstance instance;
1717

1818
public Prism() {
1919
this(WasiOptions.builder().build());
2020
}
2121

2222
public Prism(WasiOptions wasiOpts) {
2323
wasi = WasiPreview1.builder().withOptions(wasiOpts).build();
24-
instance = Instance.builder(PrismParser.load())
25-
.withMemoryFactory(ByteArrayMemory::new)
26-
.withMachineFactory(PrismParser::create)
24+
instance = PrismParser.builder()
2725
.withImportValues(ImportValues.builder().addFunction(wasi.toHostFunctions()).build())
2826
.build();
29-
exports = new Prism_ModuleExports(instance);
27+
exports = new Prism_ModuleExports(instance.instance());
3028
}
3129

3230
public String version() {
@@ -150,6 +148,9 @@ public ParseResult serializeParse(byte[] packedOptions, String source) {
150148

151149
@Override
152150
public void close() {
151+
if (instance != null) {
152+
instance.close();
153+
}
153154
if (wasi != null) {
154155
wasi.close();
155156
}

0 commit comments

Comments
 (0)