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

Reply via email to