Skip to content

Commit 1a7c3d9

Browse files
authored
Merge pull request #4071 from andreaTP/chicory-redline
[preview] use chicory-redline in java wasm
2 parents f73324e + 3cd9911 commit 1a7c3d9

2 files changed

Lines changed: 16 additions & 9 deletions

File tree

java/wasm/pom.xml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
<properties>
1717
<chicory.version>1.7.5</chicory.version>
18+
<redline.version>0.0.2</redline.version>
1819
</properties>
1920

2021
<dependencyManagement>
@@ -63,14 +64,19 @@
6364
<version>10.0.5.0</version>
6465
<scope>test</scope>
6566
</dependency>
67+
<dependency>
68+
<groupId>io.roastedroot</groupId>
69+
<artifactId>redline</artifactId>
70+
<version>${redline.version}</version>
71+
</dependency>
6672
</dependencies>
6773

6874
<build>
6975
<plugins>
7076
<plugin>
71-
<groupId>com.dylibso.chicory</groupId>
72-
<artifactId>chicory-compiler-maven-plugin</artifactId>
73-
<version>${chicory.version}</version>
77+
<groupId>io.roastedroot</groupId>
78+
<artifactId>redline-compiler-maven-plugin</artifactId>
79+
<version>${redline.version}</version>
7480
<executions>
7581
<execution>
7682
<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)