Compilation warning after: 7172967: Eliminate the constMethod's _method backpointer to the methodOop

Jiangli Zhou jiangli.zhou at oracle.com
Fri Jun 29 16:04:03 PDT 2012


Hi Vladimir,

Will file a bug. Thanks for the info!

Jiangli

On 06/29/2012 03:50 PM, Vladimir Kozlov wrote:
> Jiangli,
>
> Yes, please, file a bug and fix it. We should not have warnings during 
> VM build.
>
> Build Solaris VM as you do on Linux, it is not my special case. All 
> Solaris JPRT builds has this warning now:
>
> % grep "line 519: warning" 
> /net/prt-archiver.us.oracle.com/data/jprt/archive/2012/06/2012-06-29-182010.jcoomes.gc-push/logs/*-debug.log
>
> Vladimir
>
> Jiangli Zhou wrote:
>> Hi Vladimir,
>>
>> Thanks for letting me know. Could you please give me the build 
>> command or script for the solaris build? Should I file a bug for the 
>> build warning?
>>
>> Thanks!
>>
>> Jiangli
>>
>> On 06/29/2012 02:45 PM, Vladimir Kozlov wrote:
>>> I got compilation warning compiling dtrace/libjvm_db.c. I think it 
>>> is because wrong method is used to process J->P.
>>>
>>> Here are 717296 changes:
>>> -  err = read_pointer(J, methodOopPtr + 
>>> OFFSET_methodOopDesc_constMethod, &const
>>> Method);
>>> +  err = read_pointer(J->P, constMethod + 
>>> OFFSET_constMethodOopDesc_constants, &
>>> constantPool);
>>>
>>> Here are warning:
>>>
>>> "/net/irkutsk.us.oracle.com/export/home/kvn/work2/hg/7119644/src/os/solaris/dtrace/libjvm_db.c", 
>>> line 519: warning: argument #1 is incompatible with prototype:
>>>         prototype: pointer to struct jvm_agent {pointer to struct 
>>> ps_prochandle {..} P, unsigned long nmethod_vtbl, unsigned long 
>>> CodeBlob_vtbl, unsigned long BufferBlob_vtbl, unsigned long 
>>> RuntimeStub_vtbl, unsigned long Use_Compressed_Oops_address, 
>>> unsigned long Universe_methodKlassObj_address, unsigned long 
>>> Universe_narrow_oop_base_address, unsigned long 
>>> Universe_narrow_oop_shift_address, unsigned long 
>>> CodeCache_heap_address, unsigned char Use_Compressed_Oops, unsigned 
>>> long Universe_methodKlassObj, unsigned long 
>>> Universe_narrow_oop_base, unsigned int Universe_narrow_oop_shift, 
>>> unsigned long CodeCache_low, unsigned long CodeCache_high, unsigned 
>>> long CodeCache_segmap_low, unsigned long CodeCache_segmap_high, int 
>>> SIZE_CodeCache_log2_segment, unsigned long methodOopPtr, unsigned 
>>> long bcx, pointer to struct Nmethod_t {..} N, struct frame {..} 
>>> prev_fr, struct frame {..} curr_fr} : 
>>> "/net/irkutsk.us.oracle.com/export/home/kvn/work2/hg/7119644/src/os/solaris/dtrace/libjvm_db.c", 
>>> line 201
>>>         argument : pointer to struct ps_prochandle {}
>>>
>>> Vladimir
>>>
>>> Jiangli Zhou wrote:
>>>> Hi,
>>>>
>>>> Please review the following webrev that eliminates the _method 
>>>> backpointer from constMethod. The constantPoolOop pointer is moved 
>>>> from methodOop to constMethod, so there is still enough information 
>>>> to map from constMethod back to methodOop.
>>>>
>>>>   http://cr.openjdk.java.net/~jiangli/7172967/webrev.00/
>>>>
>>>> Tested with jprt, runtheses and vm.quick.testlist. No performance 
>>>> degradation in specjbb2005 and specjvm98. Your review and comments 
>>>> very appreciated.
>>>>
>>>> ============================================================================== 
>>>>
>>>> logs.method_baseline.1:
>>>>   Benchmark           Samples        Mean     Stdev             
>>>> Geomean Weight
>>>>   specjbb2005               8    56127.57    488.69
>>>>   specjvm98                 8      537.57     14.89
>>>> ============================================================================== 
>>>>
>>>> logs.method.1:
>>>>   Benchmark           Samples        Mean     Stdev   %Diff     P  
>>>> Significant
>>>>   specjbb2005               8    56733.04    549.11    1.08 
>>>> 0.036            *
>>>>   specjvm98                 8      538.45     19.90    0.16 
>>>> 0.922            *
>>>> ============================================================================== 
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Jiangli
>>



More information about the hotspot-runtime-dev mailing list