Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/method.cpp @ 10206:0cfa93c2fcc4
8012547: Code cache flushing can get stuck reclaming of memory
Summary: Keep sweeping regardless of if we are flushing
Reviewed-by: kvn, twisti
author | neliasso |
---|---|
date | Mon, 29 Apr 2013 13:20:19 +0200 |
parents | aeaca88565e6 |
children | 92ef81e2f571 f0bc60565ba8 |
comparison
equal
deleted
inserted
replaced
10205:62b683108582 | 10206:0cfa93c2fcc4 |
---|---|
875 // This function must not hit a safepoint! | 875 // This function must not hit a safepoint! |
876 address Method::verified_code_entry() { | 876 address Method::verified_code_entry() { |
877 debug_only(No_Safepoint_Verifier nsv;) | 877 debug_only(No_Safepoint_Verifier nsv;) |
878 nmethod *code = (nmethod *)OrderAccess::load_ptr_acquire(&_code); | 878 nmethod *code = (nmethod *)OrderAccess::load_ptr_acquire(&_code); |
879 if (code == NULL && UseCodeCacheFlushing) { | 879 if (code == NULL && UseCodeCacheFlushing) { |
880 nmethod *saved_code = CodeCache::find_and_remove_saved_code(this); | 880 nmethod *saved_code = CodeCache::reanimate_saved_code(this); |
881 if (saved_code != NULL) { | 881 if (saved_code != NULL) { |
882 methodHandle method(this); | 882 methodHandle method(this); |
883 assert( ! saved_code->is_osr_method(), "should not get here for osr" ); | 883 assert( ! saved_code->is_osr_method(), "should not get here for osr" ); |
884 set_code( method, saved_code ); | 884 set_code( method, saved_code ); |
885 } | 885 } |