src/share/vm/runtime/frame.cpp

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

mercurial