changeset 5259:af8958fe5a3a

removed unwind stub from Graal compiled methods as it is only used by C1
author Doug Simon <doug.simon@oracle.com>
date Fri, 20 Apr 2012 14:13:59 +0200
parents 97b1e0ab7442
children 4e4a868c2b2a
files graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/target/amd64/HotSpotAMD64Backend.java src/share/vm/graal/graalCodeInstaller.cpp src/share/vm/graal/graalCodeInstaller.hpp src/share/vm/graal/graalCompilerToVM.cpp
diffstat 5 files changed, 1 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java	Fri Apr 20 14:12:42 2012 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java	Fri Apr 20 14:13:59 2012 +0200
@@ -98,7 +98,6 @@
     public long accessFieldStub;
     public long resolveStaticCallStub;
     public long inlineCacheMissStub;
-    public long unwindExceptionStub;
     public long handleExceptionStub;
     public long handleDeoptStub;
     public long monitorEnterStub;
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/target/amd64/HotSpotAMD64Backend.java	Fri Apr 20 14:12:42 2012 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/target/amd64/HotSpotAMD64Backend.java	Fri Apr 20 14:13:59 2012 +0200
@@ -45,8 +45,6 @@
 import com.oracle.max.asm.target.amd64.AMD64Assembler.ConditionFlag;
 import com.oracle.max.asm.target.amd64.*;
 import com.oracle.max.cri.ci.*;
-import com.oracle.max.cri.ci.CiCallingConvention.Type;
-import com.oracle.max.cri.ci.CiRegister.RegisterFlag;
 import com.oracle.max.cri.ri.*;
 import com.oracle.max.cri.xir.*;
 
@@ -200,20 +198,6 @@
 
         boolean frameOmitted = tasm.frameContext == null;
         if (!frameOmitted) {
-            CiRegister thread = r15;
-            CiRegister exceptionOop = regConfig.getCallingConventionRegisters(Type.RuntimeCall, RegisterFlag.CPU)[0];
-            Label unwind = new Label();
-            asm.bind(unwind);
-            tasm.recordMark(MARK_UNWIND_ENTRY);
-            CiAddress exceptionOopField = new CiAddress(CiKind.Object, thread.asValue(), config.threadExceptionOopOffset);
-            CiAddress exceptionPcField = new CiAddress(CiKind.Object, thread.asValue(), config.threadExceptionPcOffset);
-            asm.movq(exceptionOop, exceptionOopField);
-            asm.movslq(exceptionOopField, 0);
-            asm.movslq(exceptionPcField, 0);
-
-            AMD64Call.directCall(tasm, asm, config.unwindExceptionStub, null);
-            AMD64Call.shouldNotReachHere(tasm, asm);
-
             tasm.recordMark(MARK_EXCEPTION_HANDLER_ENTRY);
             AMD64Call.directCall(tasm, asm, config.handleExceptionStub, null);
             AMD64Call.shouldNotReachHere(tasm, asm);
--- a/src/share/vm/graal/graalCodeInstaller.cpp	Fri Apr 20 14:12:42 2012 +0200
+++ b/src/share/vm/graal/graalCodeInstaller.cpp	Fri Apr 20 14:13:59 2012 +0200
@@ -815,9 +815,6 @@
       case MARK_OSR_ENTRY:
         _offsets.set_value(CodeOffsets::OSR_Entry, pc_offset);
         break;
-      case MARK_UNWIND_ENTRY:
-        _offsets.set_value(CodeOffsets::UnwindHandler, pc_offset);
-        break;
       case MARK_EXCEPTION_HANDLER_ENTRY:
         _offsets.set_value(CodeOffsets::Exceptions, pc_offset);
         break;
--- a/src/share/vm/graal/graalCodeInstaller.hpp	Fri Apr 20 14:12:42 2012 +0200
+++ b/src/share/vm/graal/graalCodeInstaller.hpp	Fri Apr 20 14:13:59 2012 +0200
@@ -31,7 +31,7 @@
     MARK_VERIFIED_ENTRY             = 0x0001,
     MARK_UNVERIFIED_ENTRY           = 0x0002,
     MARK_OSR_ENTRY                  = 0x0003,
-    MARK_UNWIND_ENTRY               = 0x0004,
+  //MARK_UNWIND_ENTRY               = 0x0004,
     MARK_EXCEPTION_HANDLER_ENTRY    = 0x0005,
     MARK_DEOPT_HANDLER_ENTRY        = 0x0006,
     MARK_STATIC_CALL_STUB           = 0x1000,
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Fri Apr 20 14:12:42 2012 +0200
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Fri Apr 20 14:13:59 2012 +0200
@@ -824,7 +824,6 @@
   set_long(env, config, "accessFieldStub", VmIds::addStub(Runtime1::entry_for(Runtime1::access_field_patching_id)));
   set_long(env, config, "resolveStaticCallStub", VmIds::addStub(SharedRuntime::get_resolve_static_call_stub()));
   set_long(env, config, "inlineCacheMissStub", VmIds::addStub(SharedRuntime::get_ic_miss_stub()));
-  set_long(env, config, "unwindExceptionStub", VmIds::addStub(Runtime1::entry_for(Runtime1::graal_unwind_exception_call_id)));
   set_long(env, config, "handleExceptionStub", VmIds::addStub(Runtime1::entry_for(Runtime1::handle_exception_nofpu_id)));
   set_long(env, config, "handleDeoptStub", VmIds::addStub(SharedRuntime::deopt_blob()->unpack()));
   set_long(env, config, "monitorEnterStub", VmIds::addStub(Runtime1::entry_for(Runtime1::monitorenter_id)));