Mercurial > hg > truffle
comparison graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCIndirectCallOp.java @ 21413:15a46a918fc1
removed unnecessary HotSpotCodeCache.MarkId enum (JBS:GRAAL-53)
converted some uses of GraalInternalError to InternalError
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 18 May 2015 22:27:24 +0200 |
parents | 8fc336a04d77 |
children | 1da7aef31a08 |
comparison
equal
deleted
inserted
replaced
21412:6df10903c955 | 21413:15a46a918fc1 |
---|---|
27 import static com.oracle.graal.sparc.SPARC.*; | 27 import static com.oracle.graal.sparc.SPARC.*; |
28 | 28 |
29 import com.oracle.graal.api.code.*; | 29 import com.oracle.graal.api.code.*; |
30 import com.oracle.graal.api.meta.*; | 30 import com.oracle.graal.api.meta.*; |
31 import com.oracle.graal.asm.sparc.*; | 31 import com.oracle.graal.asm.sparc.*; |
32 import com.oracle.graal.hotspot.meta.HotSpotCodeCacheProvider.MarkId; | 32 import com.oracle.graal.hotspot.*; |
33 import com.oracle.graal.lir.*; | 33 import com.oracle.graal.lir.*; |
34 import com.oracle.graal.lir.asm.*; | 34 import com.oracle.graal.lir.asm.*; |
35 import com.oracle.graal.lir.sparc.*; | 35 import com.oracle.graal.lir.sparc.*; |
36 import com.oracle.graal.lir.sparc.SPARCCall.IndirectCallOp; | 36 import com.oracle.graal.lir.sparc.SPARCCall.IndirectCallOp; |
37 | 37 |
50 */ | 50 */ |
51 public static final Register METHOD = g5; | 51 public static final Register METHOD = g5; |
52 | 52 |
53 @Use({REG}) protected Value metaspaceMethod; | 53 @Use({REG}) protected Value metaspaceMethod; |
54 | 54 |
55 SPARCIndirectCallOp(ResolvedJavaMethod targetMethod, Value result, Value[] parameters, Value[] temps, Value metaspaceMethod, Value targetAddress, LIRFrameState state) { | 55 private final HotSpotVMConfig config; |
56 | |
57 SPARCIndirectCallOp(ResolvedJavaMethod targetMethod, Value result, Value[] parameters, Value[] temps, Value metaspaceMethod, Value targetAddress, LIRFrameState state, HotSpotVMConfig config) { | |
56 super(TYPE, targetMethod, result, parameters, temps, targetAddress, state); | 58 super(TYPE, targetMethod, result, parameters, temps, targetAddress, state); |
57 this.metaspaceMethod = metaspaceMethod; | 59 this.metaspaceMethod = metaspaceMethod; |
60 this.config = config; | |
58 } | 61 } |
59 | 62 |
60 @Override | 63 @Override |
61 public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { | 64 public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm) { |
62 MarkId.recordMark(crb, MarkId.INLINE_INVOKE); | 65 crb.recordMark(config.MARKID_INLINE_INVOKE); |
63 Register callReg = asRegister(targetAddress); | 66 Register callReg = asRegister(targetAddress); |
64 assert !callReg.equals(METHOD); | 67 assert !callReg.equals(METHOD); |
65 SPARCCall.indirectCall(crb, masm, callReg, callTarget, state); | 68 SPARCCall.indirectCall(crb, masm, callReg, callTarget, state); |
66 } | 69 } |
67 | 70 |