comparison src/share/vm/memory/universe.cpp @ 3894:b27c72d69fd1

7083184: JSR 292: don't store context class argument with call site dependencies Reviewed-by: jrose, never
author twisti
date Mon, 29 Aug 2011 05:07:35 -0700
parents fdb992d83a87
children f08d439fab8c
comparison
equal deleted inserted replaced
3893:8805f8c1e23e 3894:b27c72d69fd1
1201 CallSiteDepChange changes(call_site(), method_handle()); 1201 CallSiteDepChange changes(call_site(), method_handle());
1202 1202
1203 // Compute the dependent nmethods that have a reference to a 1203 // Compute the dependent nmethods that have a reference to a
1204 // CallSite object. We use instanceKlass::mark_dependent_nmethod 1204 // CallSite object. We use instanceKlass::mark_dependent_nmethod
1205 // directly instead of CodeCache::mark_for_deoptimization because we 1205 // directly instead of CodeCache::mark_for_deoptimization because we
1206 // want dependents on the class CallSite only not all classes in the 1206 // want dependents on the call site class only not all classes in
1207 // ContextStream. 1207 // the ContextStream.
1208 int marked = 0; 1208 int marked = 0;
1209 { 1209 {
1210 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag); 1210 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
1211 instanceKlass* call_site_klass = instanceKlass::cast(SystemDictionary::CallSite_klass()); 1211 instanceKlass* call_site_klass = instanceKlass::cast(call_site->klass());
1212 marked = call_site_klass->mark_dependent_nmethods(changes); 1212 marked = call_site_klass->mark_dependent_nmethods(changes);
1213 } 1213 }
1214 if (marked > 0) { 1214 if (marked > 0) {
1215 // At least one nmethod has been marked for deoptimization 1215 // At least one nmethod has been marked for deoptimization
1216 VM_Deoptimize op; 1216 VM_Deoptimize op;