comparison graal/com.oracle.max.graal.runtime/src/com/oracle/max/graal/runtime/VMEntries.java @ 3011:f00918f35c7f

inlining and runtime interface related changes: added codeSize() and compilerStorage() to RiMethod HotSpotMethodResolved uses reflective methods instead of vmIds and survives compilations HotSpotResolvedType.isInitialized not represented as field (can change) inlining stores graphs into method objects and reuses them
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 16 Jun 2011 20:36:17 +0200
parents f9c6d9bc4fbc
children fecdb0a65fb2
comparison
equal deleted inserted replaced
2993:3671e31615c9 3011:f00918f35c7f
31 */ 31 */
32 public interface VMEntries { 32 public interface VMEntries {
33 33
34 // Checkstyle: stop 34 // Checkstyle: stop
35 35
36 byte[] RiMethod_code(long vmId); 36 byte[] RiMethod_code(HotSpotMethodResolved method);
37 37
38 int RiMethod_maxStackSize(long vmId); 38 String RiMethod_signature(HotSpotMethodResolved method);
39 39
40 int RiMethod_maxLocals(long vmId); 40 RiExceptionHandler[] RiMethod_exceptionHandlers(HotSpotMethodResolved method);
41 41
42 RiType RiMethod_holder(long vmId); 42 boolean RiMethod_hasBalancedMonitors(HotSpotMethodResolved method);
43 43
44 String RiMethod_signature(long vmId); 44 RiMethod RiMethod_uniqueConcreteMethod(HotSpotMethodResolved method);
45 45
46 int RiMethod_accessFlags(long vmId); 46 int RiMethod_invocationCount(HotSpotMethodResolved method);
47
48 RiTypeProfile RiMethod_typeProfile(HotSpotMethodResolved method, int bci);
49
50 int RiMethod_branchProbability(HotSpotMethodResolved method, int bci);
47 51
48 RiType RiSignature_lookupType(String returnType, HotSpotTypeResolved accessingClass); 52 RiType RiSignature_lookupType(String returnType, HotSpotTypeResolved accessingClass);
49 53
50 Object RiConstantPool_lookupConstant(long vmId, int cpi); 54 Object RiConstantPool_lookupConstant(long vmId, int cpi);
51 55
63 67
64 long installStub(HotSpotTargetMethod targetMethod); 68 long installStub(HotSpotTargetMethod targetMethod);
65 69
66 HotSpotVMConfig getConfiguration(); 70 HotSpotVMConfig getConfiguration();
67 71
68 RiExceptionHandler[] RiMethod_exceptionHandlers(long vmId);
69
70 RiMethod RiType_resolveMethodImpl(HotSpotTypeResolved klass, String name, String signature); 72 RiMethod RiType_resolveMethodImpl(HotSpotTypeResolved klass, String name, String signature);
71 73
72 boolean RiType_isSubtypeOf(HotSpotTypeResolved klass, RiType other); 74 boolean RiType_isSubtypeOf(HotSpotTypeResolved klass, RiType other);
73 75
74 RiType getPrimitiveArrayType(CiKind kind); 76 RiType getPrimitiveArrayType(CiKind kind);
75 77
76 RiType RiType_arrayOf(HotSpotTypeResolved klass); 78 RiType RiType_arrayOf(HotSpotTypeResolved klass);
77 79
78 RiType RiType_componentType(HotSpotTypeResolved klass); 80 RiType RiType_componentType(HotSpotTypeResolved klass);
79 81
82 boolean RiType_isInitialized(HotSpotTypeResolved klass);
83
80 RiType getType(Class<?> javaClass); 84 RiType getType(Class<?> javaClass);
81
82 boolean RiMethod_hasBalancedMonitors(long vmId);
83
84 RiMethod RiMethod_uniqueConcreteMethod(long vmId);
85 85
86 void recordBailout(String reason); 86 void recordBailout(String reason);
87 87
88 RiType RiType_uniqueConcreteSubtype(HotSpotTypeResolved hotSpotTypeResolved); 88 RiType RiType_uniqueConcreteSubtype(HotSpotTypeResolved hotSpotTypeResolved);
89 89
93 93
94 boolean compareConstantObjects(CiConstant x, CiConstant y); 94 boolean compareConstantObjects(CiConstant x, CiConstant y);
95 95
96 RiType getRiType(CiConstant constant); 96 RiType getRiType(CiConstant constant);
97 97
98 int RiMethod_invocationCount(long vmId);
99
100 RiTypeProfile RiMethod_typeProfile(long vmId, int bci);
101
102 int RiMethod_branchProbability(long vmId, int bci);
103
104 // Checkstyle: resume 98 // Checkstyle: resume
105 } 99 }