--- old/src/cpu/sparc/vm/frame_sparc.cpp 2016-07-28 11:41:58.416358695 -0700 +++ new/src/cpu/sparc/vm/frame_sparc.cpp 2016-07-28 11:41:58.292351647 -0700 @@ -357,12 +357,6 @@ _cb = CodeCache::find_blob(_pc); } _deopt_state = unknown; -#ifdef ASSERT - if ( _cb != NULL && _cb->is_compiled()) { - // Without a valid unextended_sp() we can't convert the pc to "original" - assert(!((CompiledMethod*)_cb)->is_deopt_pc(_pc), "invariant broken"); - } -#endif // ASSERT } frame::frame(intptr_t* sp, unpatchable_t, address pc, CodeBlob* cb) { @@ -534,6 +528,7 @@ void frame::patch_pc(Thread* thread, address pc) { + vmassert(_deopt_state != unknown, "frame is unpatchable"); if(thread == Thread::current()) { StubRoutines::Sparc::flush_callers_register_windows_func()(); }