RFR (S) 8217879: hs_err should print more instructions in hex dump
Schmidt, Lutz
lutz.schmidt at sap.com
Wed Jan 30 11:21:18 UTC 2019
Hi,
is it really necessary to probe each and every byte in the range?
1) is_readable_pointer() tests four subsequent bytes. That suggests a stride of +/-4.
2) Assume a and b are two addresses on the same page. Are there platforms where a is accessible and b is not?
If the answer to 2) is yes, then os::is_readable_range(const void* from, const void* to) needs to be fixed. Otherwise, at most one is_readable_pointer() call per page is necessary.
Thanks for considering!
Lutz
On 29.01.19, 18:48, "hotspot-dev on behalf of Thomas Stüfe" <hotspot-dev-bounces at openjdk.java.net on behalf of thomas.stuefe at gmail.com> wrote:
On Tue, Jan 29, 2019 at 6:33 PM Aleksey Shipilev <shade at redhat.com> wrote:
> On 1/29/19 6:27 PM, Thomas Stüfe wrote:
> > On Tue, Jan 29, 2019 at 6:12 PM Aleksey Shipilev <shade at redhat.com
> <mailto:shade at redhat.com>> wrote:
> >
> > On 1/29/19 5:34 PM, Thomas Stüfe wrote:
> > > Even better. No need to store those bytes on the first leg.
> >
> > This would be webrev.05:
> > http://cr.openjdk.java.net/~shade/8217879/webrev.05/
> >
> > Looks fine. You could move calculation of low/high out of the loops
> though.
> > If you want to go with this one, I do not need another webrev.
>
> You cannot that easily? Having calculation is the loop guarantees low/high
> are definitely readable.
> You can do this outside the loop, with +1/-1 to delta, but that sets us up
> for the off-by-one errors...
>
>
Oh, okay. This is fine to me then.
..Thomas
> -Aleksey
>
>
More information about the hotspot-dev
mailing list