hotspot/src/share/vm/oops/method.cpp
changeset 38059 86ab3f0a9f87
parent 37439 e8970711113b
child 38060 954c9575f653
equal deleted inserted replaced
38058:17294a77a970 38059:86ab3f0a9f87
  1637     _line += next & 0x7;
  1637     _line += next & 0x7;
  1638   }
  1638   }
  1639   return true;
  1639   return true;
  1640 }
  1640 }
  1641 
  1641 
       
  1642 #if INCLUDE_JVMTI
  1642 
  1643 
  1643 Bytecodes::Code Method::orig_bytecode_at(int bci) const {
  1644 Bytecodes::Code Method::orig_bytecode_at(int bci) const {
  1644   BreakpointInfo* bp = method_holder()->breakpoints();
  1645   BreakpointInfo* bp = method_holder()->breakpoints();
  1645   for (; bp != NULL; bp = bp->next()) {
  1646   for (; bp != NULL; bp = bp->next()) {
  1646     if (bp->match(this, bci)) {
  1647     if (bp->match(this, bci)) {
  1717 
  1718 
  1718 void Method::clear_all_breakpoints() {
  1719 void Method::clear_all_breakpoints() {
  1719   clear_matches(this, -1);
  1720   clear_matches(this, -1);
  1720 }
  1721 }
  1721 
  1722 
       
  1723 #endif // INCLUDE_JVMTI
  1722 
  1724 
  1723 int Method::invocation_count() {
  1725 int Method::invocation_count() {
  1724   MethodCounters *mcs = method_counters();
  1726   MethodCounters *mcs = method_counters();
  1725   if (TieredCompilation) {
  1727   if (TieredCompilation) {
  1726     MethodData* const mdo = method_data();
  1728     MethodData* const mdo = method_data();
  1782   if (mcs != NULL) {
  1784   if (mcs != NULL) {
  1783     mcs->set_highest_osr_comp_level(level);
  1785     mcs->set_highest_osr_comp_level(level);
  1784   }
  1786   }
  1785 }
  1787 }
  1786 
  1788 
       
  1789 #if INCLUDE_JVMTI
       
  1790 
  1787 BreakpointInfo::BreakpointInfo(Method* m, int bci) {
  1791 BreakpointInfo::BreakpointInfo(Method* m, int bci) {
  1788   _bci = bci;
  1792   _bci = bci;
  1789   _name_index = m->name_index();
  1793   _name_index = m->name_index();
  1790   _signature_index = m->signature_index();
  1794   _signature_index = m->signature_index();
  1791   _orig_bytecode = (Bytecodes::Code) *m->bcp_from(_bci);
  1795   _orig_bytecode = (Bytecodes::Code) *m->bcp_from(_bci);
  1818 void BreakpointInfo::clear(Method* method) {
  1822 void BreakpointInfo::clear(Method* method) {
  1819   *method->bcp_from(_bci) = orig_bytecode();
  1823   *method->bcp_from(_bci) = orig_bytecode();
  1820   assert(method->number_of_breakpoints() > 0, "must not go negative");
  1824   assert(method->number_of_breakpoints() > 0, "must not go negative");
  1821   method->decr_number_of_breakpoints(Thread::current());
  1825   method->decr_number_of_breakpoints(Thread::current());
  1822 }
  1826 }
       
  1827 
       
  1828 #endif // INCLUDE_JVMTI
  1823 
  1829 
  1824 // jmethodID handling
  1830 // jmethodID handling
  1825 
  1831 
  1826 // This is a block allocating object, sort of like JNIHandleBlock, only a
  1832 // This is a block allocating object, sort of like JNIHandleBlock, only a
  1827 // lot simpler.
  1833 // lot simpler.