1.1 --- a/src/share/vm/utilities/globalDefinitions.cpp Mon Oct 08 17:04:00 2012 -0700 1.2 +++ b/src/share/vm/utilities/globalDefinitions.cpp Tue Oct 09 10:11:38 2012 +0200 1.3 @@ -111,11 +111,12 @@ 1.4 case T_DOUBLE: 1.5 case T_LONG: 1.6 case T_OBJECT: 1.7 - case T_ADDRESS: // random raw pointer 1.8 - case T_METADATA: // metadata pointer 1.9 - case T_NARROWOOP: // compressed pointer 1.10 - case T_CONFLICT: // might as well support a bottom type 1.11 - case T_VOID: // padding or other unaddressed word 1.12 + case T_ADDRESS: // random raw pointer 1.13 + case T_METADATA: // metadata pointer 1.14 + case T_NARROWOOP: // compressed pointer 1.15 + case T_NARROWKLASS: // compressed klass pointer 1.16 + case T_CONFLICT: // might as well support a bottom type 1.17 + case T_VOID: // padding or other unaddressed word 1.18 // layout type must map to itself 1.19 assert(vt == ft, ""); 1.20 break; 1.21 @@ -179,7 +180,7 @@ 1.22 1.23 1.24 // Map BasicType to signature character 1.25 -char type2char_tab[T_CONFLICT+1]={ 0, 0, 0, 0, 'Z', 'C', 'F', 'D', 'B', 'S', 'I', 'J', 'L', '[', 'V', 0, 0, 0, 0}; 1.26 +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}; 1.27 1.28 // Map BasicType to Java type name 1.29 const char* type2name_tab[T_CONFLICT+1] = { 1.30 @@ -198,6 +199,7 @@ 1.31 "*address*", 1.32 "*narrowoop*", 1.33 "*metadata*", 1.34 + "*narrowklass*", 1.35 "*conflict*" 1.36 }; 1.37 1.38 @@ -213,7 +215,7 @@ 1.39 1.40 1.41 // Map BasicType to size in words 1.42 -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.43 +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}; 1.44 1.45 BasicType type2field[T_CONFLICT+1] = { 1.46 (BasicType)0, // 0, 1.47 @@ -234,7 +236,8 @@ 1.48 T_ADDRESS, // T_ADDRESS = 15, 1.49 T_NARROWOOP, // T_NARROWOOP= 16, 1.50 T_METADATA, // T_METADATA = 17, 1.51 - T_CONFLICT // T_CONFLICT = 18, 1.52 + T_NARROWKLASS, // T_NARROWKLASS = 18, 1.53 + T_CONFLICT // T_CONFLICT = 19, 1.54 }; 1.55 1.56 1.57 @@ -257,30 +260,32 @@ 1.58 T_ADDRESS, // T_ADDRESS = 15, 1.59 T_NARROWOOP, // T_NARROWOOP = 16, 1.60 T_METADATA, // T_METADATA = 17, 1.61 - T_CONFLICT // T_CONFLICT = 18, 1.62 + T_NARROWKLASS, // T_NARROWKLASS = 18, 1.63 + T_CONFLICT // T_CONFLICT = 19, 1.64 }; 1.65 1.66 1.67 int _type2aelembytes[T_CONFLICT+1] = { 1.68 - 0, // 0 1.69 - 0, // 1 1.70 - 0, // 2 1.71 - 0, // 3 1.72 - T_BOOLEAN_aelem_bytes, // T_BOOLEAN = 4, 1.73 - T_CHAR_aelem_bytes, // T_CHAR = 5, 1.74 - T_FLOAT_aelem_bytes, // T_FLOAT = 6, 1.75 - T_DOUBLE_aelem_bytes, // T_DOUBLE = 7, 1.76 - T_BYTE_aelem_bytes, // T_BYTE = 8, 1.77 - T_SHORT_aelem_bytes, // T_SHORT = 9, 1.78 - T_INT_aelem_bytes, // T_INT = 10, 1.79 - T_LONG_aelem_bytes, // T_LONG = 11, 1.80 - T_OBJECT_aelem_bytes, // T_OBJECT = 12, 1.81 - T_ARRAY_aelem_bytes, // T_ARRAY = 13, 1.82 - 0, // T_VOID = 14, 1.83 - T_OBJECT_aelem_bytes, // T_ADDRESS = 15, 1.84 - T_NARROWOOP_aelem_bytes,// T_NARROWOOP= 16, 1.85 - T_OBJECT_aelem_bytes, // T_METADATA = 17, 1.86 - 0 // T_CONFLICT = 18, 1.87 + 0, // 0 1.88 + 0, // 1 1.89 + 0, // 2 1.90 + 0, // 3 1.91 + T_BOOLEAN_aelem_bytes, // T_BOOLEAN = 4, 1.92 + T_CHAR_aelem_bytes, // T_CHAR = 5, 1.93 + T_FLOAT_aelem_bytes, // T_FLOAT = 6, 1.94 + T_DOUBLE_aelem_bytes, // T_DOUBLE = 7, 1.95 + T_BYTE_aelem_bytes, // T_BYTE = 8, 1.96 + T_SHORT_aelem_bytes, // T_SHORT = 9, 1.97 + T_INT_aelem_bytes, // T_INT = 10, 1.98 + T_LONG_aelem_bytes, // T_LONG = 11, 1.99 + T_OBJECT_aelem_bytes, // T_OBJECT = 12, 1.100 + T_ARRAY_aelem_bytes, // T_ARRAY = 13, 1.101 + 0, // T_VOID = 14, 1.102 + T_OBJECT_aelem_bytes, // T_ADDRESS = 15, 1.103 + T_NARROWOOP_aelem_bytes, // T_NARROWOOP= 16, 1.104 + T_OBJECT_aelem_bytes, // T_METADATA = 17, 1.105 + T_NARROWKLASS_aelem_bytes, // T_NARROWKLASS= 18, 1.106 + 0 // T_CONFLICT = 19, 1.107 }; 1.108 1.109 #ifdef ASSERT