You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by va...@apache.org on 2007/01/11 14:44:54 UTC
svn commit: r495216 -
/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp
Author: varlax
Date: Thu Jan 11 05:44:53 2007
New Revision: 495216
URL: http://svn.apache.org/viewvc?view=rev&rev=495216
Log:
Applied HARMONY-2325 [drlvm][jit][opt] Inst::getPureDefProperty method works incorrectly with extended instruction form.
Tested on SLES9@ia32
Modified:
harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp?view=diff&rev=495216&r1=495215&r2=495216
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32Inst.cpp Thu Jan 11 05:44:53 2007
@@ -341,13 +341,15 @@
bool Inst::getPureDefProperty() const {
if (getProperties() & Properties_PureDef) {
+ assert(getOpndCount(OpndRole_InstLevel|OpndRole_Use)==2);
Opnd * use = NULL;
for (uint32 i=0, n=getOpndCount(); i<n; i++){
- if(!use) {
- use = getOpnd(i);
- } else if (getOpndRoles(i)&OpndRole_Use) {
- assert(getOpndCount(OpndRole_InstLevel|OpndRole_Use)==2);
- return use == getOpnd(i);
+ if (getOpndRoles(i)&OpndRole_Use) {
+ if(!use) {
+ use = getOpnd(i);
+ } else {
+ return use == getOpnd(i);
+ }
}
}
}