src/share/vm/runtime/deoptimization.cpp

changeset 2497
3582bf76420e
parent 2462
8012aa3ccede
child 2508
b92c45f2bc75
     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          }

mercurial