--- a/hotspot/src/share/vm/runtime/frame.cpp Thu Jan 27 13:42:28 2011 -0800
+++ b/hotspot/src/share/vm/runtime/frame.cpp Thu Jan 27 16:11:27 2011 -0800
@@ -792,7 +792,7 @@
}
public:
- InterpretedArgumentOopFinder(symbolHandle signature, bool has_receiver, frame* fr, OopClosure* f) : SignatureInfo(signature), _has_receiver(has_receiver) {
+ InterpretedArgumentOopFinder(Symbol* signature, bool has_receiver, frame* fr, OopClosure* f) : SignatureInfo(signature), _has_receiver(has_receiver) {
// compute size of arguments
int args_size = ArgumentSizeComputer(signature).size() + (has_receiver ? 1 : 0);
assert(!fr->is_interpreted_frame() ||
@@ -846,7 +846,7 @@
}
public:
- EntryFrameOopFinder(frame* frame, symbolHandle signature, bool is_static) : SignatureInfo(signature) {
+ EntryFrameOopFinder(frame* frame, Symbol* signature, bool is_static) : SignatureInfo(signature) {
_f = NULL; // will be set later
_fr = frame;
_is_static = is_static;
@@ -861,7 +861,7 @@
};
-oop* frame::interpreter_callee_receiver_addr(symbolHandle signature) {
+oop* frame::interpreter_callee_receiver_addr(Symbol* signature) {
ArgumentSizeComputer asc(signature);
int size = asc.size();
return (oop *)interpreter_frame_tos_at(size);
@@ -922,7 +922,7 @@
int max_locals = m->is_native() ? m->size_of_parameters() : m->max_locals();
- symbolHandle signature;
+ Symbol* signature = NULL;
bool has_receiver = false;
// Process a callee's arguments if we are at a call site
@@ -932,7 +932,7 @@
if (!m->is_native()) {
Bytecode_invoke call = Bytecode_invoke_check(m, bci);
if (call.is_valid()) {
- signature = symbolHandle(thread, call.signature());
+ signature = call.signature();
has_receiver = call.has_receiver();
if (map->include_argument_oops() &&
interpreter_frame_expression_stack_size() > 0) {
@@ -965,7 +965,7 @@
}
-void frame::oops_interpreted_arguments_do(symbolHandle signature, bool has_receiver, OopClosure* f) {
+void frame::oops_interpreted_arguments_do(Symbol* signature, bool has_receiver, OopClosure* f) {
InterpretedArgumentOopFinder finder(signature, has_receiver, this, f);
finder.oops_do();
}
@@ -1014,7 +1014,7 @@
}
public:
- CompiledArgumentOopFinder(symbolHandle signature, bool has_receiver, OopClosure* f, frame fr, const RegisterMap* reg_map)
+ CompiledArgumentOopFinder(Symbol* signature, bool has_receiver, OopClosure* f, frame fr, const RegisterMap* reg_map)
: SignatureInfo(signature) {
// initialize CompiledArgumentOopFinder
@@ -1026,7 +1026,7 @@
_arg_size = ArgumentSizeComputer(signature).size() + (has_receiver ? 1 : 0);
int arg_size;
- _regs = SharedRuntime::find_callee_arguments(signature(), has_receiver, &arg_size);
+ _regs = SharedRuntime::find_callee_arguments(signature, has_receiver, &arg_size);
assert(arg_size == _arg_size, "wrong arg size");
}
@@ -1039,7 +1039,7 @@
}
};
-void frame::oops_compiled_arguments_do(symbolHandle signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f) {
+void frame::oops_compiled_arguments_do(Symbol* signature, bool has_receiver, const RegisterMap* reg_map, OopClosure* f) {
ResourceMark rm;
CompiledArgumentOopFinder finder(signature, has_receiver, f, *this, reg_map);
finder.oops_do();
@@ -1099,8 +1099,7 @@
// must collect argument oops, as nobody else is doing it
Thread *thread = Thread::current();
methodHandle m (thread, entry_frame_call_wrapper()->callee_method());
- symbolHandle signature (thread, m->signature());
- EntryFrameOopFinder finder(this, signature, m->is_static());
+ EntryFrameOopFinder finder(this, m->signature(), m->is_static());
finder.arguments_do(f);
}
// Traverse the Handle Block saved in the entry frame