RFR(S) 8028595 : WhiteBox API for stress testing of TieredCompilation
Igor Ignatyev
igor.ignatyev at oracle.com
Mon Dec 8 19:58:05 UTC 2014
Vladimir,
http://cr.openjdk.java.net/~iignatyev/8028595/hotspot/webrev.01/
On 12/03/2014 12:54 AM, Vladimir Kozlov wrote:
> On 12/2/14 1:32 AM, Igor Ignatyev wrote:
>> Vladimir,
>>
>> I need Unsafe.getCompiler for DeoptimizeFramesTest, because in
>> 'non-makeNotEntrant' case, there's no way to determine if the method was
>> deoptimized.
>
> I don't understand how you check that in the test.
getCompiler returns 0 if method isn't compiled or (in my case) was
deoptimized. TestCaseImpl::method uses 'getCompiler' method as a
multiplier for result value. if TestCaseImpl::method returns 0, for-loop
(lines 75--80) quits.
>
> If you only want to check if method was deoptimized you can check
> MethodData::decompile_count().
MethodData::decompile_count is incremented only if nmethod is compiled
by c2. so it can't be used.
>
> I don't like extending Unsafe API for just this test.
well, I can move it to whitebox, if you don't mind to have intrinsics
for it.
>
> Thanks,
> Vladimir
>
>>
>> Thanks,
>> Igor
>>
>> On 12/02/2014 04:54 AM, Vladimir Kozlov wrote:
>>> Why you need new Unsafe.getCompiler()?
>>>
>>> thanks,
>>> Vladimir
>>>
>>> On 11/27/14 2:14 PM, Igor Ignatyev wrote:
>>>> http://cr.openjdk.java.net/~iignatyev/8028595/hotspot/webrev.00/
>>>> 220 lines changed: 212 ins; 8 del; 0 mod;
>>>>
>>>> http://cr.openjdk.java.net/~iignatyev/8028595/jdk/webrev.00/
>>>> 4 lines changed: 4 ins; 0 del; 0 mod;
>>>>
>>>> Hi all,
>>>>
>>>> please review the patch which adds
>>>> - a new whitebox method 'deoptimizeFrames' which deoptimizes methods
>>>> which are currently on stack
>>>> - Unsafe.getCompiler methodhotspot-compiler-dev at openjdk.java.net
>>>> which
>>>> returns 0, 1, 2 if it is interpreted, compiled by c1, c2 accordingly.
>>>>
>>>> jbs: https://bugs.openjdk.java.net/browse/JDK-8028595
>>>> testing: jprt + new added test
>>>>
--
Igor
More information about the hotspot-compiler-dev
mailing list