RFR (S) 8219459: oopDesc::is_valid() is broken
Thomas Stüfe
thomas.stuefe at gmail.com
Mon May 13 18:07:24 UTC 2019
Hi Coleen, Martin,
I'm also fine with this patch. I agree this function is a bit overkillish.
Also, in Klass::is_valid(), we do:
if (!MetaspaceUtils::is_range_in_committed(k, k + 1)) return false;
which is strict but then again not really correct, since we only do test
range of the base Klass structure, excluding v/itable. We should probably
check with k->size() range instead.
Or, just do a Metaspace::contains() with the Klass pointer. I think the
cases where it points to valid Metaspace but its end does not are probably
rare.
Cheers, Thomas
On Wed, May 8, 2019 at 11:45 PM <coleen.phillimore at oracle.com> wrote:
> Summary: Use Metaspace::contains() to test address ranges.
>
> Tested with hs-tier1-3, and all tier1 on linux-x64-debug. Tested
> manually in gdb.
>
> open webrev at http://cr.openjdk.java.net/~coleenp/2019/8219459.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8219459
>
> Thanks,
> Coleen
>
More information about the hotspot-runtime-dev
mailing list