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