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;