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 13:56:36 PDT 2009
On 08/19/09 13:26, Tom Rodriguez wrote:
> This looks good. The SA fixes look right as well. The only
> suggestion I might make is to pass the PcDesc into the ScopeDesc
> constructor instead of passing in each of the arguments. It's ok the
> way it is but the arguments are just a mirror of PcDesc.
>
In way, the two constructors will be reduced to one. Can I use a default
argument to specify
"serialized_null" considering "avoid a .hpp-.hpp dependency" comment?
// Constructor
ScopeDesc(const nmethod* code, int decode_offset, int
obj_decode_offset, bool reexecute);
// Calls above, giving default value of "serialized_null" to the
// "obj_decode_offset" argument. (We don't use a default argument to
// avoid a .hpp-.hpp dependency.)
ScopeDesc(const nmethod* code, int decode_offset, bool reexecute);
Thanks,
Changpeng
> By the way, does anyone know why the objects for EA are decoded
> eagerly instead of being decoded lazily like all the other debug
> info? That seems like unneeded overhead for most uses of ScopeDesc
> for stack walking.
>
> tom
>
> On Aug 19, 2009, at 10:55 AM, 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