aboutsummaryrefslogtreecommitdiff
path: root/backendC/CleanCompilerSources
diff options
context:
space:
mode:
authorjohnvg2013-04-09 14:13:40 +0000
committerjohnvg2013-04-09 14:13:40 +0000
commitfa65e3028e0268ad32b005cd379bccf9a7b547b9 (patch)
tree259ff2d516cc1f69bc7e4fc8576726a1a4627719 /backendC/CleanCompilerSources
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
Diffstat (limited to 'backendC/CleanCompilerSources')
-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);
}
}