7132690: InstanceKlass:_reference_type should be u1 type

Change InstanceKlass::_reference_type to u1 type.

Reviewed-by: dholmes, coleenp, acorn
This commit is contained in:
Jiangli Zhou 2012-01-25 17:40:51 -05:00 committed by Jiangli Zhou
parent 63b889aba6
commit cd85c690df
5 changed files with 11 additions and 9 deletions

View file

@ -240,7 +240,6 @@ class instanceKlass: public Klass {
Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization)
int _vtable_len; // length of Java vtable (in words)
int _itable_len; // length of Java itable (in words)
ReferenceType _reference_type; // reference type
OopMapCache* volatile _oop_map_cache; // OopMapCache for all methods in the klass (allocated lazily)
JNIid* _jni_ids; // First JNI identifier for static fields in this class
jmethodID* _methods_jmethod_ids; // jmethodIDs corresponding to method_idnum, or NULL if none
@ -265,6 +264,8 @@ class instanceKlass: public Klass {
// _idnum_allocated_count.
u1 _init_state; // state of class
u1 _reference_type; // reference type
// embedded Java vtable follows here
// embedded Java itables follows here
// embedded static fields follows here
@ -407,8 +408,11 @@ class instanceKlass: public Klass {
void eager_initialize(Thread *thread);
// reference type
ReferenceType reference_type() const { return _reference_type; }
void set_reference_type(ReferenceType t) { _reference_type = t; }
ReferenceType reference_type() const { return (ReferenceType)_reference_type; }
void set_reference_type(ReferenceType t) {
assert(t == (u1)t, "overflow");
_reference_type = (u1)t;
}
static ByteSize reference_type_offset() { return in_ByteSize(sizeof(klassOopDesc) + offset_of(instanceKlass, _reference_type)); }