# HG changeset patch # User Gilles Duboscq # Date 1400323546 -7200 # Node ID 668d158f780c52af8f0264d964db0ac9f4891e9d # Parent ef6b8d1898e6d5c9704d94d725d752a463a2a817 Rename HotSpotResolvedObjectType.metaspaceKlass to getMetaspaceKlass diff -r ef6b8d1898e6 -r 668d158f780c graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java Sat May 17 14:57:58 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java Sat May 17 12:45:46 2014 +0200 @@ -631,7 +631,7 @@ private int getVtableIndexForInterface(ResolvedJavaType resolved) { HotSpotResolvedObjectType hotspotType = (HotSpotResolvedObjectType) resolved; - return runtime().getCompilerToVM().getVtableIndexForInterface(hotspotType.metaspaceKlass(), getMetaspaceMethod()); + return runtime().getCompilerToVM().getVtableIndexForInterface(hotspotType.getMetaspaceKlass(), getMetaspaceMethod()); } /** diff -r ef6b8d1898e6 -r 668d158f780c graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java Sat May 17 14:57:58 2014 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java Sat May 17 12:45:46 2014 +0200 @@ -108,7 +108,7 @@ /** * Gets the metaspace Klass for this type. */ - public long metaspaceKlass() { + public long getMetaspaceKlass() { return HotSpotGraalRuntime.unsafeReadWord(javaClass, runtime().getConfig().klassOffset); } @@ -119,7 +119,7 @@ public int getAccessFlags() { HotSpotVMConfig config = runtime().getConfig(); - return unsafe.getInt(metaspaceKlass() + config.klassAccessFlagsOffset); + return unsafe.getInt(getMetaspaceKlass() + config.klassAccessFlagsOffset); } @Override @@ -142,7 +142,7 @@ if (isArray()) { return getElementalType(this).isFinal() ? this : null; } else if (isInterface()) { - final long implementorMetaspaceKlass = runtime().getCompilerToVM().getKlassImplementor(metaspaceKlass()); + final long implementorMetaspaceKlass = runtime().getCompilerToVM().getKlassImplementor(getMetaspaceKlass()); // No implementor. if (implementorMetaspaceKlass == 0) { @@ -193,7 +193,7 @@ * @return value of the subklass field as metaspace klass pointer */ private long getSubklass() { - return unsafeReadWord(metaspaceKlass() + runtime().getConfig().subklassOffset); + return unsafeReadWord(getMetaspaceKlass() + runtime().getConfig().subklassOffset); } @Override @@ -272,7 +272,7 @@ @Override public boolean hasFinalizableSubclass() { assert !isArray(); - return runtime().getCompilerToVM().hasFinalizableSubclass(metaspaceKlass()); + return runtime().getCompilerToVM().hasFinalizableSubclass(getMetaspaceKlass()); } @Override @@ -310,7 +310,7 @@ * @return state field value of this type */ private int getState() { - return unsafe.getByte(metaspaceKlass() + runtime().getConfig().klassStateOffset) & 0xFF; + return unsafe.getByte(getMetaspaceKlass() + runtime().getConfig().klassStateOffset) & 0xFF; } @Override @@ -365,7 +365,7 @@ } HotSpotResolvedJavaMethod hotSpotMethod = (HotSpotResolvedJavaMethod) method; HotSpotResolvedObjectType hotSpotCallerType = (HotSpotResolvedObjectType) callerType; - final long resolvedMetaspaceMethod = runtime().getCompilerToVM().resolveMethod(metaspaceKlass(), hotSpotMethod.getMetaspaceMethod(), hotSpotCallerType.metaspaceKlass()); + final long resolvedMetaspaceMethod = runtime().getCompilerToVM().resolveMethod(getMetaspaceKlass(), hotSpotMethod.getMetaspaceMethod(), hotSpotCallerType.getMetaspaceKlass()); if (resolvedMetaspaceMethod == 0) { return null; } @@ -378,7 +378,7 @@ public ConstantPool constantPool() { if (constantPool == null) { - final long metaspaceConstantPool = unsafe.getAddress(metaspaceKlass() + runtime().getConfig().instanceKlassConstantsOffset); + final long metaspaceConstantPool = unsafe.getAddress(getMetaspaceKlass() + runtime().getConfig().instanceKlassConstantsOffset); constantPool = new HotSpotConstantPool(metaspaceConstantPool); } return constantPool; @@ -394,7 +394,7 @@ assert !isInterface(); HotSpotVMConfig config = runtime().getConfig(); - final int layoutHelper = unsafe.getInt(metaspaceKlass() + config.klassLayoutHelperOffset); + final int layoutHelper = unsafe.getInt(getMetaspaceKlass() + config.klassLayoutHelperOffset); assert layoutHelper > config.klassLayoutHelperNeutralValue : "must be instance"; // See: Klass::layout_helper_size_in_bytes @@ -480,7 +480,7 @@ public FieldInfo(int index) { HotSpotVMConfig config = runtime().getConfig(); // Get Klass::_fields - final long metaspaceFields = unsafe.getAddress(metaspaceKlass() + config.instanceKlassFieldsOffset); + final long metaspaceFields = unsafe.getAddress(getMetaspaceKlass() + config.instanceKlassFieldsOffset); assert config.fieldInfoFieldSlots == 6 : "revisit the field parsing code"; metaspaceData = metaspaceFields + config.arrayU2DataOffset + config.fieldInfoFieldSlots * Short.BYTES * index; } @@ -616,7 +616,7 @@ */ private int getFieldCount() { HotSpotVMConfig config = runtime().getConfig(); - final long metaspaceFields = unsafe.getAddress(metaspaceKlass() + config.instanceKlassFieldsOffset); + final long metaspaceFields = unsafe.getAddress(getMetaspaceKlass() + config.instanceKlassFieldsOffset); int metaspaceFieldsLength = unsafe.getInt(metaspaceFields + config.arrayU1LengthOffset); int fieldCount = 0; @@ -638,7 +638,7 @@ @Override public String getSourceFileName() { HotSpotVMConfig config = runtime().getConfig(); - final int sourceFileNameIndex = unsafe.getChar(metaspaceKlass() + config.klassSourceFileNameIndexOffset); + final int sourceFileNameIndex = unsafe.getChar(getMetaspaceKlass() + config.klassSourceFileNameIndexOffset); if (sourceFileNameIndex == 0) { return null; } @@ -659,7 +659,7 @@ * Gets the metaspace Klass boxed in a {@link Constant}. */ public Constant klass() { - return HotSpotMetaspaceConstant.forMetaspaceObject(runtime().getTarget().wordKind, metaspaceKlass(), this); + return HotSpotMetaspaceConstant.forMetaspaceObject(runtime().getTarget().wordKind, getMetaspaceKlass(), this); } public boolean isPrimaryType() { @@ -668,7 +668,7 @@ public int superCheckOffset() { HotSpotVMConfig config = runtime().getConfig(); - return unsafe.getInt(metaspaceKlass() + config.superCheckOffsetOffset); + return unsafe.getInt(getMetaspaceKlass() + config.superCheckOffsetOffset); } public long prototypeMarkWord() { @@ -676,7 +676,7 @@ if (isArray()) { return config.arrayPrototypeMarkWord(); } else { - return unsafeReadWord(metaspaceKlass() + config.prototypeMarkWordOffset); + return unsafeReadWord(getMetaspaceKlass() + config.prototypeMarkWordOffset); } } @@ -736,7 +736,7 @@ } public ResolvedJavaMethod getClassInitializer() { - final long metaspaceMethod = runtime().getCompilerToVM().getClassInitializer(metaspaceKlass()); + final long metaspaceMethod = runtime().getCompilerToVM().getClassInitializer(getMetaspaceKlass()); if (metaspaceMethod != 0L) { return createMethod(metaspaceMethod); } diff -r ef6b8d1898e6 -r 668d158f780c src/share/vm/graal/graalCompilerToVM.cpp --- a/src/share/vm/graal/graalCompilerToVM.cpp Sat May 17 14:57:58 2014 +0200 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Sat May 17 12:45:46 2014 +0200 @@ -1149,6 +1149,7 @@ {CC"resolveField", CC"("METASPACE_CONSTANT_POOL"IB[J)"METASPACE_KLASS, FN_PTR(resolveField)}, {CC"resolveInvokeDynamic", CC"("METASPACE_CONSTANT_POOL"I)V", FN_PTR(resolveInvokeDynamic)}, {CC"resolveMethod", CC"("METASPACE_KLASS METASPACE_METHOD METASPACE_KLASS")"METASPACE_METHOD, FN_PTR(resolveMethod)}, + {CC"getVtableIndexForInterface", CC"("METASPACE_KLASS METASPACE_METHOD")I", FN_PTR(getVtableIndexForInterface)}, {CC"getClassInitializer", CC"("METASPACE_KLASS")"METASPACE_METHOD, FN_PTR(getClassInitializer)}, {CC"hasFinalizableSubclass", CC"("METASPACE_KLASS")Z", FN_PTR(hasFinalizableSubclass)}, {CC"getMaxCallTargetOffset", CC"(J)J", FN_PTR(getMaxCallTargetOffset)}, diff -r ef6b8d1898e6 -r 668d158f780c src/share/vm/graal/vmStructs_graal.hpp --- a/src/share/vm/graal/vmStructs_graal.hpp Sat May 17 14:57:58 2014 +0200 +++ b/src/share/vm/graal/vmStructs_graal.hpp Sat May 17 12:45:46 2014 +0200 @@ -66,5 +66,7 @@ declare_constant(CodeInstaller::POLL_FAR) \ declare_constant(CodeInstaller::POLL_RETURN_FAR) \ declare_constant(CodeInstaller::INVOKE_INVALID) \ + \ + declare_constant(Method::invalid_vtable_index) \ #endif // SHARE_VM_GRAAL_VMSTRUCTS_GRAAL_HPP