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

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Wed Aug 19 12:36:58 PDT 2009


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,
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