RFR: 8238988: Rename thread "in stack" methods and add in_stack_range
David Holmes
david.holmes at oracle.com
Mon Feb 17 06:19:31 UTC 2020
PS. I fixed the bug synopsis to read is_in_stack_range.
David
On 17/02/2020 3:18 pm, David Holmes wrote:
> Bug: https://bugs.openjdk.java.net/browse/JDK-8238988
>
> Following on from JDK-8234372 this change introduces some renaming:
>
> Thread::is_in_stack -> Thread::is_in_live_stack
> Thread::on_local_stack -> Thread::is_in_full_stack
>
> and then introduces private:
>
> bool is_in_stack_range(address adr, address limit, bool inclusive)
>
> with public wrappers:
>
> bool is_in_stack_range_incl(address adr, address limit)
> bool is_in_stack_range_excl(address adr, address limit)
>
> and reimplements the existing "in stack" methods using is_in_stack_range().
>
> This can be seen in the phase 1 webrev:
>
> http://cr.openjdk.java.net/~dholmes/8238988/webrev.v1/
>
> (There are some copyright updates missing in phase 1 but they are in the
> phase 2 full webrev.)
>
> Phase 2 then replaces all the explicit stack range checks (x <
> stack_base() && x >= limit) with use of the new public methods.
>
> Incremental webrev from phase 1:
>
> http://cr.openjdk.java.net/~dholmes/8238988/webrev.v2-incr/
>
> Full webrev for phases 1 & 2:
>
> http://cr.openjdk.java.net/~dholmes/8238988/webrev.v2/
>
> A few notes:
>
> - some checks for x < stack_base() are now is_in_full_stack(x), adding
> the missing/implied check against stack_end() even though it may not
> strictly be needed in some cases
> - some checks for x != NULL are removed as it is implicit in the range
> check
> - removed some redundant assertions that stack_base() != NULL as that
> assertion is already executed in the "in stack" functions.
> - removed redundant os::Solaris::valid_stack_address ands replaced with
> thread method usage
>
> Testing:
> - tier 1-3 on x86 and sparc platforms
> - build test on ARM 32-bit, Aarch64, PPC64le and S390X.
>
> Non-x86/sparc platforms need testing by folk who have access to those
> platforms - thanks.
>
> Thanks,
> David
> -----
More information about the hotspot-runtime-dev
mailing list