1.1 --- a/src/share/vm/runtime/deoptimization.cpp Thu Jan 27 13:42:28 2011 -0800 1.2 +++ b/src/share/vm/runtime/deoptimization.cpp Thu Jan 27 16:11:27 2011 -0800 1.3 @@ -396,7 +396,7 @@ 1.4 HandleMark hm; 1.5 methodHandle method(thread, array->element(0)->method()); 1.6 Bytecode_invoke invoke = Bytecode_invoke_check(method, array->element(0)->bci()); 1.7 - return_type = invoke.is_valid() ? invoke.result_type(thread) : T_ILLEGAL; 1.8 + return_type = invoke.is_valid() ? invoke.result_type() : T_ILLEGAL; 1.9 } 1.10 1.11 // Compute information for handling adapters and adjusting the frame size of the caller. 1.12 @@ -601,7 +601,7 @@ 1.13 cur_code == Bytecodes::_invokestatic || 1.14 cur_code == Bytecodes::_invokeinterface) { 1.15 Bytecode_invoke invoke(mh, iframe->interpreter_frame_bci()); 1.16 - symbolHandle signature(thread, invoke.signature()); 1.17 + Symbol* signature = invoke.signature(); 1.18 ArgumentSizeComputer asc(signature); 1.19 cur_invoke_parameter_size = asc.size(); 1.20 if (cur_code != Bytecodes::_invokestatic) { 1.21 @@ -1156,7 +1156,7 @@ 1.22 if (!constant_pool->tag_at(index).is_symbol()) return; 1.23 1.24 Handle class_loader (THREAD, instanceKlass::cast(constant_pool->pool_holder())->class_loader()); 1.25 - symbolHandle symbol (THREAD, constant_pool->symbol_at(index)); 1.26 + Symbol* symbol = constant_pool->symbol_at(index); 1.27 1.28 // class name? 1.29 if (symbol->byte_at(0) != '(') { 1.30 @@ -1166,10 +1166,10 @@ 1.31 } 1.32 1.33 // then it must be a signature! 1.34 + ResourceMark rm(THREAD); 1.35 for (SignatureStream ss(symbol); !ss.is_done(); ss.next()) { 1.36 if (ss.is_object()) { 1.37 - symbolOop s = ss.as_symbol(CHECK); 1.38 - symbolHandle class_name (THREAD, s); 1.39 + Symbol* class_name = ss.as_symbol(CHECK); 1.40 Handle protection_domain (THREAD, Klass::cast(constant_pool->pool_holder())->protection_domain()); 1.41 SystemDictionary::resolve_or_null(class_name, class_loader, protection_domain, CHECK); 1.42 } 1.43 @@ -1246,19 +1246,17 @@ 1.44 format_trap_request(buf, sizeof(buf), trap_request)); 1.45 nm->log_identity(xtty); 1.46 } 1.47 - symbolHandle class_name; 1.48 + Symbol* class_name = NULL; 1.49 bool unresolved = false; 1.50 if (unloaded_class_index >= 0) { 1.51 constantPoolHandle constants (THREAD, trap_method->constants()); 1.52 if (constants->tag_at(unloaded_class_index).is_unresolved_klass()) { 1.53 - class_name = symbolHandle(THREAD, 1.54 - constants->klass_name_at(unloaded_class_index)); 1.55 + class_name = constants->klass_name_at(unloaded_class_index); 1.56 unresolved = true; 1.57 if (xtty != NULL) 1.58 xtty->print(" unresolved='1'"); 1.59 } else if (constants->tag_at(unloaded_class_index).is_symbol()) { 1.60 - class_name = symbolHandle(THREAD, 1.61 - constants->symbol_at(unloaded_class_index)); 1.62 + class_name = constants->symbol_at(unloaded_class_index); 1.63 } 1.64 if (xtty != NULL) 1.65 xtty->name(class_name); 1.66 @@ -1294,7 +1292,7 @@ 1.67 trap_reason_name(reason), 1.68 trap_action_name(action), 1.69 unloaded_class_index); 1.70 - if (class_name.not_null()) { 1.71 + if (class_name != NULL) { 1.72 tty->print(unresolved ? " unresolved class: " : " symbol: "); 1.73 class_name->print_symbol_on(tty); 1.74 }