From: <cap...@us...> - 2007-04-18 14:34:19
|
Revision: 68 http://svn.sourceforge.net/pearcolator/?rev=68&view=rev Author: captain5050 Date: 2007-04-18 07:34:18 -0700 (Wed, 18 Apr 2007) Log Message: ----------- Update IA32.rules in Jikes RVM to reflect BooleanCmp changes Modified Paths: -------------- rvmroot.patch Modified: rvmroot.patch =================================================================== --- rvmroot.patch 2007-04-18 14:31:50 UTC (rev 67) +++ rvmroot.patch 2007-04-18 14:34:18 UTC (rev 68) @@ -1,6 +1,6 @@ Index: build.xml =================================================================== ---- build.xml (revision 11998) +--- build.xml (revision 12035) +++ build.xml (working copy) @@ -803,8 +803,8 @@ debugLevel="lines,source" @@ -45,7 +45,7 @@ <!-- * Section for building the boot image * --> Index: rvm/src-generated/opt-ir/InstructionFormatList.dat =================================================================== ---- rvm/src-generated/opt-ir/InstructionFormatList.dat (revision 11995) +--- rvm/src-generated/opt-ir/InstructionFormatList.dat (revision 12035) +++ rvm/src-generated/opt-ir/InstructionFormatList.dat (working copy) @@ -149,6 +149,14 @@ "U Cond OPT_ConditionOperand" "U BranchProfile OPT_BranchProfileOperand" @@ -64,7 +64,7 @@ "D Result OPT_RegisterOperand" "U Val1 OPT_Operand" "U Val2 OPT_Operand" \ Index: rvm/src-generated/opt-ir/OperatorList.dat =================================================================== ---- rvm/src-generated/opt-ir/OperatorList.dat (revision 11995) +--- rvm/src-generated/opt-ir/OperatorList.dat (revision 12035) +++ rvm/src-generated/opt-ir/OperatorList.dat (working copy) @@ -1255,6 +1255,20 @@ @@ -87,9 +87,49 @@ # Load a singed byte # NOTE: Because of our strategy of using explict guard instructions, there is no # way in the HIR/LIR that the actual load instruction can except. +Index: rvm/src-generated/opt-burs/ia32/IA32.rules +=================================================================== +--- rvm/src-generated/opt-burs/ia32/IA32.rules (revision 12035) ++++ rvm/src-generated/opt-burs/ia32/IA32.rules (working copy) +@@ -575,8 +575,9 @@ + boolcmp: BOOLEAN_CMP_INT(r,riv) + 13 + EMIT_INSTRUCTION +-pushCOND(BooleanCmp.getCond(P(p))); \ +-EMIT(MIR_Compare.mutate(P(p), IA32_CMP, BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p)))); ++OPT_ConditionOperand cond = BooleanCmp.getCond(P(p)); \ ++pushCOND(cond); \ ++EMIT_Compare(P(p), cond, BooleanCmp.getVal1(P(p)), BooleanCmp.getVal2(P(p))); + + r: BOOLEAN_CMP_INT(r,INT_CONSTANT) + VR(p) == 0 && EQ_NE(BooleanCmp.getCond(P(p)))?37:INFINITE +@@ -662,8 +663,9 @@ + boolcmp: BOOLEAN_CMP_INT(load32,riv) + 15 + EMIT_INSTRUCTION +-pushCOND(BooleanCmp.getCond(P(p))); \ +-EMIT(MIR_Compare.mutate(PL(p), IA32_CMP, consumeMO(), BooleanCmp.getVal2(P(p)))); ++OPT_ConditionOperand cond = BooleanCmp.getCond(P(p)); \ ++pushCOND(cond); \ ++EMIT_Compare(P(p), cond, consumeMO(), BooleanCmp.getVal2(P(p))); + + r: BOOLEAN_CMP_INT(r,load32) + 41 +@@ -675,8 +677,9 @@ + boolcmp: BOOLEAN_CMP_INT(r,load32) + 15 + EMIT_INSTRUCTION +-pushCOND(BooleanCmp.getCond(P(p))); \ +-EMIT(MIR_Compare.mutate(PR(p), IA32_CMP, BooleanCmp.getVal1(P(p)), consumeMO())); ++OPT_ConditionOperand cond = BooleanCmp.getCond(P(p)); \ ++pushCOND(cond); \ ++EMIT_Compare(P(p), cond, BooleanCmp.getVal1(P(p)), consumeMO()); + + stm: BYTE_STORE(boolcmp, OTHER_OPERAND(riv,riv)) + 15 Index: rvm/src/OptDummy.java =================================================================== ---- rvm/src/OptDummy.java (revision 11995) +--- rvm/src/OptDummy.java (revision 12035) +++ rvm/src/OptDummy.java (working copy) @@ -20,4 +20,5 @@ static org.jikesrvm.compilers.opt.OPT_Compiler a; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |