From 04ff08dbf682fdda4e70d940174fe18268aa806c Mon Sep 17 00:00:00 2001 From: jzhou Date: Tue, 5 Jun 2012 02:23:17 +0000 Subject: [PATCH] Initialize class objects first as in the staic blocks there might be references to the class objects --- Robust/src/IR/Flat/BuildCode.java | 3 +-- Robust/src/IR/Flat/BuildCodeMGC.java | 2 +- Robust/src/IR/Flat/BuildCodeMultiCore.java | 2 +- Robust/src/IR/Flat/BuildCodeTran.java | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Robust/src/IR/Flat/BuildCode.java b/Robust/src/IR/Flat/BuildCode.java index c18d65f2..11e4b0cc 100644 --- a/Robust/src/IR/Flat/BuildCode.java +++ b/Robust/src/IR/Flat/BuildCode.java @@ -428,9 +428,8 @@ public class BuildCode { outmethod.println(" ((struct garbagelist *)global_defs_p)->array[i]=NULL;"); outmethod.println(" }"); } - outputStaticBlocks(outmethod); outputClassObjects(outmethod); - + outputStaticBlocks(outmethod); additionalCodeAtTopOfMain(outmethod); for(BuildCodeExtension bcx: extensions) { diff --git a/Robust/src/IR/Flat/BuildCodeMGC.java b/Robust/src/IR/Flat/BuildCodeMGC.java index a88e0cb3..7c81c3d6 100644 --- a/Robust/src/IR/Flat/BuildCodeMGC.java +++ b/Robust/src/IR/Flat/BuildCodeMGC.java @@ -162,8 +162,8 @@ public class BuildCodeMGC extends BuildCode { outmethod.println(" }"); } - outputStaticBlocks(outmethod); outputClassObjects(outmethod); + outputStaticBlocks(outmethod); if ((GENERATEPRECISEGC) || state.MULTICOREGC || state.PMC) { outmethod.println(" struct ArrayObject * stringarray=allocate_newarray(NULL, STRINGARRAYTYPE, argc-1);"); diff --git a/Robust/src/IR/Flat/BuildCodeMultiCore.java b/Robust/src/IR/Flat/BuildCodeMultiCore.java index 16dc93b1..1ca99786 100644 --- a/Robust/src/IR/Flat/BuildCodeMultiCore.java +++ b/Robust/src/IR/Flat/BuildCodeMultiCore.java @@ -386,8 +386,8 @@ public class BuildCodeMultiCore extends BuildCode { outmethod.println(" }"); } - outputStaticBlocks(outmethod); outputClassObjects(outmethod); + outputStaticBlocks(outmethod); outmethod.println("}"); } diff --git a/Robust/src/IR/Flat/BuildCodeTran.java b/Robust/src/IR/Flat/BuildCodeTran.java index 7be13a5c..13214b7d 100644 --- a/Robust/src/IR/Flat/BuildCodeTran.java +++ b/Robust/src/IR/Flat/BuildCodeTran.java @@ -127,8 +127,8 @@ public class BuildCodeTran extends BuildCode { outmethod.println(" }"); } - outputStaticBlocks(outmethod); outputClassObjects(outmethod); + outputStaticBlocks(outmethod); additionalCodeAtTopOfMain(outmethod); if (state.DSM) { -- 2.34.1