Mercurial > hg > graal-jvmci-8
diff graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java @ 16094:c0b8d395368b
Introduce LIRKind to accurately track oop references in backend.
author | Roland Schatz <roland.schatz@oracle.com> |
---|---|
date | Fri, 13 Jun 2014 11:47:44 +0200 |
parents | af0e42dad358 |
children | 6d2b2671c63a |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java Fri Jun 13 11:11:44 2014 +0200 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotForeignCallsProvider.java Fri Jun 13 11:47:44 2014 +0200 @@ -56,8 +56,8 @@ // The calling convention for the exception handler stub is (only?) defined in // TemplateInterpreterGenerator::generate_throw_exception() // in templateInterpreter_x86_64.cpp around line 1923 - RegisterValue exception = rax.asValue(Kind.Object); - RegisterValue exceptionPc = rdx.asValue(word); + RegisterValue exception = rax.asValue(LIRKind.reference(Kind.Object)); + RegisterValue exceptionPc = rdx.asValue(LIRKind.value(word)); CallingConvention exceptionCc = new CallingConvention(0, ILLEGAL, exception, exceptionPc); register(new HotSpotForeignCallLinkage(EXCEPTION_HANDLER, 0L, PRESERVES_REGISTERS, LEAF_NOFP, null, exceptionCc, NOT_REEXECUTABLE, ANY_LOCATION)); register(new HotSpotForeignCallLinkage(EXCEPTION_HANDLER_IN_CALLER, JUMP_ADDRESS, PRESERVES_REGISTERS, LEAF_NOFP, exceptionCc, null, NOT_REEXECUTABLE, ANY_LOCATION));