equal
deleted
inserted
replaced
2313 nmethod* cur = _oops_do_mark_nmethods; |
2313 nmethod* cur = _oops_do_mark_nmethods; |
2314 while (cur != NMETHOD_SENTINEL) { |
2314 while (cur != NMETHOD_SENTINEL) { |
2315 assert(cur != NULL, "not NULL-terminated"); |
2315 assert(cur != NULL, "not NULL-terminated"); |
2316 nmethod* next = cur->_oops_do_mark_link; |
2316 nmethod* next = cur->_oops_do_mark_link; |
2317 cur->_oops_do_mark_link = NULL; |
2317 cur->_oops_do_mark_link = NULL; |
2318 cur->verify_oop_relocations(); |
2318 DEBUG_ONLY(cur->verify_oop_relocations()); |
2319 NOT_PRODUCT(if (TraceScavenge) cur->print_on(tty, "oops_do, unmark")); |
2319 NOT_PRODUCT(if (TraceScavenge) cur->print_on(tty, "oops_do, unmark")); |
2320 cur = next; |
2320 cur = next; |
2321 } |
2321 } |
2322 void* required = _oops_do_mark_nmethods; |
2322 void* required = _oops_do_mark_nmethods; |
2323 void* observed = Atomic::cmpxchg_ptr(NULL, &_oops_do_mark_nmethods, required); |
2323 void* observed = Atomic::cmpxchg_ptr(NULL, &_oops_do_mark_nmethods, required); |