src/share/vm/code/nmethod.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6893268 Sdiff src/share/vm/code

src/share/vm/code/nmethod.cpp

Print this page
rev 1081 : imported patch indy-cleanup-6893081.patch
rev 1083 : [mq]: indy.compiler.inline.patch


1698                   _print_nm, (int)((intptr_t)p - (intptr_t)_print_nm),
1699                   (intptr_t)(*p), (intptr_t)p);
1700     (*p)->print();
1701   }
1702 #endif //PRODUCT
1703 };
1704 
1705 bool nmethod::detect_scavenge_root_oops() {
1706   DetectScavengeRoot detect_scavenge_root;
1707   NOT_PRODUCT(if (TraceScavenge)  detect_scavenge_root._print_nm = this);
1708   oops_do(&detect_scavenge_root);
1709   return detect_scavenge_root.detected_scavenge_root();
1710 }
1711 
1712 // Method that knows how to preserve outgoing arguments at call. This method must be
1713 // called with a frame corresponding to a Java invoke
1714 void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) {
1715   if (!method()->is_native()) {
1716     SimpleScopeDesc ssd(this, fr.pc());
1717     Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci());
1718     bool is_static = call->is_invokestatic();
1719     symbolOop signature = call->signature();
1720     fr.oops_compiled_arguments_do(signature, is_static, reg_map, f);
1721   }
1722 }
1723 
1724 
1725 oop nmethod::embeddedOop_at(u_char* p) {
1726   RelocIterator iter(this, p, p + oopSize);
1727   while (iter.next())
1728     if (iter.type() == relocInfo::oop_type) {
1729       return iter.oop_reloc()->oop_value();
1730     }
1731   return NULL;
1732 }
1733 
1734 
1735 inline bool includes(void* p, void* from, void* to) {
1736   return from <= p && p < to;
1737 }
1738 
1739 
1740 void nmethod::copy_scopes_pcs(PcDesc* pcs, int count) {




1698                   _print_nm, (int)((intptr_t)p - (intptr_t)_print_nm),
1699                   (intptr_t)(*p), (intptr_t)p);
1700     (*p)->print();
1701   }
1702 #endif //PRODUCT
1703 };
1704 
1705 bool nmethod::detect_scavenge_root_oops() {
1706   DetectScavengeRoot detect_scavenge_root;
1707   NOT_PRODUCT(if (TraceScavenge)  detect_scavenge_root._print_nm = this);
1708   oops_do(&detect_scavenge_root);
1709   return detect_scavenge_root.detected_scavenge_root();
1710 }
1711 
1712 // Method that knows how to preserve outgoing arguments at call. This method must be
1713 // called with a frame corresponding to a Java invoke
1714 void nmethod::preserve_callee_argument_oops(frame fr, const RegisterMap *reg_map, OopClosure* f) {
1715   if (!method()->is_native()) {
1716     SimpleScopeDesc ssd(this, fr.pc());
1717     Bytecode_invoke* call = Bytecode_invoke_at(ssd.method(), ssd.bci());
1718     bool has_receiver = call->has_receiver();
1719     symbolOop signature = call->signature();
1720     fr.oops_compiled_arguments_do(signature, has_receiver, reg_map, f);
1721   }
1722 }
1723 
1724 
1725 oop nmethod::embeddedOop_at(u_char* p) {
1726   RelocIterator iter(this, p, p + oopSize);
1727   while (iter.next())
1728     if (iter.type() == relocInfo::oop_type) {
1729       return iter.oop_reloc()->oop_value();
1730     }
1731   return NULL;
1732 }
1733 
1734 
1735 inline bool includes(void* p, void* from, void* to) {
1736   return from <= p && p < to;
1737 }
1738 
1739 
1740 void nmethod::copy_scopes_pcs(PcDesc* pcs, int count) {


src/share/vm/code/nmethod.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File