< prev index next >

src/share/vm/oops/oopsHierarchy.cpp

Print this page

        

*** 33,43 **** void oop::register_oop() { assert (CheckUnhandledOops, "should only call when CheckUnhandledOops"); if (!Universe::is_fully_initialized()) return; // This gets expensive, which is why checking unhandled oops is on a switch. ! Thread* t = ThreadLocalStorage::thread(); if (t != NULL && t->is_Java_thread()) { frame fr = os::current_frame(); // This points to the oop creator, I guess current frame points to caller assert (fr.pc(), "should point to a vm frame"); t->unhandled_oops()->register_unhandled_oop(this, fr.pc()); --- 33,43 ---- void oop::register_oop() { assert (CheckUnhandledOops, "should only call when CheckUnhandledOops"); if (!Universe::is_fully_initialized()) return; // This gets expensive, which is why checking unhandled oops is on a switch. ! Thread* t = Thread::current(); if (t != NULL && t->is_Java_thread()) { frame fr = os::current_frame(); // This points to the oop creator, I guess current frame points to caller assert (fr.pc(), "should point to a vm frame"); t->unhandled_oops()->register_unhandled_oop(this, fr.pc());
*** 46,56 **** void oop::unregister_oop() { assert (CheckUnhandledOops, "should only call when CheckUnhandledOops"); if (!Universe::is_fully_initialized()) return; // This gets expensive, which is why checking unhandled oops is on a switch. ! Thread* t = ThreadLocalStorage::thread(); if (t != NULL && t->is_Java_thread()) { t->unhandled_oops()->unregister_unhandled_oop(this); } } #endif // CHECK_UNHANDLED_OOPS --- 46,56 ---- void oop::unregister_oop() { assert (CheckUnhandledOops, "should only call when CheckUnhandledOops"); if (!Universe::is_fully_initialized()) return; // This gets expensive, which is why checking unhandled oops is on a switch. ! Thread* t = Thread::current(); if (t != NULL && t->is_Java_thread()) { t->unhandled_oops()->unregister_unhandled_oop(this); } } #endif // CHECK_UNHANDLED_OOPS
< prev index next >