On 8/06/2021 11:40 pm, Thomas Stuefe wrote:
On Mon, 7 Jun 2021 03:18:32 GMT, Henry Jen <henry...@openjdk.org> wrote:
…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
Please make sure the failing tests have nothing to do with your patch.
`gc/shenandoah/compiler/TestLinkToNativeRBP.java`
sounds at least suggestive.
warning: using incubating module(s): jdk.incubator.foreign
/home/runner/work/jdk/jdk/test/hotspot/jtreg/gc/shenandoah/compiler/TestLinkToNativeRBP.java:42:
error: cannot find symbol
import jdk.incubator.foreign.LibraryLookup;
Looks like shenandoah test was not updated for latest Foreign changes.
David
-------------
PR: https://git.openjdk.java.net/jdk/pull/4256