RFR(M) : 8064669 : compiler/whitebox/AllocationCodeBlobTest.java crashes / asserts
Igor Ignatyev
igor.ignatyev at oracle.com
Fri Nov 14 15:03:38 UTC 2014
http://cr.openjdk.java.net/~iignatyev/8064669/webrev.00/
261 lines changed: 231 ins; 22 del; 8 mod;
Hi all,
Please review patch:
Problems:
0. NMethodSweeper::possibly_sweep is executed outside CodeCacheSweeperThread
1. DummyBlob is initialized after the lock is released, so other threads
are able to see uninitialized blob
2. NMethodSweeper::sweep_code_cache can pass null to process_nmethod,
this also can lead to a crash. this situation can happen if safepoint
happens during sweeping and after safepoint another thread iterates over
all nmethods.
Fix:
0. WB_ForceNMethodSweep use CodeCacheSweeperThread to execute possibly_sweep
1. move ctor invocation to locked section
2. handle safepoint after processing nmethod in
NMethodSweeper::sweep_code_cache
3. added new test to verify that forceNMethodSweep actually work
4. AllocationCodeBlobTest is modified
- to checks that deoptimization works fine w/ dummy blobs
- to execute forceNMethodSweep more often to increase a chance to
catch such kind problems
jbs:https://bugs.openjdk.java.net/browse/JDK-8064669
testing: jprt + compiler/whitebox tests
--
Igor
More information about the hotspot-compiler-dev
mailing list