review (S) for 6956931: assert(SafepointSynchronize::is_at_safepoint()) failed: must be executed at a safepoint
tom.rodriguez at oracle.com
Wed Jun 2 11:52:03 PDT 2010
On Jun 2, 2010, at 11:21 AM, Daniel D. Daugherty wrote:
> Looks like the old code (1344-1358) had the possibility of a
> double event post for both JVM/TI and dtrace. The newly
> refactored code doesn't have that (possible) issue. Nice fix.
> I'm not aware of any open bugs complaining about double
> CompiledMethodUnload events or dtrace probes, but if there are
> I think you've fixed those too.
> internal_post_compiled_method_unload() should be
> post_compiled_method_unload_internal() if you want to follow
> the existing style in jvmtiExport.
> Same internal_post_compiled_method_unload() naming issue
> On 6/2/2010 10:51 AM, Tom Rodriguez wrote:
>> 6956931: assert(SafepointSynchronize::is_at_safepoint()) failed: must be executed at a safepoint
>> SSince the sweeper no longer runs at a safepoint the compiled method
>> unload logic doesn't always run at a safepoint so we need a new
>> synchronous notification path that's equivalent to the
>> compiled_method_load logic. I refactored the code a bit to share the
>> core notification logic and I refactored the notification in nmethod
>> to remove duplication. Tested with NSK jvmti,jdb,jdi,hprof suites.
More information about the hotspot-compiler-dev