comparison graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64IndirectCallOp.java @ 19526:8fc336a04d77

Create TYPE fields for LIRInstruction and CompositeValue. Renaming NodeClass#get to NodeClass#create.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 20 Feb 2015 22:22:55 +0100
parents 35ae3e916582
children 15a46a918fc1
comparison
equal deleted inserted replaced
19525:35481bcb5882 19526:8fc336a04d77
41 * _from_compiled_entry is the address of an C2I adapter. Such adapters expect the target method to 41 * _from_compiled_entry is the address of an C2I adapter. Such adapters expect the target method to
42 * be in RBX. 42 * be in RBX.
43 */ 43 */
44 @Opcode("CALL_INDIRECT") 44 @Opcode("CALL_INDIRECT")
45 final class AMD64IndirectCallOp extends IndirectCallOp { 45 final class AMD64IndirectCallOp extends IndirectCallOp {
46 public static final LIRInstructionClass<AMD64IndirectCallOp> TYPE = LIRInstructionClass.create(AMD64IndirectCallOp.class);
46 47
47 /** 48 /**
48 * Vtable stubs expect the metaspace Method in RBX. 49 * Vtable stubs expect the metaspace Method in RBX.
49 */ 50 */
50 public static final Register METHOD = AMD64.rbx; 51 public static final Register METHOD = AMD64.rbx;
51 52
52 @Use({REG}) protected Value metaspaceMethod; 53 @Use({REG}) protected Value metaspaceMethod;
53 54
54 AMD64IndirectCallOp(ResolvedJavaMethod targetMethod, Value result, Value[] parameters, Value[] temps, Value metaspaceMethod, Value targetAddress, LIRFrameState state) { 55 AMD64IndirectCallOp(ResolvedJavaMethod targetMethod, Value result, Value[] parameters, Value[] temps, Value metaspaceMethod, Value targetAddress, LIRFrameState state) {
55 super(targetMethod, result, parameters, temps, targetAddress, state); 56 super(TYPE, targetMethod, result, parameters, temps, targetAddress, state);
56 this.metaspaceMethod = metaspaceMethod; 57 this.metaspaceMethod = metaspaceMethod;
57 } 58 }
58 59
59 @Override 60 @Override
60 public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) { 61 public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) {