1.1 --- a/src/share/vm/ci/ciSignature.cpp Thu Jan 27 13:42:28 2011 -0800 1.2 +++ b/src/share/vm/ci/ciSignature.cpp Thu Jan 27 16:11:27 2011 -0800 1.3 @@ -47,7 +47,8 @@ 1.4 1.5 int size = 0; 1.6 int count = 0; 1.7 - symbolHandle sh (THREAD, symbol->get_symbolOop()); 1.8 + ResourceMark rm(THREAD); 1.9 + Symbol* sh = symbol->get_symbol(); 1.10 SignatureStream ss(sh); 1.11 for (; ; ss.next()) { 1.12 // Process one element of the signature 1.13 @@ -55,14 +56,14 @@ 1.14 if (!ss.is_object()) { 1.15 type = ciType::make(ss.type()); 1.16 } else { 1.17 - symbolOop name = ss.as_symbol(THREAD); 1.18 + Symbol* name = ss.as_symbol(THREAD); 1.19 if (HAS_PENDING_EXCEPTION) { 1.20 type = ss.is_array() ? (ciType*)ciEnv::unloaded_ciobjarrayklass() 1.21 : (ciType*)ciEnv::unloaded_ciinstance_klass(); 1.22 env->record_out_of_memory_failure(); 1.23 CLEAR_PENDING_EXCEPTION; 1.24 } else { 1.25 - ciSymbol* klass_name = env->get_object(name)->as_symbol(); 1.26 + ciSymbol* klass_name = env->get_symbol(name); 1.27 type = env->get_klass_by_name_impl(_accessing_klass, klass_name, false); 1.28 } 1.29 }