comparison graal/com.oracle.graal.truffle.hotspot.amd64/src/com/oracle/graal/truffle/hotspot/amd64/AMD64OptimizedCallTargetInstrumentationFactory.java @ 23348:9306a9611097

Update JVMCI import: Make CallingConvention.Type extensible; remove unused stackOnly parameter
author Christian Wimmer <christian.wimmer@oracle.com>
date Thu, 21 Jan 2016 14:24:24 -0800
parents 52f4acf6f365
children 39f9960bb6ae
comparison
equal deleted inserted replaced
23347:f868bd0c3f02 23348:9306a9611097
20 * or visit www.oracle.com if you need additional information or have any 20 * or visit www.oracle.com if you need additional information or have any
21 * questions. 21 * questions.
22 */ 22 */
23 package com.oracle.graal.truffle.hotspot.amd64; 23 package com.oracle.graal.truffle.hotspot.amd64;
24 24
25 import static jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCall;
25 import jdk.vm.ci.amd64.AMD64; 26 import jdk.vm.ci.amd64.AMD64;
26 import jdk.vm.ci.code.CallingConvention.Type;
27 import jdk.vm.ci.code.CodeCacheProvider; 27 import jdk.vm.ci.code.CodeCacheProvider;
28 import jdk.vm.ci.code.InstalledCode; 28 import jdk.vm.ci.code.InstalledCode;
29 import jdk.vm.ci.code.Register; 29 import jdk.vm.ci.code.Register;
30 import jdk.vm.ci.meta.JavaKind; 30 import jdk.vm.ci.meta.JavaKind;
31 31
52 return new OptimizedCallTargetInstrumentation(codeCache, foreignCalls, frameMap, asm, dataBuilder, frameContext, compilationResult, config, registers) { 52 return new OptimizedCallTargetInstrumentation(codeCache, foreignCalls, frameMap, asm, dataBuilder, frameContext, compilationResult, config, registers) {
53 @Override 53 @Override
54 protected void injectTailCallCode() { 54 protected void injectTailCallCode() {
55 @SuppressWarnings("hiding") 55 @SuppressWarnings("hiding")
56 AMD64MacroAssembler asm = (AMD64MacroAssembler) this.asm; 56 AMD64MacroAssembler asm = (AMD64MacroAssembler) this.asm;
57 Register thisRegister = codeCache.getRegisterConfig().getCallingConventionRegisters(Type.JavaCall, JavaKind.Object)[0]; 57 Register thisRegister = codeCache.getRegisterConfig().getCallingConventionRegisters(JavaCall, JavaKind.Object)[0];
58 Register spillRegister = AMD64.r10; // TODO(mg): fix me 58 Register spillRegister = AMD64.r10; // TODO(mg): fix me
59 Label doProlog = new Label(); 59 Label doProlog = new Label();
60 60
61 AMD64Address codeBlobAddress = new AMD64Address(thisRegister, getFieldOffset("entryPoint", InstalledCode.class)); 61 AMD64Address codeBlobAddress = new AMD64Address(thisRegister, getFieldOffset("entryPoint", InstalledCode.class));
62 asm.movq(spillRegister, codeBlobAddress); 62 asm.movq(spillRegister, codeBlobAddress);