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