1554 itr->bci()); break; |
1554 itr->bci()); break; |
1555 case Bytecodes::_putstatic: do_field(false, true, itr->get_index_big(), itr->bci()); break; |
1555 case Bytecodes::_putstatic: do_field(false, true, itr->get_index_big(), itr->bci()); break; |
1556 case Bytecodes::_getfield: do_field(true, false, itr->get_index_big(), itr->bci()); break; |
1556 case Bytecodes::_getfield: do_field(true, false, itr->get_index_big(), itr->bci()); break; |
1557 case Bytecodes::_putfield: do_field(false, false, itr->get_index_big(), itr->bci()); break; |
1557 case Bytecodes::_putfield: do_field(false, false, itr->get_index_big(), itr->bci()); break; |
1558 |
1558 |
1559 case Bytecodes::_invokevirtual: |
1559 case Bytecodes::_invokevirtual: |
1560 case Bytecodes::_invokespecial: do_method(false, false, itr->get_index_big(), itr->bci()); break; |
1560 case Bytecodes::_invokespecial: do_method(false, false, itr->get_index_big(), itr->bci()); break; |
1561 case Bytecodes::_invokestatic: do_method(true, false, itr->get_index_big(), itr->bci()); break; |
1561 case Bytecodes::_invokestatic: do_method(true, false, itr->get_index_big(), itr->bci()); break; |
1562 case Bytecodes::_invokedynamic: do_method(true, false, itr->get_index_int(), itr->bci()); break; |
1562 case Bytecodes::_invokedynamic: do_method(true, false, itr->get_index_int(), itr->bci()); break; |
1563 case Bytecodes::_invokeinterface: do_method(false, true, itr->get_index_big(), itr->bci()); break; |
1563 case Bytecodes::_invokeinterface: do_method(false, true, itr->get_index_big(), itr->bci()); break; |
1564 case Bytecodes::_newarray: |
1564 case Bytecodes::_newarray: |
1565 case Bytecodes::_anewarray: pp_new_ref(vCTS, itr->bci()); break; |
1565 case Bytecodes::_anewarray: pp_new_ref(vCTS, itr->bci()); break; |
1566 case Bytecodes::_checkcast: do_checkcast(); break; |
1566 case Bytecodes::_checkcast: do_checkcast(); break; |
1567 case Bytecodes::_arraylength: |
1567 case Bytecodes::_arraylength: |
1568 case Bytecodes::_instanceof: pp(rCTS, vCTS); break; |
1568 case Bytecodes::_instanceof: pp(rCTS, vCTS); break; |
1569 case Bytecodes::_monitorenter: do_monitorenter(itr->bci()); break; |
1569 case Bytecodes::_monitorenter: do_monitorenter(itr->bci()); break; |
1570 case Bytecodes::_monitorexit: do_monitorexit(itr->bci()); break; |
1570 case Bytecodes::_monitorexit: do_monitorexit(itr->bci()); break; |
1828 } |
1828 } |
1829 |
1829 |
1830 |
1830 |
1831 |
1831 |
1832 void GenerateOopMap::do_ldc(int idx, int bci) { |
1832 void GenerateOopMap::do_ldc(int idx, int bci) { |
1833 constantPoolOop cp = method()->constants(); |
1833 constantPoolOop cp = method()->constants(); |
1834 constantTag tag = cp->tag_at(idx); |
1834 CellTypeState cts = cp->is_pointer_entry(idx) ? CellTypeState::make_line_ref(bci) : valCTS; |
1835 |
|
1836 CellTypeState cts = (tag.is_string() || tag.is_unresolved_string() || |
|
1837 tag.is_klass() || tag.is_unresolved_klass()) |
|
1838 ? CellTypeState::make_line_ref(bci) : valCTS; |
|
1839 ppush1(cts); |
1835 ppush1(cts); |
1840 } |
1836 } |
1841 |
1837 |
1842 void GenerateOopMap::do_multianewarray(int dims, int bci) { |
1838 void GenerateOopMap::do_multianewarray(int dims, int bci) { |
1843 assert(dims >= 1, "sanity check"); |
1839 assert(dims >= 1, "sanity check"); |