src/share/vm/code/nmethod.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
JDK-8027593 Cdiff src/share/vm/code/nmethod.cpp
src/share/vm/code/nmethod.cpp
Print this page
*** 1260,1270 ****
// The Method* is gone at this point
assert(_method == NULL, "Tautology");
set_osr_link(NULL);
//set_scavenge_root_link(NULL); // done by prune_scavenge_root_nmethods
! NMethodSweeper::notify();
}
void nmethod::invalidate_osr_method() {
assert(_entry_bci != InvocationEntryBci, "wrong kind of nmethod");
// Remove from list of active nmethods
--- 1260,1270 ----
// The Method* is gone at this point
assert(_method == NULL, "Tautology");
set_osr_link(NULL);
//set_scavenge_root_link(NULL); // done by prune_scavenge_root_nmethods
! NMethodSweeper::report_state_change(this);
}
void nmethod::invalidate_osr_method() {
assert(_entry_bci != InvocationEntryBci, "wrong kind of nmethod");
// Remove from list of active nmethods
*** 1294,1304 ****
if (PrintCompilation && _state != unloaded) {
print_on(tty, _state == zombie ? "made zombie" : "made not entrant");
}
}
! // Common functionality for both make_not_entrant and make_zombie
bool nmethod::make_not_entrant_or_zombie(unsigned int state) {
assert(state == zombie || state == not_entrant, "must be zombie or not_entrant");
assert(!is_zombie(), "should not already be a zombie");
// Make sure neither the nmethod nor the method is flushed in case of a safepoint in code below.
--- 1294,1306 ----
if (PrintCompilation && _state != unloaded) {
print_on(tty, _state == zombie ? "made zombie" : "made not entrant");
}
}
! /**
! * Common functionality for both make_not_entrant and make_zombie
! */
bool nmethod::make_not_entrant_or_zombie(unsigned int state) {
assert(state == zombie || state == not_entrant, "must be zombie or not_entrant");
assert(!is_zombie(), "should not already be a zombie");
// Make sure neither the nmethod nor the method is flushed in case of a safepoint in code below.
*** 1418,1430 ****
if (TraceCreateZombies) {
tty->print_cr("nmethod <" INTPTR_FORMAT "> code made %s", this, (state == not_entrant) ? "not entrant" : "zombie");
}
! // Make sweeper aware that there is a zombie method that needs to be removed
! NMethodSweeper::notify();
!
return true;
}
void nmethod::flush() {
// Note that there are no valid oops in the nmethod anymore.
--- 1420,1430 ----
if (TraceCreateZombies) {
tty->print_cr("nmethod <" INTPTR_FORMAT "> code made %s", this, (state == not_entrant) ? "not entrant" : "zombie");
}
! NMethodSweeper::report_state_change(this);
return true;
}
void nmethod::flush() {
// Note that there are no valid oops in the nmethod anymore.
src/share/vm/code/nmethod.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File