Request for reviews (M): 6873116: Modify reexecute implementation to use pcDesc to record the reexecute bit

changpeng fang - Sun Microsystems - Santa Clara United States Changpeng.Fang at Sun.COM
Wed Aug 19 12:44:54 PDT 2009


On 08/19/09 12:36, Vladimir Kozlov wrote:
> Looks good.
>
> Could you also fix the annoying problem in nodes dump:
> all nodes which have jvms info print reexecute bit value
> even if it is false:
>
>  9      Parm    ===  3  [[ 139  128 ]] ReturnAdr !jvms: Thread::<init> 
> @ bci:-1 reexecute:false
>  8      Parm    ===  3  [[ 139  128  114  52 ]] FramePtr !jvms: 
> Thread::<init> @ bci:-1 reexecute:false
>  117    Proj    ===  114  [[ 137  131  136  135  128  132  133  134 ]] 
> #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: Thread::<init> @ bci:45 
> reexecute:false
>  116    Proj    ===  114  [[ 128  120  130  125 ]] #1 !jvms: 
> Thread::<init> @ bci:45 reexecute:false
>  121    CatchProj       ===  120  [[ 128 ]] #0 at bci -1  !jvms: 
> Thread::<init> @ bci:45 reexecute:false
>
> Could you print just "reexecute" only when reexecute == true?
>
Thanks. I have also noticed this, and was waiting for somebody to 
complain :-) .
I will make it the way you suggested.

Thanks,

Changpeng


> Thanks,
> Vladimir
>
> changpeng fang - Sun Microsystems - Santa Clara United States wrote:
>> http://cr.openjdk.java.net/~cfang/6873116/webrev.00/
>>
>> Fixed 6873116:  Modify reexecute implementation to use pcDesc to 
>> record the reexecute bit
>>
>> The implementation in this work is mostly from Christian's work on 
>> reexecute/mh bit changes.
>>
>> Problem:
>> Current implementation of reexecute bit uses DebugInfoStreams to 
>> record the reexecute bit by compressing the reexecute bit
>> into bci field. This makes the code look ugly 
>> (e.g.read_bci_and_reexecute(bool& reexecute). It also makes the 
>> future addition
>> of debuginfo difficult.
>>
>> Solution:
>> In this work, we use pcDesc to record the reexecute bit obtained from 
>> describe_scope, and then store the reexecute bit to
>> scopeDesc when a scopeDesc object is created.
>>
>> Tests:
>>  JPRT, CompileTheWord, refworkload
>>
>> Thanks,
>>
>> Changpeng
>>



More information about the hotspot-compiler-dev mailing list