RFR: 8236569: -Xss not multiple of 4K does not work for the main thread on macOS [v5]
Henry Jen
henryjen at openjdk.java.net
Mon Jun 7 03:18:32 UTC 2021
> …d on macOS
>
> This patch simply round up the specified stack size to multiple of the system page size.
>
> Test is trivial, simply run java with -Xss option against following code. On MacOS, before the fix, running with `-Xss159k` and `-Xss160k` would get `7183` and `649` respectively. After fix, both would output `649`, while `-Xss161k` would be same as `-Xss164k` and see 691 as the output.
>
> ```code:java
> public class StackLeak {
> public int depth = 0;
> public void stackLeak() {
> depth++;
> stackLeak();
> }
>
> public static void main(String[] args) {
> var test = new StackLeak();
> try {
> test.stackLeak();
> } catch (Throwable e) {
> System.out.println(test.depth);
> }
> }
> }
Henry Jen has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
- Cast type
- Merge
- Change java -X output for -Xss
- Merge
- Only try to round-up when current value failed
- Avoid overflow on page size
- JDK-8236569: -Xss not multiple of 4K does not work for the main thread on macOS
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/4256/files
- new: https://git.openjdk.java.net/jdk/pull/4256/files/764a1f93..5a8d4a10
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4256&range=04
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4256&range=03-04
Stats: 1679 lines in 41 files changed: 1388 ins; 168 del; 123 mod
Patch: https://git.openjdk.java.net/jdk/pull/4256.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/4256/head:pull/4256
PR: https://git.openjdk.java.net/jdk/pull/4256
More information about the core-libs-dev
mailing list