You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by mf...@apache.org on 2008/01/26 15:29:31 UTC
svn commit: r615453 - in /harmony/enhanced/drlvm/trunk/vm: em/src/
jitrino/config/em64t/ jitrino/config/ia32/ jitrino/src/codegenerator/ia32/
Author: mfursov
Date: Sat Jan 26 06:29:29 2008
New Revision: 615453
URL: http://svn.apache.org/viewvc?rev=615453&view=rev
Log:
Fix for HARMONY-5417 [drlvm][em] chain filters should accept both '::' and '.' class/method delimiters
Fix for HARMONY-5425 [drlvm][jit][opt] Spillgen ignores initial constraints
Modified:
harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.cpp
harmony/enhanced/drlvm/trunk/vm/em/src/MTable.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf
harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf
harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf
harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf
harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.cpp?rev=615453&r1=615452&r2=615453&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/em/src/DrlEMImpl.cpp Sat Jan 26 06:29:29 2008
@@ -549,7 +549,7 @@
signature = method_get_descriptor(mh);
std::ostringstream msg;
msg <<"EM: compile start:["<<step->jitName.c_str()<<" n="<<n<<"] "
- <<className<<"::"<<methodName<<signature;
+ <<className<<"."<<methodName<<signature;
INFO2(step->catName.c_str(), msg.str().c_str());
}
@@ -558,7 +558,7 @@
if (step->loggingEnabled) {
std::ostringstream msg;
msg << "EM: compile done:["<<step->jitName.c_str()<<" n="<<n<<": "
- <<(res ==JIT_SUCCESS ? "OK" : "FAILED")<<"] "<<className<<"::"<<methodName<<signature;
+ <<(res ==JIT_SUCCESS ? "OK" : "FAILED")<<"] "<<className<<"."<<methodName<<signature;
INFO2(step->catName.c_str(), msg.str().c_str());
}
@@ -785,7 +785,7 @@
signature = method_get_descriptor(mp->mh);
std::ostringstream msg;
msg <<"EM: recompile start:["<<nextStep->jitName.c_str()<<" n="<<n<<"] "
- <<className<<"::"<<methodName<<signature;
+ <<className<<"."<<methodName<<signature;
INFO2(nextStep->catName.c_str(), msg.str().c_str());
}
@@ -794,7 +794,7 @@
if (nextStep->loggingEnabled) {
std::ostringstream msg;
msg << "EM: recompile done:["<<nextStep->jitName.c_str()<<" n="<<n<<": "
- <<(res ==JIT_SUCCESS ? "OK" : "FAILED")<<"] "<<className<<"::"<<methodName<<signature;
+ <<(res ==JIT_SUCCESS ? "OK" : "FAILED")<<"] "<<className<<"."<<methodName<<signature;
INFO2(nextStep->catName.c_str(), msg.str().c_str());
}
Modified: harmony/enhanced/drlvm/trunk/vm/em/src/MTable.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/em/src/MTable.cpp?rev=615453&r1=615452&r2=615453&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/em/src/MTable.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/em/src/MTable.cpp Sat Jan 26 06:29:29 2008
@@ -78,16 +78,21 @@
}
} else {
std::string className, methodName, signature;
- size_t classEndPos=filterString.find("::");
+ size_t separatorWidth=1;
+ size_t classEndPos = filterString.find(".");
+ if (classEndPos == std::string::npos) {
+ separatorWidth = 2;
+ classEndPos = filterString.find("::");
+ }
if (classEndPos == std::string::npos) {
className = filterString;
} else {
className = filterString.substr(0, classEndPos);
- size_t methodEndPos = filterString.find("(", classEndPos+2);
+ size_t methodEndPos = filterString.find("(", classEndPos+separatorWidth);
if (methodEndPos==std::string::npos) {
- methodName = filterString.substr(classEndPos+2);
+ methodName = filterString.substr(classEndPos+separatorWidth);
} else {
- methodName = filterString.substr(classEndPos+2, methodEndPos - (classEndPos+2));
+ methodName = filterString.substr(classEndPos+separatorWidth, methodEndPos - (classEndPos+separatorWidth));
signature = filterString.substr(methodEndPos);
}
}
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf?rev=615453&r1=615452&r2=615453&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/client.emconf Sat Jan 26 06:29:29 2008
@@ -23,7 +23,7 @@
# JET_CLINIT compiles only <clinit> methods, all other methods compiled with JET_DPGO
# which does entry/backedge instrumentation
-chain1.filter=+::<clinit>
+chain1.filter=+.<clinit>
chain1.filter=-
JET_CLINIT.file=jitrino
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf?rev=615453&r1=615452&r2=615453&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/em64t/server.emconf Sat Jan 26 06:29:29 2008
@@ -27,7 +27,7 @@
chain1.jits=JET_CLINIT
chain2.jits=SD1_OPT,SD2_OPT
-chain1.filter=+::<clinit>
+chain1.filter=+.<clinit>
chain1.filter=-
JET_CLINIT.file=jitrino
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf?rev=615453&r1=615452&r2=615453&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/client.emconf Sat Jan 26 06:29:29 2008
@@ -23,7 +23,7 @@
# JET_CLINIT compiles only <clinit> methods, all other methods compiled with JET_DPGO
# which does entry/backedge instrumentation
-chain1.filter=+::<clinit>
+chain1.filter=+.<clinit>
chain1.filter=-
JET_CLINIT.file=jitrino
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf?rev=615453&r1=615452&r2=615453&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/config/ia32/server.emconf Sat Jan 26 06:29:29 2008
@@ -27,7 +27,7 @@
chain1.jits=JET_CLINIT
chain2.jits=SD1_OPT,SD2_OPT
-chain1.filter=+::<clinit>
+chain1.filter=+.<clinit>
chain1.filter=-
JET_CLINIT.file=jitrino
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp?rev=615453&r1=615452&r2=615453&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32SpillGen.cpp Sat Jan 26 06:29:29 2008
@@ -1184,6 +1184,7 @@
for (Inst::Opnds::iterator it = opnds.begin(); it != opnds.end(); it = opnds.next(it), ++itx)
{
ox = inst->getOpnd(it);
+ RegMask oxMask = ox->getConstraint(Opnd::ConstraintKind_Initial).getMask();
RegMask rm = getRegMaskConstr(ox, cr);
if ((mk & rm) != 0)
@@ -1195,7 +1196,7 @@
unsigned mask = (1<<inst->getOpndCount())-1;
Constraint cx = ((Inst*)inst)->getConstraint(it, mask, OpndSize_Default);
RegMask used = usedRegs(opline.instx, opline.idx, need_load);
- RegMask usable = (cx & registers[opline.idx]).getMask() & ~mk;
+ RegMask usable = (cx & registers[opline.idx]).getMask() & ~mk & oxMask;
if ((usable & ~used) != 0)
{
rx = findFree(usable & ~used, opline.idx, opline.instx);