Print this page
rev 1024 : imported patch indy-cleanup-6893081.patch
rev 1026 : imported patch indy.compiler.inline.patch

Split Close
Expand all
Collapse all
          --- old/src/share/vm/code/nmethod.cpp
          +++ new/src/share/vm/code/nmethod.cpp
↓ open down ↓ 1707 lines elided ↑ open up ↑
1708 1708    oops_do(&detect_scavenge_root);
1709 1709    return detect_scavenge_root.detected_scavenge_root();
1710 1710  }
1711 1711  
1712 1712  // Method that knows how to preserve outgoing arguments at call. This method must be
1713 1713  // called with a frame corresponding to a Java invoke
1714 1714  void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) {
1715 1715    if (!method()->is_native()) {
1716 1716      SimpleScopeDesc ssd(this, fr.pc());
1717 1717      Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci());
1718      -    bool is_static = call->is_invokestatic();
     1718 +    bool has_receiver = call->has_receiver();
1719 1719      symbolOop signature = call->signature();
1720      -    fr.oops_compiled_arguments_do(signature, is_static, reg_map, f);
     1720 +    fr.oops_compiled_arguments_do(signature, has_receiver, reg_map, f);
1721 1721    }
1722 1722  }
1723 1723  
1724 1724  
1725 1725  oop nmethod::embeddedOop_at(u_char* p) {
1726 1726    RelocIterator iter(this, p, p + oopSize);
1727 1727    while (iter.next())
1728 1728      if (iter.type() == relocInfo::oop_type) {
1729 1729        return iter.oop_reloc()->oop_value();
1730 1730      }
↓ open down ↓ 809 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX