Mercurial > hg > truffle
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)));