RFR(M) : 8064669 : compiler/whitebox/AllocationCodeBlobTest.java crashes / asserts
Albert Noll
albert.noll at oracle.com
Fri Nov 14 15:25:42 UTC 2014
Hi Igor,
I took a quick look at your fix and the changes seem fine to me (not a
reviewer).
Thanks a lot for taking care of this.
Best,
Albert
On 11/14/2014 04:03 PM, Igor Ignatyev wrote:
> 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
More information about the hotspot-compiler-dev
mailing list