boolean primConfWrite=false;
boolean objConfRead=false;
boolean objConfWrite=false;
+ boolean descendantConflict=false;
//Direct Primitives Test
for(String field: curr.primitiveConflictingFields.keySet()) {
}
}
+ if (objConfRead) {
+ descendantConflict=curr.decendantsConflict();
+ }
+
int index=0;
if (taint.isRBlockTaint()) {
FlatSESEEnterNode fsese=taint.getSESE();
int allocSiteID = connectedHRHash.get(taint).getWaitingQueueBucketNum(curr);
int traverserID = doneTaints.get(taint);
currCase.append(" int tmpkey"+depth+"=rcr_generateKey("+prefix+");\n");
- if (objConfRead)
+ if (descendantConflict)
currCase.append(" int tmpvar"+depth+"=rcr_WTWRITEBINCASE(allHashStructures["+heaprootNum+"], tmpkey"+depth+", "+tasksrc+strrcr+index+");\n");
else
currCase.append(" int tmpvar"+depth+"=rcr_WRITEBINCASE(allHashStructures["+heaprootNum+"], tmpkey"+depth+", "+ tasksrc+strrcr+index+");\n");
int allocSiteID = connectedHRHash.get(taint).getWaitingQueueBucketNum(curr);
int traverserID = doneTaints.get(taint);
currCase.append(" int tmpkey"+depth+"=rcr_generateKey("+prefix+");\n");
- if (objConfRead)
+ if (descendantConflict)
currCase.append(" int tmpvar"+depth+"=rcr_WTREADBINCASE(allHashStructures["+heaprootNum+"], tmpkey"+depth+", "+tasksrc+strrcr+index+");\n");
else
currCase.append(" int tmpvar"+depth+"=rcr_READBINCASE(allHashStructures["+heaprootNum+"], tmpkey"+depth+", "+tasksrc+strrcr+index+");\n");