RFR(M): 8006683: Add WhiteBox API to testing of compiler

Remi Forax forax at univ-mlv.fr
Wed Jan 30 12:11:21 PST 2013


On 01/30/2013 08:53 PM, Vladimir Kozlov wrote:
> Igor,
>
> I agree with Mikael to give different name to test.
>
> Calls to get info in VM looks fine to me. Could you also add call to 
> get compilation level code->comp_level() of compiled code?
>
> Do we plan to add more WB tests later as separate *.java tests or we 
> keep only one  CompilerWhiteBoxTest.java and update it?
>
> Thanks,
> Vladimir

Hi all,
may I suggest to add several more methods that I would like to have when 
testing runtimes of languages based on the VM.

boolean setForceInlineMethod(Method, boolean)
   which should be equivalent to put @ForceInline on a method.

enqueueMethodForCompilation(Method method)
   enqueue a method even if threshold is not reached
   (avoid to have a constant in the test that must be updated when the 
compile threshold of Hotspot will change)

void clearMetaDataObject(Method method)
   be sure that we are in fresh state before calling a method.
   (maybe deoptimizeMethod has this side effect ?)

cheers,
Rémi

>
> On 1/29/13 12:31 PM, Igor Ignatyev wrote:
>> Hi all,
>>
>> Please review the patch
>>
>> 1. added new functions to WhiteBox:
>>    public native void    deoptimizeAll();
>>    public native boolean isMethodCompiled(Method method);
>>    public native boolean isMethodCompilable(Method method);
>>    public native boolean isMethodQueuedForCompilation(Method method);
>>    public native int     deoptimizeMethod(Method method);
>>    public native boolean setDontInlineMethod(Method method, boolean 
>> value);
>>    public native int     getCompileQueuesSize();
>>
>> 2. added test 'test/compiler/WBApiTest.java' which exercises these
>> functions
>>
>> 3. added result type to macro WB_METHOD_DECLARE
>>
>> webrev: http://cr.openjdk.java.net/~vlivanov/8006683/webrev.00/



More information about the hotspot-compiler-dev mailing list