1.1 --- a/src/share/vm/runtime/reflection.cpp Thu Jan 27 13:42:28 2011 -0800 1.2 +++ b/src/share/vm/runtime/reflection.cpp Thu Jan 27 16:11:27 2011 -0800 1.3 @@ -64,7 +64,7 @@ 1.4 // this frame is a likely suspect 1.5 caller = vfst.method()->method_holder(); 1.6 line_number = vfst.method()->line_number_from_bci(vfst.bci()); 1.7 - symbolOop s = instanceKlass::cast(vfst.method()->method_holder())->source_file_name(); 1.8 + Symbol* s = instanceKlass::cast(vfst.method()->method_holder())->source_file_name(); 1.9 if (s != NULL) { 1.10 source_file = s->as_C_string(); 1.11 } 1.12 @@ -622,7 +622,7 @@ 1.13 ResourceMark rm(THREAD); 1.14 Exceptions::fthrow( 1.15 THREAD_AND_LOCATION, 1.16 - vmSymbolHandles::java_lang_IncompatibleClassChangeError(), 1.17 + vmSymbols::java_lang_IncompatibleClassChangeError(), 1.18 "%s and %s disagree on InnerClasses attribute", 1.19 outer->external_name(), 1.20 inner->external_name() 1.21 @@ -638,11 +638,11 @@ 1.22 return java_lang_Class::primitive_mirror(ss->type()); 1.23 case T_OBJECT: 1.24 case T_ARRAY: 1.25 - symbolOop name = ss->as_symbol(CHECK_NULL); 1.26 + Symbol* name = ss->as_symbol(CHECK_NULL); 1.27 oop loader = instanceKlass::cast(method->method_holder())->class_loader(); 1.28 oop protection_domain = instanceKlass::cast(method->method_holder())->protection_domain(); 1.29 klassOop k = SystemDictionary::resolve_or_fail( 1.30 - symbolHandle(THREAD, name), 1.31 + name, 1.32 Handle(THREAD, loader), 1.33 Handle(THREAD, protection_domain), 1.34 true, CHECK_NULL); 1.35 @@ -660,7 +660,8 @@ 1.36 objArrayHandle mirrors (THREAD, m); 1.37 int index = 0; 1.38 // Collect parameter types 1.39 - symbolHandle signature (THREAD, method->signature()); 1.40 + ResourceMark rm(THREAD); 1.41 + Symbol* signature = method->signature(); 1.42 SignatureStream ss(signature); 1.43 while (!ss.at_return_type()) { 1.44 oop mirror = get_mirror_from_signature(method, &ss, CHECK_(objArrayHandle())); 1.45 @@ -681,9 +682,9 @@ 1.46 } 1.47 1.48 1.49 -Handle Reflection::new_type(symbolHandle signature, KlassHandle k, TRAPS) { 1.50 +Handle Reflection::new_type(Symbol* signature, KlassHandle k, TRAPS) { 1.51 // Basic types 1.52 - BasicType type = vmSymbols::signature_type(signature()); 1.53 + BasicType type = vmSymbols::signature_type(signature); 1.54 if (type != T_OBJECT) { 1.55 return Handle(THREAD, Universe::java_mirror(type)); 1.56 } 1.57 @@ -714,7 +715,7 @@ 1.58 instanceKlassHandle holder (THREAD, method->method_holder()); 1.59 int slot = method->method_idnum(); 1.60 1.61 - symbolHandle signature (THREAD, method->signature()); 1.62 + Symbol* signature = method->signature(); 1.63 int parameter_count = ArgumentCount(signature).size(); 1.64 oop return_type_oop = NULL; 1.65 objArrayHandle parameter_types = get_parameter_types(method, parameter_count, &return_type_oop, CHECK_NULL); 1.66 @@ -726,16 +727,16 @@ 1.67 1.68 if (exception_types.is_null()) return NULL; 1.69 1.70 - symbolHandle method_name(THREAD, method->name()); 1.71 + Symbol* method_name = method->name(); 1.72 Handle name; 1.73 if (intern_name) { 1.74 // intern_name is only true with UseNewReflection 1.75 - oop name_oop = StringTable::intern(method_name(), CHECK_NULL); 1.76 + oop name_oop = StringTable::intern(method_name, CHECK_NULL); 1.77 name = Handle(THREAD, name_oop); 1.78 } else { 1.79 name = java_lang_String::create_from_symbol(method_name, CHECK_NULL); 1.80 } 1.81 - if (name.is_null()) return NULL; 1.82 + if (name == NULL) return NULL; 1.83 1.84 int modifiers = method->access_flags().as_int() & JVM_RECOGNIZED_METHOD_MODIFIERS; 1.85 1.86 @@ -751,7 +752,7 @@ 1.87 java_lang_reflect_Method::set_override(mh(), false); 1.88 if (java_lang_reflect_Method::has_signature_field() && 1.89 method->generic_signature() != NULL) { 1.90 - symbolHandle gs(THREAD, method->generic_signature()); 1.91 + Symbol* gs = method->generic_signature(); 1.92 Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL); 1.93 java_lang_reflect_Method::set_signature(mh(), sig()); 1.94 } 1.95 @@ -774,7 +775,7 @@ 1.96 instanceKlassHandle holder (THREAD, method->method_holder()); 1.97 int slot = method->method_idnum(); 1.98 1.99 - symbolHandle signature (THREAD, method->signature()); 1.100 + Symbol* signature = method->signature(); 1.101 int parameter_count = ArgumentCount(signature).size(); 1.102 objArrayHandle parameter_types = get_parameter_types(method, parameter_count, NULL, CHECK_NULL); 1.103 if (parameter_types.is_null()) return NULL; 1.104 @@ -794,7 +795,7 @@ 1.105 java_lang_reflect_Constructor::set_override(ch(), false); 1.106 if (java_lang_reflect_Constructor::has_signature_field() && 1.107 method->generic_signature() != NULL) { 1.108 - symbolHandle gs(THREAD, method->generic_signature()); 1.109 + Symbol* gs = method->generic_signature(); 1.110 Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL); 1.111 java_lang_reflect_Constructor::set_signature(ch(), sig()); 1.112 } 1.113 @@ -809,16 +810,16 @@ 1.114 1.115 1.116 oop Reflection::new_field(fieldDescriptor* fd, bool intern_name, TRAPS) { 1.117 - symbolHandle field_name(THREAD, fd->name()); 1.118 + Symbol* field_name = fd->name(); 1.119 Handle name; 1.120 if (intern_name) { 1.121 // intern_name is only true with UseNewReflection 1.122 - oop name_oop = StringTable::intern(field_name(), CHECK_NULL); 1.123 + oop name_oop = StringTable::intern(field_name, CHECK_NULL); 1.124 name = Handle(THREAD, name_oop); 1.125 } else { 1.126 name = java_lang_String::create_from_symbol(field_name, CHECK_NULL); 1.127 } 1.128 - symbolHandle signature (THREAD, fd->signature()); 1.129 + Symbol* signature = fd->signature(); 1.130 KlassHandle holder (THREAD, fd->field_holder()); 1.131 Handle type = new_type(signature, holder, CHECK_NULL); 1.132 Handle rh = java_lang_reflect_Field::create(CHECK_NULL); 1.133 @@ -832,7 +833,7 @@ 1.134 java_lang_reflect_Field::set_override(rh(), false); 1.135 if (java_lang_reflect_Field::has_signature_field() && 1.136 fd->generic_signature() != NULL) { 1.137 - symbolHandle gs(THREAD, fd->generic_signature()); 1.138 + Symbol* gs = fd->generic_signature(); 1.139 Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL); 1.140 java_lang_reflect_Field::set_signature(rh(), sig()); 1.141 } 1.142 @@ -858,8 +859,8 @@ 1.143 assert(!method.is_null() , "method should not be null"); 1.144 1.145 CallInfo info; 1.146 - symbolHandle signature (THREAD, method->signature()); 1.147 - symbolHandle name (THREAD, method->name()); 1.148 + Symbol* signature = method->signature(); 1.149 + Symbol* name = method->name(); 1.150 LinkResolver::resolve_interface_call(info, receiver, recv_klass, klass, 1.151 name, signature, 1.152 KlassHandle(), false, true, 1.153 @@ -912,8 +913,8 @@ 1.154 oop resolution_exception = PENDING_EXCEPTION; 1.155 CLEAR_PENDING_EXCEPTION; 1.156 JavaCallArguments args(Handle(THREAD, resolution_exception)); 1.157 - THROW_ARG_0(vmSymbolHandles::java_lang_reflect_InvocationTargetException(), 1.158 - vmSymbolHandles::throwable_void_signature(), 1.159 + THROW_ARG_0(vmSymbols::java_lang_reflect_InvocationTargetException(), 1.160 + vmSymbols::throwable_void_signature(), 1.161 &args); 1.162 } 1.163 } else { 1.164 @@ -941,8 +942,8 @@ 1.165 method->name(), 1.166 method->signature())); 1.167 JavaCallArguments args(h_origexception); 1.168 - THROW_ARG_0(vmSymbolHandles::java_lang_reflect_InvocationTargetException(), 1.169 - vmSymbolHandles::throwable_void_signature(), 1.170 + THROW_ARG_0(vmSymbols::java_lang_reflect_InvocationTargetException(), 1.171 + vmSymbols::throwable_void_signature(), 1.172 &args); 1.173 } else { 1.174 ResourceMark rm(THREAD); 1.175 @@ -1043,8 +1044,8 @@ 1.176 oop target_exception = PENDING_EXCEPTION; 1.177 CLEAR_PENDING_EXCEPTION; 1.178 JavaCallArguments args(Handle(THREAD, target_exception)); 1.179 - THROW_ARG_0(vmSymbolHandles::java_lang_reflect_InvocationTargetException(), 1.180 - vmSymbolHandles::throwable_void_signature(), 1.181 + THROW_ARG_0(vmSymbols::java_lang_reflect_InvocationTargetException(), 1.182 + vmSymbols::throwable_void_signature(), 1.183 &args); 1.184 } else { 1.185 if (rtype == T_BOOLEAN || rtype == T_BYTE || rtype == T_CHAR || rtype == T_SHORT) 1.186 @@ -1097,9 +1098,9 @@ 1.187 1.188 1.189 oop Reflection::new_field(FieldStream* st, TRAPS) { 1.190 - symbolHandle field_name(THREAD, st->name()); 1.191 + Symbol* field_name = st->name(); 1.192 Handle name = java_lang_String::create_from_symbol(field_name, CHECK_NULL); 1.193 - symbolHandle signature(THREAD, st->signature()); 1.194 + Symbol* signature = st->signature(); 1.195 Handle type = new_type(signature, st->klass(), CHECK_NULL); 1.196 Handle rh = java_lang_reflect_Field::create(CHECK_NULL); 1.197 oop result = rh(); 1.198 @@ -1242,7 +1243,7 @@ 1.199 case T_ARRAY: { 1.200 Handle obj(THREAD, (oop) value->l); 1.201 if (obj.not_null()) { 1.202 - symbolHandle signature(THREAD, fd->signature()); 1.203 + Symbol* signature = fd->signature(); 1.204 Handle loader (THREAD, fd->loader()); 1.205 Handle protect (THREAD, Klass::cast(fd->field_holder())->protection_domain()); 1.206 klassOop k = SystemDictionary::resolve_or_fail(signature, loader, protect, true, CHECK); // may block 1.207 @@ -1259,7 +1260,7 @@ 1.208 } 1.209 1.210 1.211 -oop Reflection::reflect_field(oop mirror, symbolOop field_name, jint which, TRAPS) { 1.212 +oop Reflection::reflect_field(oop mirror, Symbol* field_name, jint which, TRAPS) { 1.213 // Exclude primitive types and array types 1.214 if (java_lang_Class::is_primitive(mirror)) return NULL; 1.215 if (Klass::cast(java_lang_Class::as_klassOop(mirror))->oop_is_array()) return NULL; 1.216 @@ -1287,7 +1288,7 @@ 1.217 // Exclude primitive types and array types 1.218 if (java_lang_Class::is_primitive(mirror) 1.219 || Klass::cast(java_lang_Class::as_klassOop(mirror))->oop_is_array()) { 1.220 - symbolHandle name = vmSymbolHandles::java_lang_reflect_Field(); 1.221 + Symbol* name = vmSymbols::java_lang_reflect_Field(); 1.222 klassOop klass = SystemDictionary::resolve_or_fail(name, true, CHECK_NULL); 1.223 return oopFactory::new_objArray(klass, 0, CHECK_NULL); // Return empty array 1.224 } 1.225 @@ -1308,7 +1309,7 @@ 1.226 } 1.227 1.228 // Allocate result 1.229 - symbolHandle name = vmSymbolHandles::java_lang_reflect_Field(); 1.230 + Symbol* name = vmSymbols::java_lang_reflect_Field(); 1.231 klassOop klass = SystemDictionary::resolve_or_fail(name, true, CHECK_NULL); 1.232 objArrayOop r = oopFactory::new_objArray(klass, count, CHECK_NULL); 1.233 objArrayHandle result (THREAD, r); 1.234 @@ -1327,7 +1328,7 @@ 1.235 } 1.236 1.237 1.238 -oop Reflection::reflect_method(oop mirror, symbolHandle method_name, objArrayHandle types, jint which, TRAPS) { 1.239 +oop Reflection::reflect_method(oop mirror, Symbol* method_name, objArrayHandle types, jint which, TRAPS) { 1.240 if (java_lang_Class::is_primitive(mirror)) return NULL; 1.241 klassOop klass = java_lang_Class::as_klassOop(mirror); 1.242 if (Klass::cast(klass)->oop_is_array() && which == MEMBER_DECLARED) return NULL; 1.243 @@ -1351,8 +1352,8 @@ 1.244 for (MethodStream st(h_k, false, false); !st.eos(); st.next()) { 1.245 methodHandle m(THREAD, st.method()); 1.246 // For interfaces include static initializers since classic does that! 1.247 - if (method_name() == m->name() && (include_clinit || (m->is_public() && !m->is_static() && !m->is_initializer()))) { 1.248 - symbolHandle signature(THREAD, m->signature()); 1.249 + if (method_name == m->name() && (include_clinit || (m->is_public() && !m->is_static() && !m->is_initializer()))) { 1.250 + Symbol* signature = m->signature(); 1.251 bool parameter_match = match_parameter_types(m, types, ArgumentCount(signature).size(), CHECK_NULL); 1.252 if (parameter_match) { 1.253 return new_method(m, false, false, THREAD); 1.254 @@ -1364,8 +1365,8 @@ 1.255 { 1.256 for (MethodStream st(h_k, false, false); !st.eos(); st.next()) { 1.257 methodHandle m(THREAD, st.method()); 1.258 - if (method_name() == m->name() && m->is_public() && m->is_static() && !m->is_initializer()) { 1.259 - symbolHandle signature(THREAD, m->signature()); 1.260 + if (method_name == m->name() && m->is_public() && m->is_static() && !m->is_initializer()) { 1.261 + Symbol* signature = m->signature(); 1.262 bool parameter_match = match_parameter_types(m, types, ArgumentCount(signature).size(), CHECK_NULL); 1.263 if (parameter_match) { 1.264 return new_method(m, false, false, THREAD); 1.265 @@ -1379,8 +1380,8 @@ 1.266 { 1.267 for (MethodStream st(h_k, true, true); !st.eos(); st.next()) { 1.268 methodHandle m(THREAD, st.method()); 1.269 - if (method_name() == m->name() && !m->is_initializer()) { 1.270 - symbolHandle signature(THREAD, m->signature()); 1.271 + if (method_name == m->name() && !m->is_initializer()) { 1.272 + Symbol* signature = m->signature(); 1.273 bool parameter_match = match_parameter_types(m, types, ArgumentCount(signature).size(), CHECK_NULL); 1.274 if (parameter_match) { 1.275 return new_method(m, false, false, THREAD); 1.276 @@ -1531,7 +1532,7 @@ 1.277 for (MethodStream st(h_k, true, true); !st.eos(); st.next()) { 1.278 methodHandle m(THREAD, st.method()); 1.279 if (m->name() == vmSymbols::object_initializer_name() && (local_only || m->is_public())) { 1.280 - symbolHandle signature(THREAD, m->signature()); 1.281 + Symbol* signature = m->signature(); 1.282 bool parameter_match = match_parameter_types(m, types, ArgumentCount(signature).size(), CHECK_NULL); 1.283 if (parameter_match) { 1.284 return new_constructor(m, THREAD); 1.285 @@ -1569,7 +1570,7 @@ 1.286 } 1.287 1.288 // Allocate result 1.289 - symbolHandle name = vmSymbolHandles::java_lang_reflect_Constructor(); 1.290 + Symbol* name = vmSymbols::java_lang_reflect_Constructor(); 1.291 klassOop klass = SystemDictionary::resolve_or_fail(name, true, CHECK_NULL); 1.292 objArrayOop r = oopFactory::new_objArray(klass, count, CHECK_NULL); 1.293 objArrayHandle h_result (THREAD, r);