equal
deleted
inserted
replaced
1634 // Was an OSR adapter generated? |
1634 // Was an OSR adapter generated? |
1635 // O0 = osr nmethod |
1635 // O0 = osr nmethod |
1636 __ br_null_short(O0, Assembler::pn, Lforward); |
1636 __ br_null_short(O0, Assembler::pn, Lforward); |
1637 |
1637 |
1638 // Has the nmethod been invalidated already? |
1638 // Has the nmethod been invalidated already? |
1639 __ ld(O0, nmethod::entry_bci_offset(), O2); |
1639 __ ldub(O0, nmethod::state_offset(), O2); |
1640 __ cmp_and_br_short(O2, InvalidOSREntryBci, Assembler::equal, Assembler::pn, Lforward); |
1640 __ cmp_and_br_short(O2, nmethod::in_use, Assembler::notEqual, Assembler::pn, Lforward); |
1641 |
1641 |
1642 // migrate the interpreter frame off of the stack |
1642 // migrate the interpreter frame off of the stack |
1643 |
1643 |
1644 __ mov(G2_thread, L7); |
1644 __ mov(G2_thread, L7); |
1645 // save nmethod |
1645 // save nmethod |