aboutsummaryrefslogtreecommitdiff
path: root/hobgoblin/src
diff options
context:
space:
mode:
Diffstat (limited to 'hobgoblin/src')
-rw-r--r--hobgoblin/src/patio/instructions.hob2
-rw-r--r--hobgoblin/src/patio/types.hob3
-rw-r--r--hobgoblin/src/patio/values.hob1
3 files changed, 5 insertions, 1 deletions
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];
}