> …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 four additional commits since the 
last revision:

 - 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/39b041d7..1e96be94

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4256&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4256&range=01-02

  Stats: 485003 lines in 2409 files changed: 450413 ins; 28438 del; 6152 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

Reply via email to