Mercurial > hg > openjdk > jdk9 > hotspot
changeset 11770:1de5545462c9
8029441: assert(!((nmethod*)_cb)->is_deopt_pc(_pc)) failed: invariant broken
Summary: move patchable check into patch_pc
Reviewed-by: dcubed
author | dlong |
---|---|
date | Tue, 02 Aug 2016 11:06:25 -0700 |
parents | 2d959c8d4804 |
children | f2ff307e3e36 b616b5fa5da1 |
files | src/cpu/sparc/vm/frame_sparc.cpp |
diffstat | 1 files changed, 1 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/frame_sparc.cpp Mon Aug 01 22:34:23 2016 -0700 +++ b/src/cpu/sparc/vm/frame_sparc.cpp Tue Aug 02 11:06:25 2016 -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()(); }