Mercurial > hg > graal-jvmci-8
changeset 9750:23a047fba2df
removed redundant methods
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Thu, 16 May 2013 21:46:15 +0200 |
parents | 5650637a3867 |
children | ff9829c21f21 |
files | graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java |
diffstat | 2 files changed, 24 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java Thu May 16 21:34:03 2013 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java Thu May 16 21:46:15 2013 +0200 @@ -65,10 +65,10 @@ register(new HotSpotForeignCallLinkage(EXCEPTION_HANDLER_IN_CALLER, JUMP_ADDRESS, PRESERVES_REGISTERS, LEAF, exceptionCc)); // The crypto stubs do callee saving - registerLeafCall(ENCRYPT_BLOCK, config.aescryptEncryptBlockStub, NativeCall, PRESERVES_REGISTERS); - registerLeafCall(DECRYPT_BLOCK, config.aescryptDecryptBlockStub, NativeCall, PRESERVES_REGISTERS); - registerLeafCall(ENCRYPT, config.cipherBlockChainingEncryptAESCryptStub, NativeCall, PRESERVES_REGISTERS); - registerLeafCall(DECRYPT, config.cipherBlockChainingDecryptAESCryptStub, NativeCall, PRESERVES_REGISTERS); + registerForeignCall(ENCRYPT_BLOCK, config.aescryptEncryptBlockStub, NativeCall, PRESERVES_REGISTERS, LEAF); + registerForeignCall(DECRYPT_BLOCK, config.aescryptDecryptBlockStub, NativeCall, PRESERVES_REGISTERS, LEAF); + registerForeignCall(ENCRYPT, config.cipherBlockChainingEncryptAESCryptStub, NativeCall, PRESERVES_REGISTERS, LEAF); + registerForeignCall(DECRYPT, config.cipherBlockChainingDecryptAESCryptStub, NativeCall, PRESERVES_REGISTERS, LEAF); convertSnippets = new AMD64ConvertSnippets.Templates(this, replacements, graalRuntime.getTarget()); super.registerReplacements(replacements);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Thu May 16 21:34:03 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Thu May 16 21:46:15 2013 +0200 @@ -69,6 +69,7 @@ import com.oracle.graal.graph.*; import com.oracle.graal.hotspot.*; import com.oracle.graal.hotspot.HotSpotForeignCallLinkage.RegisterEffect; +import com.oracle.graal.hotspot.HotSpotForeignCallLinkage.Transition; import com.oracle.graal.hotspot.bridge.*; import com.oracle.graal.hotspot.bridge.CompilerToVM.CodeInstallResult; import com.oracle.graal.hotspot.nodes.*; @@ -192,28 +193,14 @@ } /** - * Registers the details for a call to a runtime C/C++ function. - */ - protected ForeignCallLinkage registerCRuntimeCall(ForeignCallDescriptor descriptor, long address) { - Class<?> resultType = descriptor.getResultType(); - assert resultType.isPrimitive() || Word.class.isAssignableFrom(resultType) : "C runtime call must return object thread local storage: " + descriptor; - return register(HotSpotForeignCallLinkage.create(descriptor, address, DESTROYS_REGISTERS, NativeCall, NOT_LEAF)); - } - - /** - * Registers the details for a call to a stub that never returns. - */ - protected ForeignCallLinkage registerNoReturnStub(ForeignCallDescriptor descriptor, long address, CallingConvention.Type ccType) { - return register(HotSpotForeignCallLinkage.create(descriptor, address, PRESERVES_REGISTERS, ccType, NOT_LEAF)); - } - - /** * Registers the details for a call to a leaf function. A leaf function does not lock, GC or * throw exceptions. That is, the thread's execution state during the call is never inspected by * another thread. */ - protected ForeignCallLinkage registerLeafCall(ForeignCallDescriptor descriptor, long address, CallingConvention.Type ccType, RegisterEffect effect) { - return register(HotSpotForeignCallLinkage.create(descriptor, address, effect, ccType, LEAF)); + protected ForeignCallLinkage registerForeignCall(ForeignCallDescriptor descriptor, long address, CallingConvention.Type ccType, RegisterEffect effect, Transition transition) { + Class<?> resultType = descriptor.getResultType(); + assert resultType.isPrimitive() || Word.class.isAssignableFrom(resultType) : "foreign call must return object thread local storage: " + descriptor; + return register(HotSpotForeignCallLinkage.create(descriptor, address, effect, ccType, transition)); } protected abstract RegisterConfig createRegisterConfig(); @@ -227,23 +214,23 @@ registerStubCall(VM_ERROR); HotSpotVMConfig c = config; - registerNoReturnStub(UNCOMMON_TRAP, c.uncommonTrapStub, NativeCall); - registerNoReturnStub(DEOPT_HANDLER, c.handleDeoptStub, NativeCall); - registerNoReturnStub(IC_MISS_HANDLER, c.inlineCacheMissStub, NativeCall); + registerForeignCall(UNCOMMON_TRAP, c.uncommonTrapStub, NativeCall, PRESERVES_REGISTERS, LEAF); + registerForeignCall(DEOPT_HANDLER, c.handleDeoptStub, NativeCall, PRESERVES_REGISTERS, LEAF); + registerForeignCall(IC_MISS_HANDLER, c.inlineCacheMissStub, NativeCall, PRESERVES_REGISTERS, LEAF); - registerLeafCall(JAVA_TIME_MILLIS, c.javaTimeMillisAddress, NativeCall, DESTROYS_REGISTERS); - registerLeafCall(JAVA_TIME_NANOS, c.javaTimeNanosAddress, NativeCall, DESTROYS_REGISTERS); - registerLeafCall(ARITHMETIC_SIN, c.arithmeticSinAddress, NativeCall, DESTROYS_REGISTERS); - registerLeafCall(ARITHMETIC_COS, c.arithmeticCosAddress, NativeCall, DESTROYS_REGISTERS); - registerLeafCall(ARITHMETIC_TAN, c.arithmeticTanAddress, NativeCall, DESTROYS_REGISTERS); + registerForeignCall(JAVA_TIME_MILLIS, c.javaTimeMillisAddress, NativeCall, DESTROYS_REGISTERS, LEAF); + registerForeignCall(JAVA_TIME_NANOS, c.javaTimeNanosAddress, NativeCall, DESTROYS_REGISTERS, LEAF); + registerForeignCall(ARITHMETIC_SIN, c.arithmeticSinAddress, NativeCall, DESTROYS_REGISTERS, LEAF); + registerForeignCall(ARITHMETIC_COS, c.arithmeticCosAddress, NativeCall, DESTROYS_REGISTERS, LEAF); + registerForeignCall(ARITHMETIC_TAN, c.arithmeticTanAddress, NativeCall, DESTROYS_REGISTERS, LEAF); - registerCRuntimeCall(OSR_MIGRATION_END_C, c.osrMigrationEndAddress); - registerCRuntimeCall(EXCEPTION_HANDLER_FOR_PC, c.exceptionHandlerForPcAddress); - registerCRuntimeCall(EXCEPTION_HANDLER_FOR_RETURN_ADDRESS, c.exceptionHandlerForReturnAddressAddress); - registerCRuntimeCall(NEW_ARRAY_C, c.newArrayAddress); - registerCRuntimeCall(NEW_INSTANCE_C, c.newInstanceAddress); - registerCRuntimeCall(VM_MESSAGE_C, c.vmMessageAddress); - registerCRuntimeCall(VM_ERROR_C, c.vmErrorAddress); + registerForeignCall(OSR_MIGRATION_END_C, c.osrMigrationEndAddress, NativeCall, DESTROYS_REGISTERS, NOT_LEAF); + registerForeignCall(EXCEPTION_HANDLER_FOR_PC, c.exceptionHandlerForPcAddress, NativeCall, DESTROYS_REGISTERS, NOT_LEAF); + registerForeignCall(EXCEPTION_HANDLER_FOR_RETURN_ADDRESS, c.exceptionHandlerForReturnAddressAddress, NativeCall, DESTROYS_REGISTERS, NOT_LEAF); + registerForeignCall(NEW_ARRAY_C, c.newArrayAddress, NativeCall, DESTROYS_REGISTERS, NOT_LEAF); + registerForeignCall(NEW_INSTANCE_C, c.newInstanceAddress, NativeCall, DESTROYS_REGISTERS, NOT_LEAF); + registerForeignCall(VM_MESSAGE_C, c.vmMessageAddress, NativeCall, DESTROYS_REGISTERS, NOT_LEAF); + registerForeignCall(VM_ERROR_C, c.vmErrorAddress, NativeCall, DESTROYS_REGISTERS, NOT_LEAF); if (GraalOptions.IntrinsifyObjectMethods) { replacements.registerSubstitutions(ObjectSubstitutions.class);