aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjohnvg2013-04-09 14:13:40 +0000
committerjohnvg2013-04-09 14:13:40 +0000
commitfa65e3028e0268ad32b005cd379bccf9a7b547b9 (patch)
tree259ff2d516cc1f69bc7e4fc8576726a1a4627719
parentincrease heap size of the compiler (diff)
in lazy record selector offsets for the garbage collector, swap the offsets,
because the code generator swaps the fields in a FILE node git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2230 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r--backendC/CleanCompilerSources/instructions.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/backendC/CleanCompilerSources/instructions.c b/backendC/CleanCompilerSources/instructions.c
index 2a97654..6234be1 100644
--- a/backendC/CleanCompilerSources/instructions.c
+++ b/backendC/CleanCompilerSources/instructions.c
@@ -3328,6 +3328,14 @@ static void print_result_descriptor_and_offsets (StateS field_state,int a_pos,in
} else
offset2=0;
+ if (field_state.state_object==FileObj){
+ /* the code generator stores the fields in a FILE node in reversed order */
+ int old_offset1;
+
+ old_offset1=offset1;
+ offset1=offset2;
+ offset2=old_offset1;
+ }
FPrintF (OutFile, "%s %d %d ",result_descriptor_name,offset1,offset2);
}
}