< prev index next >

src/share/vm/prims/jvmtiThreadState.hpp

Print this page

        

*** 416,433 **** public: RedefineVerifyMark(Klass* the_class, Klass* scratch_class, JvmtiThreadState *state) : _state(state), _scratch_class(scratch_class) { _state->set_class_versions_map(the_class, scratch_class); ! _scratch_mirror = Handle(Thread::current(), _scratch_class->java_mirror()); ! _scratch_class->set_java_mirror(the_class->java_mirror()); } ~RedefineVerifyMark() { // Restore the scratch class's mirror, so when scratch_class is removed // the correct mirror pointing to it can be cleared. ! _scratch_class->set_java_mirror(_scratch_mirror()); _state->clear_class_versions_map(); } }; #endif // SHARE_VM_PRIMS_JVMTITHREADSTATE_HPP --- 416,435 ---- public: RedefineVerifyMark(Klass* the_class, Klass* scratch_class, JvmtiThreadState *state) : _state(state), _scratch_class(scratch_class) { _state->set_class_versions_map(the_class, scratch_class); ! Thread* thread = Thread::current(); ! _scratch_mirror = Handle(thread, _scratch_class->java_mirror()); ! Handle the_mirror(thread, the_class->java_mirror()); ! _scratch_class->set_java_mirror(the_mirror); } ~RedefineVerifyMark() { // Restore the scratch class's mirror, so when scratch_class is removed // the correct mirror pointing to it can be cleared. ! _scratch_class->set_java_mirror(_scratch_mirror); _state->clear_class_versions_map(); } }; #endif // SHARE_VM_PRIMS_JVMTITHREADSTATE_HPP
< prev index next >