Mercurial > hg > graal-compiler
changeset 485:ac8fe14c93e4
6767587: missing call to make_not_entrant after deoptimizing for patching volatiles
Reviewed-by: rasbold, kvn
author | never |
---|---|
date | Fri, 12 Dec 2008 19:53:25 -0800 |
parents | ffe19141e312 |
children | a738a625039a |
files | src/share/vm/c1/c1_Runtime1.cpp |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/vm/c1/c1_Runtime1.cpp Fri Dec 12 15:37:46 2008 -0800 +++ b/src/share/vm/c1/c1_Runtime1.cpp Fri Dec 12 19:53:25 2008 -0800 @@ -842,6 +842,13 @@ if (TracePatching) { tty->print_cr("Deoptimizing for patching volatile field reference"); } + // It's possible the nmethod was invalidated in the last + // safepoint, but if it's still alive then make it not_entrant. + nmethod* nm = CodeCache::find_nmethod(caller_frame.pc()); + if (nm != NULL) { + nm->make_not_entrant(); + } + VM_DeoptimizeFrame deopt(thread, caller_frame.id()); VMThread::execute(&deopt);