From e647413d3edcb20524f021e82db36acea95cb870 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Sat, 15 Sep 2007 08:00:19 +0000 Subject: [PATCH] check in another bug fix...apparently I started off with the objheader's being partially compensated in the compiler...instead, we'll just do this in the runtime --- Robust/src/IR/Flat/BuildCode.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Robust/src/IR/Flat/BuildCode.java b/Robust/src/IR/Flat/BuildCode.java index cc9b78fb..6f9cea8b 100644 --- a/Robust/src/IR/Flat/BuildCode.java +++ b/Robust/src/IR/Flat/BuildCode.java @@ -1658,7 +1658,7 @@ public class BuildCode { Integer status=locality.getNodePreTempInfo(lb,ffn).get(ffn.getSrc()); if (status==LocalityAnalysis.GLOBAL) { String field=ffn.getField().getSafeSymbol(); - String src="((struct "+ffn.getSrc().getType().getSafeSymbol()+" *)((unsigned int)"+generateTemp(fm, ffn.getSrc(),lb)+"+sizeof(objheader_t)))"; + String src=generateTemp(fm, ffn.getSrc(),lb); String dst=generateTemp(fm, ffn.getDst(),lb); if (ffn.getField().getType().isPtr()|| @@ -1713,7 +1713,7 @@ public class BuildCode { output.println("int srcoid="+src+"->"+oidstr+";"); } if (statusdst.equals(LocalityAnalysis.GLOBAL)) { - String glbdst="((struct "+fsfn.getDst().getType().getSafeSymbol()+" *)((unsigned int)"+dst+" +sizeof(objheader_t)))"; + String glbdst=dst; //mark it dirty output.println("*((unsigned int *)&("+dst+"->___localcopy___))|=DIRTY;"); if (srcglobal) { -- 2.34.1