--- a/hotspot/src/share/vm/runtime/reflection.cpp Thu Jan 27 13:42:28 2011 -0800
+++ b/hotspot/src/share/vm/runtime/reflection.cpp Thu Jan 27 16:11:27 2011 -0800
@@ -64,7 +64,7 @@
// this frame is a likely suspect
caller = vfst.method()->method_holder();
line_number = vfst.method()->line_number_from_bci(vfst.bci());
- symbolOop s = instanceKlass::cast(vfst.method()->method_holder())->source_file_name();
+ Symbol* s = instanceKlass::cast(vfst.method()->method_holder())->source_file_name();
if (s != NULL) {
source_file = s->as_C_string();
}
@@ -622,7 +622,7 @@
ResourceMark rm(THREAD);
Exceptions::fthrow(
THREAD_AND_LOCATION,
- vmSymbolHandles::java_lang_IncompatibleClassChangeError(),
+ vmSymbols::java_lang_IncompatibleClassChangeError(),
"%s and %s disagree on InnerClasses attribute",
outer->external_name(),
inner->external_name()
@@ -638,11 +638,11 @@
return java_lang_Class::primitive_mirror(ss->type());
case T_OBJECT:
case T_ARRAY:
- symbolOop name = ss->as_symbol(CHECK_NULL);
+ Symbol* name = ss->as_symbol(CHECK_NULL);
oop loader = instanceKlass::cast(method->method_holder())->class_loader();
oop protection_domain = instanceKlass::cast(method->method_holder())->protection_domain();
klassOop k = SystemDictionary::resolve_or_fail(
- symbolHandle(THREAD, name),
+ name,
Handle(THREAD, loader),
Handle(THREAD, protection_domain),
true, CHECK_NULL);
@@ -660,7 +660,8 @@
objArrayHandle mirrors (THREAD, m);
int index = 0;
// Collect parameter types
- symbolHandle signature (THREAD, method->signature());
+ ResourceMark rm(THREAD);
+ Symbol* signature = method->signature();
SignatureStream ss(signature);
while (!ss.at_return_type()) {
oop mirror = get_mirror_from_signature(method, &ss, CHECK_(objArrayHandle()));
@@ -681,9 +682,9 @@
}
-Handle Reflection::new_type(symbolHandle signature, KlassHandle k, TRAPS) {
+Handle Reflection::new_type(Symbol* signature, KlassHandle k, TRAPS) {
// Basic types
- BasicType type = vmSymbols::signature_type(signature());
+ BasicType type = vmSymbols::signature_type(signature);
if (type != T_OBJECT) {
return Handle(THREAD, Universe::java_mirror(type));
}
@@ -714,7 +715,7 @@
instanceKlassHandle holder (THREAD, method->method_holder());
int slot = method->method_idnum();
- symbolHandle signature (THREAD, method->signature());
+ Symbol* signature = method->signature();
int parameter_count = ArgumentCount(signature).size();
oop return_type_oop = NULL;
objArrayHandle parameter_types = get_parameter_types(method, parameter_count, &return_type_oop, CHECK_NULL);
@@ -726,16 +727,16 @@
if (exception_types.is_null()) return NULL;
- symbolHandle method_name(THREAD, method->name());
+ Symbol* method_name = method->name();
Handle name;
if (intern_name) {
// intern_name is only true with UseNewReflection
- oop name_oop = StringTable::intern(method_name(), CHECK_NULL);
+ oop name_oop = StringTable::intern(method_name, CHECK_NULL);
name = Handle(THREAD, name_oop);
} else {
name = java_lang_String::create_from_symbol(method_name, CHECK_NULL);
}
- if (name.is_null()) return NULL;
+ if (name == NULL) return NULL;
int modifiers = method->access_flags().as_int() & JVM_RECOGNIZED_METHOD_MODIFIERS;
@@ -751,7 +752,7 @@
java_lang_reflect_Method::set_override(mh(), false);
if (java_lang_reflect_Method::has_signature_field() &&
method->generic_signature() != NULL) {
- symbolHandle gs(THREAD, method->generic_signature());
+ Symbol* gs = method->generic_signature();
Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL);
java_lang_reflect_Method::set_signature(mh(), sig());
}
@@ -774,7 +775,7 @@
instanceKlassHandle holder (THREAD, method->method_holder());
int slot = method->method_idnum();
- symbolHandle signature (THREAD, method->signature());
+ Symbol* signature = method->signature();
int parameter_count = ArgumentCount(signature).size();
objArrayHandle parameter_types = get_parameter_types(method, parameter_count, NULL, CHECK_NULL);
if (parameter_types.is_null()) return NULL;
@@ -794,7 +795,7 @@
java_lang_reflect_Constructor::set_override(ch(), false);
if (java_lang_reflect_Constructor::has_signature_field() &&
method->generic_signature() != NULL) {
- symbolHandle gs(THREAD, method->generic_signature());
+ Symbol* gs = method->generic_signature();
Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL);
java_lang_reflect_Constructor::set_signature(ch(), sig());
}
@@ -809,16 +810,16 @@
oop Reflection::new_field(fieldDescriptor* fd, bool intern_name, TRAPS) {
- symbolHandle field_name(THREAD, fd->name());
+ Symbol* field_name = fd->name();
Handle name;
if (intern_name) {
// intern_name is only true with UseNewReflection
- oop name_oop = StringTable::intern(field_name(), CHECK_NULL);
+ oop name_oop = StringTable::intern(field_name, CHECK_NULL);
name = Handle(THREAD, name_oop);
} else {
name = java_lang_String::create_from_symbol(field_name, CHECK_NULL);
}
- symbolHandle signature (THREAD, fd->signature());
+ Symbol* signature = fd->signature();
KlassHandle holder (THREAD, fd->field_holder());
Handle type = new_type(signature, holder, CHECK_NULL);
Handle rh = java_lang_reflect_Field::create(CHECK_NULL);
@@ -832,7 +833,7 @@
java_lang_reflect_Field::set_override(rh(), false);
if (java_lang_reflect_Field::has_signature_field() &&
fd->generic_signature() != NULL) {
- symbolHandle gs(THREAD, fd->generic_signature());
+ Symbol* gs = fd->generic_signature();
Handle sig = java_lang_String::create_from_symbol(gs, CHECK_NULL);
java_lang_reflect_Field::set_signature(rh(), sig());
}
@@ -858,8 +859,8 @@
assert(!method.is_null() , "method should not be null");
CallInfo info;
- symbolHandle signature (THREAD, method->signature());
- symbolHandle name (THREAD, method->name());
+ Symbol* signature = method->signature();
+ Symbol* name = method->name();
LinkResolver::resolve_interface_call(info, receiver, recv_klass, klass,
name, signature,
KlassHandle(), false, true,
@@ -912,8 +913,8 @@
oop resolution_exception = PENDING_EXCEPTION;
CLEAR_PENDING_EXCEPTION;
JavaCallArguments args(Handle(THREAD, resolution_exception));
- THROW_ARG_0(vmSymbolHandles::java_lang_reflect_InvocationTargetException(),
- vmSymbolHandles::throwable_void_signature(),
+ THROW_ARG_0(vmSymbols::java_lang_reflect_InvocationTargetException(),
+ vmSymbols::throwable_void_signature(),
&args);
}
} else {
@@ -941,8 +942,8 @@
method->name(),
method->signature()));
JavaCallArguments args(h_origexception);
- THROW_ARG_0(vmSymbolHandles::java_lang_reflect_InvocationTargetException(),
- vmSymbolHandles::throwable_void_signature(),
+ THROW_ARG_0(vmSymbols::java_lang_reflect_InvocationTargetException(),
+ vmSymbols::throwable_void_signature(),
&args);
} else {
ResourceMark rm(THREAD);
@@ -1043,8 +1044,8 @@
oop target_exception = PENDING_EXCEPTION;
CLEAR_PENDING_EXCEPTION;
JavaCallArguments args(Handle(THREAD, target_exception));
- THROW_ARG_0(vmSymbolHandles::java_lang_reflect_InvocationTargetException(),
- vmSymbolHandles::throwable_void_signature(),
+ THROW_ARG_0(vmSymbols::java_lang_reflect_InvocationTargetException(),
+ vmSymbols::throwable_void_signature(),
&args);
} else {
if (rtype == T_BOOLEAN || rtype == T_BYTE || rtype == T_CHAR || rtype == T_SHORT)
@@ -1097,9 +1098,9 @@
oop Reflection::new_field(FieldStream* st, TRAPS) {
- symbolHandle field_name(THREAD, st->name());
+ Symbol* field_name = st->name();
Handle name = java_lang_String::create_from_symbol(field_name, CHECK_NULL);
- symbolHandle signature(THREAD, st->signature());
+ Symbol* signature = st->signature();
Handle type = new_type(signature, st->klass(), CHECK_NULL);
Handle rh = java_lang_reflect_Field::create(CHECK_NULL);
oop result = rh();
@@ -1242,7 +1243,7 @@
case T_ARRAY: {
Handle obj(THREAD, (oop) value->l);
if (obj.not_null()) {
- symbolHandle signature(THREAD, fd->signature());
+ Symbol* signature = fd->signature();
Handle loader (THREAD, fd->loader());
Handle protect (THREAD, Klass::cast(fd->field_holder())->protection_domain());
klassOop k = SystemDictionary::resolve_or_fail(signature, loader, protect, true, CHECK); // may block
@@ -1259,7 +1260,7 @@
}
-oop Reflection::reflect_field(oop mirror, symbolOop field_name, jint which, TRAPS) {
+oop Reflection::reflect_field(oop mirror, Symbol* field_name, jint which, TRAPS) {
// Exclude primitive types and array types
if (java_lang_Class::is_primitive(mirror)) return NULL;
if (Klass::cast(java_lang_Class::as_klassOop(mirror))->oop_is_array()) return NULL;
@@ -1287,7 +1288,7 @@
// Exclude primitive types and array types
if (java_lang_Class::is_primitive(mirror)
|| Klass::cast(java_lang_Class::as_klassOop(mirror))->oop_is_array()) {
- symbolHandle name = vmSymbolHandles::java_lang_reflect_Field();
+ Symbol* name = vmSymbols::java_lang_reflect_Field();
klassOop klass = SystemDictionary::resolve_or_fail(name, true, CHECK_NULL);
return oopFactory::new_objArray(klass, 0, CHECK_NULL); // Return empty array
}
@@ -1308,7 +1309,7 @@
}
// Allocate result
- symbolHandle name = vmSymbolHandles::java_lang_reflect_Field();
+ Symbol* name = vmSymbols::java_lang_reflect_Field();
klassOop klass = SystemDictionary::resolve_or_fail(name, true, CHECK_NULL);
objArrayOop r = oopFactory::new_objArray(klass, count, CHECK_NULL);
objArrayHandle result (THREAD, r);
@@ -1327,7 +1328,7 @@
}
-oop Reflection::reflect_method(oop mirror, symbolHandle method_name, objArrayHandle types, jint which, TRAPS) {
+oop Reflection::reflect_method(oop mirror, Symbol* method_name, objArrayHandle types, jint which, TRAPS) {
if (java_lang_Class::is_primitive(mirror)) return NULL;
klassOop klass = java_lang_Class::as_klassOop(mirror);
if (Klass::cast(klass)->oop_is_array() && which == MEMBER_DECLARED) return NULL;
@@ -1351,8 +1352,8 @@
for (MethodStream st(h_k, false, false); !st.eos(); st.next()) {
methodHandle m(THREAD, st.method());
// For interfaces include static initializers since classic does that!
- if (method_name() == m->name() && (include_clinit || (m->is_public() && !m->is_static() && !m->is_initializer()))) {
- symbolHandle signature(THREAD, m->signature());
+ if (method_name == m->name() && (include_clinit || (m->is_public() && !m->is_static() && !m->is_initializer()))) {
+ Symbol* signature = m->signature();
bool parameter_match = match_parameter_types(m, types, ArgumentCount(signature).size(), CHECK_NULL);
if (parameter_match) {
return new_method(m, false, false, THREAD);
@@ -1364,8 +1365,8 @@
{
for (MethodStream st(h_k, false, false); !st.eos(); st.next()) {
methodHandle m(THREAD, st.method());
- if (method_name() == m->name() && m->is_public() && m->is_static() && !m->is_initializer()) {
- symbolHandle signature(THREAD, m->signature());
+ if (method_name == m->name() && m->is_public() && m->is_static() && !m->is_initializer()) {
+ Symbol* signature = m->signature();
bool parameter_match = match_parameter_types(m, types, ArgumentCount(signature).size(), CHECK_NULL);
if (parameter_match) {
return new_method(m, false, false, THREAD);
@@ -1379,8 +1380,8 @@
{
for (MethodStream st(h_k, true, true); !st.eos(); st.next()) {
methodHandle m(THREAD, st.method());
- if (method_name() == m->name() && !m->is_initializer()) {
- symbolHandle signature(THREAD, m->signature());
+ if (method_name == m->name() && !m->is_initializer()) {
+ Symbol* signature = m->signature();
bool parameter_match = match_parameter_types(m, types, ArgumentCount(signature).size(), CHECK_NULL);
if (parameter_match) {
return new_method(m, false, false, THREAD);
@@ -1531,7 +1532,7 @@
for (MethodStream st(h_k, true, true); !st.eos(); st.next()) {
methodHandle m(THREAD, st.method());
if (m->name() == vmSymbols::object_initializer_name() && (local_only || m->is_public())) {
- symbolHandle signature(THREAD, m->signature());
+ Symbol* signature = m->signature();
bool parameter_match = match_parameter_types(m, types, ArgumentCount(signature).size(), CHECK_NULL);
if (parameter_match) {
return new_constructor(m, THREAD);
@@ -1569,7 +1570,7 @@
}
// Allocate result
- symbolHandle name = vmSymbolHandles::java_lang_reflect_Constructor();
+ Symbol* name = vmSymbols::java_lang_reflect_Constructor();
klassOop klass = SystemDictionary::resolve_or_fail(name, true, CHECK_NULL);
objArrayOop r = oopFactory::new_objArray(klass, count, CHECK_NULL);
objArrayHandle h_result (THREAD, r);