Code Review for 6956931

Prepared by:never on Wed Jun 16 11:39:55 PDT 2010
Workspace:/net/smite.sfbay/export/ws/sweep
Compare against: ssh://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot
Summary of changes: 271 lines changed: 170 ins; 72 del; 29 mod; 11471 unchg
Patch of changes: 6956931.patch
Author comments:
6956931: assert(SafepointSynchronize::is_at_safepoint()) failed: must be executed at a safepoint
Reviewed-by: kvn, dcubed

Since 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.

Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/code/compiledIC.cpp

17 lines changed: 17 ins; 0 del; 0 mod; 662 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/code/compiledIC.hpp

1 line changed: 0 ins; 0 del; 1 mod; 240 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/code/nmethod.cpp

115 lines changed: 49 ins; 60 del; 6 mod; 2687 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/code/nmethod.hpp

26 lines changed: 7 ins; 11 del; 8 mod; 687 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/gc_interface/collectedHeap.cpp

0 lines changed: 0 ins; 0 del; 0 mod; 413 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/includeDB_core

2 lines changed: 2 ins; 0 del; 0 mod; 4762 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/jniHandles.cpp

1 line changed: 1 ins; 0 del; 0 mod; 578 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/sweeper.cpp

102 lines changed: 88 ins; 1 del; 13 mod; 427 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/sweeper.hpp

5 lines changed: 4 ins; 0 del; 1 mod; 68 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/share/vm/utilities/vmError.cpp

2 lines changed: 2 ins; 0 del; 0 mod; 947 unchg

This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).