diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-07-31 14:45:04 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-07-31 15:22:40 +0100 |
| commit | 91860485774924e82da9b0774179d4c3c8da810a (patch) | |
| tree | e06f52f147502e80aea139c20adac706479cb7ea /src/main/java/org/shedlang/compiler/backends/cranelift/CraneliftBackend.java | |
| parent | 410fff7b7ecf6f36a0a46ab1d90553169e3728f1 (diff) | |
Use transient-0 instead of flatbuffersmain
Diffstat (limited to 'src/main/java/org/shedlang/compiler/backends/cranelift/CraneliftBackend.java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/backends/cranelift/CraneliftBackend.java | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/main/java/org/shedlang/compiler/backends/cranelift/CraneliftBackend.java b/src/main/java/org/shedlang/compiler/backends/cranelift/CraneliftBackend.java index 75794092..31fdb1af 100644 --- a/src/main/java/org/shedlang/compiler/backends/cranelift/CraneliftBackend.java +++ b/src/main/java/org/shedlang/compiler/backends/cranelift/CraneliftBackend.java @@ -1,18 +1,17 @@ package org.shedlang.compiler.backends.cranelift; -import com.google.flatbuffers.FlatBufferBuilder; import org.pcollections.PVector; import org.shedlang.compiler.backends.Backend; import org.shedlang.compiler.backends.PatioBackends; import org.shedlang.compiler.backends.llvm.LlvmBackend; -import org.shedlang.compiler.backends.targets.NativeTarget; import org.shedlang.compiler.backends.paths.PartialTargetPath; import org.shedlang.compiler.backends.paths.TargetDir; +import org.shedlang.compiler.backends.targets.NativeTarget; import org.shedlang.compiler.config.ProfileConfig; import org.shedlang.compiler.config.ProjectConfig; import org.shedlang.compiler.filesystem.ShedCompilerFiles; import org.shedlang.compiler.patio.PatioCompilationUnit; -import org.shedlang.compiler.patio.serialization.PatioToFlatbuffers; +import org.shedlang.compiler.patio.serialization.PatioToTransient0; import org.shedlang.compiler.runtime.ShedRuntime; import org.shedlang.compiler.shid.ShidNamespace; import org.shedlang.compiler.typechecker.TypeInfos; @@ -20,6 +19,7 @@ import org.shedlang.compiler.types.NamespaceName; import org.shedlang.compiler.util.P; import org.shedlang.compiler.util.processes.ProcessError; +import java.io.FileOutputStream; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -62,14 +62,11 @@ public class CraneliftBackend implements Backend { Optional<String> mainFunctionName, PartialTargetPath partialTargetPath ) throws IOException, InterruptedException { - var fbsBuilder = new FlatBufferBuilder(); - var compilationUnitOffset = PatioToFlatbuffers.serializeCompilationUnit(fbsBuilder, patio); - fbsBuilder.finish(compilationUnitOffset); - - // TODO: avoid the copy var patioPath = partialTargetPath.withExtension(".patio"); Files.createDirectories(patioPath.getParent()); - Files.write(patioPath, fbsBuilder.sizedByteArray()); + try (var outputStream = new FileOutputStream(patioPath.toFile())) { + PatioToTransient0.serializeCompilationUnit(patio, outputStream); + } var patioToCraneliftArgs = new ArrayList<String>(); patioToCraneliftArgs.add( |
