review (S) for 6956931: assert(SafepointSynchronize::is_at_safepoint()) failed: must be executed at a safepoint

Tom Rodriguez tom.rodriguez at oracle.com
Wed Jun 2 11:51:40 PDT 2010


Fixed.  Thanks!

tom

On Jun 2, 2010, at 10:57 AM, Vladimir Kozlov wrote:

> Looks good.
> 
> ! void JvmtiExport::post_compiled_method_unload(jmethodID mid, const void *code_begin) {
> !   if (SafepointSynchronize::is_at_safepoint()) {
> !     // Class unloading can cause nmethod unloading which is report by
>                                                              ^ reported
> 
> Vladimir
> 
> Tom Rodriguez wrote:
>> http://cr.openjdk.java.net/~never/6956931
>> 6956931: assert(SafepointSynchronize::is_at_safepoint()) failed: must be executed at a safepoint
>> Reviewed-by:
>> 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 mailing list