[Fb-contrib-commit] fb-contrib/src/com/mebigfatguy/fbcontrib/detect ParallelLists.java,1.3,1.4
Brought to you by:
dbrosius
From: Dave B. <dbr...@us...> - 2005-09-25 06:07:10
|
Update of /cvsroot/fb-contrib/fb-contrib/src/com/mebigfatguy/fbcontrib/detect In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2573/src/com/mebigfatguy/fbcontrib/detect Modified Files: ParallelLists.java Log Message: if the register changes inbetween the two lists, clear the list for the reg Index: ParallelLists.java =================================================================== RCS file: /cvsroot/fb-contrib/fb-contrib/src/com/mebigfatguy/fbcontrib/detect/ParallelLists.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ParallelLists.java 25 Sep 2005 05:46:46 -0000 1.3 +++ ParallelLists.java 25 Sep 2005 06:07:02 -0000 1.4 @@ -90,6 +90,9 @@ } } else if ((seen >= IFEQ) && (seen <= RETURN)) { indexToFieldMap.clear(); + } else if ((seen == ISTORE) || (seen == IINC) || ((seen >= ISTORE_0) && (seen <= ISTORE_3))) { + int reg = getIntOpRegister(seen); + indexToFieldMap.remove(new Integer(reg)); } else if ((seen >= IALOAD) && (seen <= SALOAD)) { checkParms(); } @@ -98,6 +101,12 @@ } } + private int getIntOpRegister(int seen) { + if ((seen == ISTORE) || (seen == IINC)) + return getRegisterOperand(); + return seen - ISTORE_0; + } + private void checkParms() { if (stack.getStackDepth() >= 2) { OpcodeStack.Item index = stack.getStackItem(0); |