From 789562fc2efd45ba810a85fbe4f2e804cec57b06 Mon Sep 17 00:00:00 2001 From: bdemsky Date: Tue, 19 Aug 2008 22:58:25 +0000 Subject: [PATCH] bug fix i think --- .../src/Analysis/Locality/GenerateConversions.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/Robust/src/Analysis/Locality/GenerateConversions.java b/Robust/src/Analysis/Locality/GenerateConversions.java index ff101120..d6425adf 100644 --- a/Robust/src/Analysis/Locality/GenerateConversions.java +++ b/Robust/src/Analysis/Locality/GenerateConversions.java @@ -47,6 +47,9 @@ public class GenerateConversions { FlatNode fn=toprocess.iterator().next(); toprocess.remove(fn); boolean isatomic=atomictab.get(fn).intValue()>0; + if (!isatomic && fn.kind()!=FlatAtomicExitNode)//Don't process past the bounds of a transaction + continue; + Hashtable nodetemptab=temptab.get(fn); List reads=Arrays.asList(fn.readsTemps()); @@ -72,20 +75,14 @@ public class GenerateConversions { tempset.add(tnp); continue; } - if (reads.contains(tnp.getTemp())&&tnp.getNode()!=null) { - //Value actually is read... - nodetoconvs.get(tnp.getNode()).add(tnp.getTemp()); - } if (writes.contains(tnp.getTemp())) //value overwritten continue; if (!isatomic&&fn.kind()==FKind.FlatAtomicExitNode) { //Create new node and tag it with this exit if (tnp.getNode()==null) { - TempNodePair tnp2=new TempNodePair(tnp.getTemp()); - tnp2.setNode(fn); - tempset.add(tnp2); + nodetoconvs.get(fn).add(tnp.getTemp());//have to hide cached copies from gc } else - tempset.add(tnp); + throw new Error(); } else tempset.add(tnp); } -- 2.34.1