diff -r 65d07d9ee446 -r 8e47bac5643a src/share/vm/utilities/globalDefinitions.cpp --- a/src/share/vm/utilities/globalDefinitions.cpp Mon Oct 08 17:04:00 2012 -0700 +++ b/src/share/vm/utilities/globalDefinitions.cpp Tue Oct 09 10:11:38 2012 +0200 @@ -111,11 +111,12 @@ case T_DOUBLE: case T_LONG: case T_OBJECT: - case T_ADDRESS: // random raw pointer - case T_METADATA: // metadata pointer - case T_NARROWOOP: // compressed pointer - case T_CONFLICT: // might as well support a bottom type - case T_VOID: // padding or other unaddressed word + case T_ADDRESS: // random raw pointer + case T_METADATA: // metadata pointer + case T_NARROWOOP: // compressed pointer + case T_NARROWKLASS: // compressed klass pointer + case T_CONFLICT: // might as well support a bottom type + case T_VOID: // padding or other unaddressed word // layout type must map to itself assert(vt == ft, ""); break; @@ -179,7 +180,7 @@ // Map BasicType to signature character -char type2char_tab[T_CONFLICT+1]={ 0, 0, 0, 0, 'Z', 'C', 'F', 'D', 'B', 'S', 'I', 'J', 'L', '[', 'V', 0, 0, 0, 0}; +char type2char_tab[T_CONFLICT+1]={ 0, 0, 0, 0, 'Z', 'C', 'F', 'D', 'B', 'S', 'I', 'J', 'L', '[', 'V', 0, 0, 0, 0, 0}; // Map BasicType to Java type name const char* type2name_tab[T_CONFLICT+1] = { @@ -198,6 +199,7 @@ "*address*", "*narrowoop*", "*metadata*", + "*narrowklass*", "*conflict*" }; @@ -213,7 +215,7 @@ // Map BasicType to size in words -int type2size[T_CONFLICT+1]={ -1, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 0, 1, 1, 1, -1}; +int type2size[T_CONFLICT+1]={ -1, 0, 0, 0, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 0, 1, 1, 1, 1, -1}; BasicType type2field[T_CONFLICT+1] = { (BasicType)0, // 0, @@ -234,7 +236,8 @@ T_ADDRESS, // T_ADDRESS = 15, T_NARROWOOP, // T_NARROWOOP= 16, T_METADATA, // T_METADATA = 17, - T_CONFLICT // T_CONFLICT = 18, + T_NARROWKLASS, // T_NARROWKLASS = 18, + T_CONFLICT // T_CONFLICT = 19, }; @@ -257,30 +260,32 @@ T_ADDRESS, // T_ADDRESS = 15, T_NARROWOOP, // T_NARROWOOP = 16, T_METADATA, // T_METADATA = 17, - T_CONFLICT // T_CONFLICT = 18, + T_NARROWKLASS, // T_NARROWKLASS = 18, + T_CONFLICT // T_CONFLICT = 19, }; int _type2aelembytes[T_CONFLICT+1] = { - 0, // 0 - 0, // 1 - 0, // 2 - 0, // 3 - T_BOOLEAN_aelem_bytes, // T_BOOLEAN = 4, - T_CHAR_aelem_bytes, // T_CHAR = 5, - T_FLOAT_aelem_bytes, // T_FLOAT = 6, - T_DOUBLE_aelem_bytes, // T_DOUBLE = 7, - T_BYTE_aelem_bytes, // T_BYTE = 8, - T_SHORT_aelem_bytes, // T_SHORT = 9, - T_INT_aelem_bytes, // T_INT = 10, - T_LONG_aelem_bytes, // T_LONG = 11, - T_OBJECT_aelem_bytes, // T_OBJECT = 12, - T_ARRAY_aelem_bytes, // T_ARRAY = 13, - 0, // T_VOID = 14, - T_OBJECT_aelem_bytes, // T_ADDRESS = 15, - T_NARROWOOP_aelem_bytes,// T_NARROWOOP= 16, - T_OBJECT_aelem_bytes, // T_METADATA = 17, - 0 // T_CONFLICT = 18, + 0, // 0 + 0, // 1 + 0, // 2 + 0, // 3 + T_BOOLEAN_aelem_bytes, // T_BOOLEAN = 4, + T_CHAR_aelem_bytes, // T_CHAR = 5, + T_FLOAT_aelem_bytes, // T_FLOAT = 6, + T_DOUBLE_aelem_bytes, // T_DOUBLE = 7, + T_BYTE_aelem_bytes, // T_BYTE = 8, + T_SHORT_aelem_bytes, // T_SHORT = 9, + T_INT_aelem_bytes, // T_INT = 10, + T_LONG_aelem_bytes, // T_LONG = 11, + T_OBJECT_aelem_bytes, // T_OBJECT = 12, + T_ARRAY_aelem_bytes, // T_ARRAY = 13, + 0, // T_VOID = 14, + T_OBJECT_aelem_bytes, // T_ADDRESS = 15, + T_NARROWOOP_aelem_bytes, // T_NARROWOOP= 16, + T_OBJECT_aelem_bytes, // T_METADATA = 17, + T_NARROWKLASS_aelem_bytes, // T_NARROWKLASS= 18, + 0 // T_CONFLICT = 19, }; #ifdef ASSERT