aboutsummaryrefslogtreecommitdiff
path: root/hobgoblin
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-31 14:45:04 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-31 15:22:40 +0100
commit91860485774924e82da9b0774179d4c3c8da810a (patch)
treee06f52f147502e80aea139c20adac706479cb7ea /hobgoblin
parent410fff7b7ecf6f36a0a46ab1d90553169e3728f1 (diff)
Use transient-0 instead of flatbuffersmain
Diffstat (limited to 'hobgoblin')
-rw-r--r--hobgoblin/hobgoblin.json56
-rw-r--r--hobgoblin/src/patio/instructions.hob2
-rw-r--r--hobgoblin/src/patio/types.hob3
-rw-r--r--hobgoblin/src/patio/values.hob1
4 files changed, 10 insertions, 2 deletions
diff --git a/hobgoblin/hobgoblin.json5 b/hobgoblin/hobgoblin.json5
index 365c19a6..489ad4d5 100644
--- a/hobgoblin/hobgoblin.json5
+++ b/hobgoblin/hobgoblin.json5
@@ -14,7 +14,11 @@
generators: [
{
generator: "java-transient-0",
- path: "../src/gen/java",
+ path: "../src/transient-0/java",
+ },
+ {
+ generator: "rust-types",
+ path: "../patio-to-cranelift/src/gen",
},
{
generator: "rust-transient-0",
diff --git a/hobgoblin/src/patio/instructions.hob b/hobgoblin/src/patio/instructions.hob
index c6f33976..97571a35 100644
--- a/hobgoblin/src/patio/instructions.hob
+++ b/hobgoblin/src/patio/instructions.hob
@@ -157,6 +157,7 @@ struct PatioMemoryLoad {
field destination: PatioLocalRef;
field pointer: PatioOperand;
field layout: PatioDataLayout;
+ // TODO: should be UInt32
field elementOffsets: List[Int32];
field source: Source;
}
@@ -165,6 +166,7 @@ struct PatioMemoryLoad {
struct PatioMemoryStore {
field pointer: PatioOperand;
field layout: PatioDataLayout;
+ // TODO: should be UInt32
field elementOffsets: List[Int32];
field value: PatioOperand;
field source: Source;
diff --git a/hobgoblin/src/patio/types.hob b/hobgoblin/src/patio/types.hob
index 3155e576..2bd2e47a 100644
--- a/hobgoblin/src/patio/types.hob
+++ b/hobgoblin/src/patio/types.hob
@@ -38,7 +38,7 @@ struct PatioIntType {
// == Data layouts ==
sum PatioDataLayout {
- variant PatioDataLayoutArray;
+ variant PatioDataLayoutArray box;
variant PatioDataLayoutBool;
variant PatioDataLayoutByte;
variant PatioDataLayoutDataPtr;
@@ -50,6 +50,7 @@ sum PatioDataLayout {
struct PatioDataLayoutArray {
field element: PatioDataLayout;
+ // TODO: should be UInt32
field size: Int32;
}
diff --git a/hobgoblin/src/patio/values.hob b/hobgoblin/src/patio/values.hob
index 0e14cf35..dcd303b8 100644
--- a/hobgoblin/src/patio/values.hob
+++ b/hobgoblin/src/patio/values.hob
@@ -27,6 +27,7 @@ sum PatioIntValue {
/// The offset, in bytes, of an offset in a data layout.
struct PatioIntValueByteOffsetOf {
field layout: PatioDataLayout;
+ // TODO: should be UInt32
field elementOffsets: List[Int32];
}