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/16 13:39:07 UTC
svn commit: r496670 - in /harmony/enhanced/drlvm/trunk/vm:
jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp
jitrino/src/codegenerator/ia32/Ia32StackInfo.h
jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp vmcore/src/jit/compile.cpp
Author: varlax
Date: Tue Jan 16 04:39:06 2007
New Revision: 496670
URL: http://svn.apache.org/viewvc?view=rev&rev=496670
Log:
Applied HARMONY-2981 [drlvm][jit][opt]SPECjbb2005 silently exit on EM64T (OPT mode)
Tested on SUSE9@ia32, SUSE9@x64
Modified:
harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.h
harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp?view=diff&rev=496670&r1=496669&r2=496670
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32RuntimeInterface.cpp Tue Jan 16 04:39:06 2007
@@ -86,7 +86,7 @@
return true;
} else if (Log::isLogEnabled(LogStream::RT)) {
methName = method->getName();
- Log::log(LogStream::RT) << "Byte code for method: " << methName << " IP = " << native_pc
+ Log::log(LogStream::RT) << "Native code for method: " << methName << " BC = " << bc_pc
<< " not found " << std::endl;
}
return false;
@@ -106,7 +106,7 @@
return true;
} else if (Log::isLogEnabled(LogStream::RT)) {
methName = method->getName();
- Log::log(LogStream::RT) << "Byte code for method: " << methName << " IP = " << native_pc
+ Log::log(LogStream::RT) << "Native code for method: " << methName << " BC = " << bc_pc
<< " not found " << std::endl;
}
return false;
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.h?view=diff&rev=496670&r1=496669&r2=496670
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackInfo.h Tue Jan 16 04:39:06 2007
@@ -151,21 +151,21 @@
uint32 getFrameSize() const {return frameSize;}
- int getRetEIPOffset() const {return eipOffset;}
+ int32 getRetEIPOffset() const {return eipOffset;}
uint32 getIntCalleeMask() const {return icalleeMask;}
- int getIntCalleeOffset() const {return icalleeOffset;}
+ int32 getIntCalleeOffset() const {return icalleeOffset;}
uint32 getFPCalleeMask() const {return fcallee;}
- int getFPCalleeOffset() const {return foffset;}
+ int32 getFPCalleeOffset() const {return foffset;}
uint32 getApplCalleeMask() const {return acallee;}
- int getApplCalleeOffset() const {return aoffset;}
+ int32 getApplCalleeOffset() const {return aoffset;}
- int getLocalOffset() const {return localOffset;}
+ int32 getLocalOffset() const {return localOffset;}
uint32 getOffsetOfThis() const {return offsetOfThis;}
@@ -182,28 +182,28 @@
private:
POINTER_SIZE_INT byteSize;
- uint32 hashTableSize;
- uint32 frameSize;
+ uint32 hashTableSize;
+ int32 frameSize;
const char * itraceMethodExitString;
- int eipOffset;
+ int32 eipOffset;
uint32 icalleeMask;
- int icalleeOffset;
+ int32 icalleeOffset;
uint32 fcallee;
- int foffset;
+ int32 foffset;
uint32 acallee;
- int aoffset;
+ int32 aoffset;
- int localOffset;
+ int32 localOffset;
DepthMap * stackDepthInfo;
uint32 calleeSaveRegsMask;
- int stackDepth;
+ int32 stackDepth;
uint32 offsetOfThis;
friend class StackLayouter;
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp?view=diff&rev=496670&r1=496669&r2=496670
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/codegenerator/ia32/Ia32StackLayout.cpp Tue Jan 16 04:39:06 2007
@@ -102,35 +102,35 @@
*/
void createEpilog();
- int getLocalBase(){ return localBase; }
- int getLocalEnd(){ return localEnd; }
- int getApplCalleeBase(){ return acalleeBase; }
- int getApplCalleeEnd(){ return acalleeEnd; }
- int getFloatCalleeBase(){ return fcalleeBase; }
- int getFloatCalleeEnd(){ return fcalleeEnd; }
- int getIntCalleeBase(){ return icalleeBase; }
- int getIntCalleeEnd(){ return icalleeEnd; }
- int getRetEIPBase(){ return retEIPBase; }
- int getRetEIPEnd(){ return retEIPEnd; }
- int getInArgBase(){ return inargBase; }
- int getInArgEnd(){ return inargEnd; }
- uint32 getFrameSize(){ return frameSize; }
+ int32 getLocalBase(){ return localBase; }
+ int32 getLocalEnd(){ return localEnd; }
+ int32 getApplCalleeBase(){ return acalleeBase; }
+ int32 getApplCalleeEnd(){ return acalleeEnd; }
+ int32 getFloatCalleeBase(){ return fcalleeBase; }
+ int32 getFloatCalleeEnd(){ return fcalleeEnd; }
+ int32 getIntCalleeBase(){ return icalleeBase; }
+ int32 getIntCalleeEnd(){ return icalleeEnd; }
+ int32 getRetEIPBase(){ return retEIPBase; }
+ int32 getRetEIPEnd(){ return retEIPEnd; }
+ int32 getInArgBase(){ return inargBase; }
+ int32 getInArgEnd(){ return inargEnd; }
+ int32 getFrameSize(){ return frameSize; }
uint32 getOutArgSize(){ return outArgSize; }
- int localBase;
- int localEnd;
- int fcalleeBase;
- int fcalleeEnd;
- int acalleeBase;
- int acalleeEnd;
- int icalleeBase;
- int icalleeEnd;
+ int32 localBase;
+ int32 localEnd;
+ int32 fcalleeBase;
+ int32 fcalleeEnd;
+ int32 acalleeBase;
+ int32 acalleeEnd;
+ int32 icalleeBase;
+ int32 icalleeEnd;
- int retEIPBase;
- int retEIPEnd;
- int inargBase;
- int inargEnd;
- uint32 frameSize;
+ int32 retEIPBase;
+ int32 retEIPEnd;
+ int32 inargBase;
+ int32 inargEnd;
+ int32 frameSize;
uint32 outArgSize;
#ifdef _EM64T_
bool stackCorrection;
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp?view=diff&rev=496670&r1=496669&r2=496670
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/compile.cpp Tue Jan 16 04:39:06 2007
@@ -687,6 +687,7 @@
{
assert(hythread_is_suspend_enabled());
jthrowable old_exc = exn_get();
+ exn_clear();
const char* c = method->get_class()->get_name()->bytes;
const char* m = method->get_name()->bytes;