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

Jiangli Zhou jiangli.zhou at oracle.com
Fri Jun 29 15:01:09 PDT 2012


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