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

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Jun 2 10:57:46 PDT 2010


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