diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-12-16 13:47:43 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-12-16 13:47:43 +0000 |
| commit | 355a31d207a28d66a03351498fefe33b4c358c95 (patch) | |
| tree | 6b083deb2142cf1dc77d437ec014e9efb217a40c /src/main/java | |
| parent | 65f831f835bca4c75273a4a2e6b833f62196b349 (diff) | |
Make structs GC objects
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/org/shedlang/compiler/patio/PatioCodeGenStructs.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenStructs.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenStructs.java index 67461ff6..36274023 100644 --- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenStructs.java +++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenStructs.java @@ -166,9 +166,9 @@ public class PatioCodeGenStructs { } private static PatioDataLayout unknownStructDataLayout() { - return PatioDataLayouts.struct(List.of( + return PatioCodeGenGc.gcObjectDataLayout(PatioDataLayouts.struct(List.of( PatioDataLayouts.INT - )); + ))); } private static PatioDataLayout structDataLayout( @@ -177,18 +177,19 @@ public class PatioCodeGenStructs { ) { var structTypeInfo = context.structTypeInfo(type); - return PatioDataLayouts.struct(List.of( + return PatioCodeGenGc.gcObjectDataLayout(PatioDataLayouts.struct(List.of( PatioDataLayouts.INT, PatioDataLayouts.struct(Lists.repeat( PatioDataLayouts.INT, structTypeInfo.fieldCount() )) - )); + ))); } - private static final List<Integer> TAG_OFFSET = List.of(0); + private static final List<Integer> TAG_OFFSET + = PatioCodeGenGc.gcObjectOffset(List.of(0)); private static List<Integer> fieldOffset(int fieldIndex) { - return List.of(1, fieldIndex); + return PatioCodeGenGc.gcObjectOffset(List.of(1, fieldIndex)); } } |
