1.1 --- a/src/share/vm/runtime/frame.cpp Thu Jan 27 13:42:28 2011 -0800 1.2 +++ b/src/share/vm/runtime/frame.cpp Thu Jan 27 16:11:27 2011 -0800 1.3 @@ -792,7 +792,7 @@ 1.4 } 1.5 1.6 public: 1.7 - InterpretedArgumentOopFinder(symbolHandle signature, bool has_receiver, frame* fr, OopClosure* f) : SignatureInfo(signature), _has_receiver(has_receiver) { 1.8 + InterpretedArgumentOopFinder(Symbol* signature, bool has_receiver, frame* fr, OopClosure* f) : SignatureInfo(signature), _has_receiver(has_receiver) { 1.9 // compute size of arguments 1.10 int args_size = ArgumentSizeComputer(signature).size() + (has_receiver ? 1 : 0); 1.11 assert(!fr->is_interpreted_frame() || 1.12 @@ -846,7 +846,7 @@ 1.13 } 1.14 1.15 public: 1.16 - EntryFrameOopFinder(frame* frame, symbolHandle signature, bool is_static) : SignatureInfo(signature) { 1.17 + EntryFrameOopFinder(frame* frame, Symbol* signature, bool is_static) : SignatureInfo(signature) { 1.18 _f = NULL; // will be set later 1.19 _fr = frame; 1.20 _is_static = is_static; 1.21 @@ -861,7 +861,7 @@ 1.22 1.23 }; 1.24 1.25 -oop* frame::interpreter_callee_receiver_addr(symbolHandle signature) { 1.26 +oop* frame::interpreter_callee_receiver_addr(Symbol* signature) { 1.27 ArgumentSizeComputer asc(signature); 1.28 int size = asc.size(); 1.29 return (oop *)interpreter_frame_tos_at(size); 1.30 @@ -922,7 +922,7 @@ 1.31 1.32 int max_locals = m->is_native() ? m->size_of_parameters() : m->max_locals(); 1.33 1.34 - symbolHandle signature; 1.35 + Symbol* signature = NULL; 1.36 bool has_receiver = false; 1.37 1.38 // Process a callee's arguments if we are at a call site 1.39 @@ -932,7 +932,7 @@ 1.40 if (!m->is_native()) { 1.41 Bytecode_invoke call = Bytecode_invoke_check(m, bci); 1.42 if (call.is_valid()) { 1.43 - signature = symbolHandle(thread, call.signature()); 1.44 + signature = call.signature(); 1.45 has_receiver = call.has_receiver(); 1.46 if (map->include_argument_oops() && 1.47 interpreter_frame_expression_stack_size() > 0) { 1.48 @@ -965,7 +965,7 @@ 1.49 } 1.50 1.51 1.52 -void frame::oops_interpreted_arguments_do(symbolHandle signature, bool has_receiver, OopClosure* f) { 1.53 +void frame::oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f) { 1.54 InterpretedArgumentOopFinder finder(signature, has_receiver, this, f); 1.55 finder.oops_do(); 1.56 } 1.57 @@ -1014,7 +1014,7 @@ 1.58 } 1.59 1.60 public: 1.61 - CompiledArgumentOopFinder(symbolHandle signature, bool has_receiver, OopClosure* f, frame fr, const RegisterMap* reg_map) 1.62 + CompiledArgumentOopFinder(Symbol* signature, bool has_receiver, OopClosure* f, frame fr, const RegisterMap* reg_map) 1.63 : SignatureInfo(signature) { 1.64 1.65 // initialize CompiledArgumentOopFinder 1.66 @@ -1026,7 +1026,7 @@ 1.67 _arg_size = ArgumentSizeComputer(signature).size() + (has_receiver ? 1 : 0); 1.68 1.69 int arg_size; 1.70 - _regs = SharedRuntime::find_callee_arguments(signature(), has_receiver, &arg_size); 1.71 + _regs = SharedRuntime::find_callee_arguments(signature, has_receiver, &arg_size); 1.72 assert(arg_size == _arg_size, "wrong arg size"); 1.73 } 1.74 1.75 @@ -1039,7 +1039,7 @@ 1.76 } 1.77 }; 1.78 1.79 -void frame::oops_compiled_arguments_do(symbolHandle signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f) { 1.80 +void frame::oops_compiled_arguments_do(Symbol* signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f) { 1.81 ResourceMark rm; 1.82 CompiledArgumentOopFinder finder(signature, has_receiver, f, *this, reg_map); 1.83 finder.oops_do(); 1.84 @@ -1099,8 +1099,7 @@ 1.85 // must collect argument oops, as nobody else is doing it 1.86 Thread *thread = Thread::current(); 1.87 methodHandle m (thread, entry_frame_call_wrapper()->callee_method()); 1.88 - symbolHandle signature (thread, m->signature()); 1.89 - EntryFrameOopFinder finder(this, signature, m->is_static()); 1.90 + EntryFrameOopFinder finder(this, m->signature(), m->is_static()); 1.91 finder.arguments_do(f); 1.92 } 1.93 // Traverse the Handle Block saved in the entry frame