# HG changeset patch # User jwilhelm # Date 1491847808 -7200 # Node ID 5809557e9a6ef417fa89423c6e0b3a16864491ba # Parent 02253db2ace1422f576f58502fc7831ead77424b# Parent 50227e315ca36680e2f6fc9219a19e1f1a53e323 Merge diff -r 02253db2ace1 -r 5809557e9a6e jdk/make/test/JtregNative.gmk --- a/jdk/make/test/JtregNative.gmk Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/make/test/JtregNative.gmk Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -35,12 +35,14 @@ include MakeBase.gmk include TestFilesCompilation.gmk +$(eval $(call IncludeCustomExtension, jdk, test/JtregNative.gmk)) + ################################################################################ # Targets for building the native tests themselves. ################################################################################ # Add more directories here when needed. -BUILD_JDK_JTREG_NATIVE_SRC := \ +BUILD_JDK_JTREG_NATIVE_SRC += \ $(JDK_TOPDIR)/test/native_sanity \ # diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.base/macosx/native/libjli/java_md_macosx.c --- a/jdk/src/java.base/macosx/native/libjli/java_md_macosx.c Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/src/java.base/macosx/native/libjli/java_md_macosx.c Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -886,6 +886,7 @@ if (stack_size > 0) { pthread_attr_setstacksize(&attr, stack_size); } + pthread_attr_setguardsize(&attr, 0); // no pthread guard page on java threads if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) { void * tmp; diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.base/share/native/libjli/java.c --- a/jdk/src/java.base/share/native/libjli/java.c Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/src/java.base/share/native/libjli/java.c Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -201,7 +201,7 @@ * A minimum -Xss stack size suitable for all platforms. */ #ifndef STACK_SIZE_MINIMUM -#define STACK_SIZE_MINIMUM (32 * KB) +#define STACK_SIZE_MINIMUM (64 * KB) #endif /* diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.base/unix/classes/module-info.java.extra --- a/jdk/src/java.base/unix/classes/module-info.java.extra Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/src/java.base/unix/classes/module-info.java.extra Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -32,5 +32,3 @@ exports jdk.internal.module to jdk.internal.vm.compiler; -// AOT uses jdk.internal.misc.Unsafe -exports jdk.internal.misc to jdk.aot; diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.base/unix/native/libjli/java_md_solinux.c --- a/jdk/src/java.base/unix/native/libjli/java_md_solinux.c Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/src/java.base/unix/native/libjli/java_md_solinux.c Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -899,6 +899,7 @@ if (stack_size > 0) { pthread_attr_setstacksize(&attr, stack_size); } + pthread_attr_setguardsize(&attr, 0); // no pthread guard page on java threads if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) { void * tmp; diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.base/windows/classes/module-info.java.extra --- a/jdk/src/java.base/windows/classes/module-info.java.extra Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/src/java.base/windows/classes/module-info.java.extra Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -26,3 +26,13 @@ exports sun.security.rsa to jdk.crypto.mscapi; exports sun.security.internal.spec to jdk.crypto.mscapi; exports sun.security.util to jdk.crypto.mscapi; + +// jdk.internal.vm.compiler uses Unsafe and VM classes from jdk.internal.misc +exports jdk.internal.misc to jdk.internal.vm.compiler; +opens jdk.internal.misc to jdk.internal.vm.compiler; + +// jdk.internal.vm.compiler uses com.sun.crypto.provider to generate crypto intrinsics +opens com.sun.crypto.provider to jdk.internal.vm.compiler; + +exports jdk.internal.module to jdk.internal.vm.compiler; + diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.datatransfer/share/classes/java/awt/datatransfer/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/macosx/classes/com/apple/eawt/event/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/macosx/classes/com/apple/eawt/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/macosx/classes/com/apple/eio/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/applet/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/color/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/desktop/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/dnd/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/dnd/peer/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/event/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/font/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/geom/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/im/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/im/spi/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/image/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/image/renderable/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/peer/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/awt/print/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/beans/beancontext/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/java/beans/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/accessibility/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/imageio/event/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/imageio/metadata/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/imageio/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/imageio/plugins/bmp/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/imageio/plugins/tiff/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/imageio/spi/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/imageio/stream/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/print/attribute/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/print/attribute/standard/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/print/event/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/print/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/sound/midi/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/sound/midi/spi/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/sound/sampled/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/sound/sampled/spi/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/border/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/colorchooser/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/event/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/filechooser/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/plaf/multi/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/plaf/nimbus/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/plaf/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/table/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/text/html/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/text/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/text/rtf/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/tree/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/java.desktop/share/classes/javax/swing/undo/package-info.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/jdk.jdwp.agent/share/native/libjdwp/debugLoop.c --- a/jdk/src/jdk.jdwp.agent/share/native/libjdwp/debugLoop.c Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/src/jdk.jdwp.agent/share/native/libjdwp/debugLoop.c Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -125,15 +125,13 @@ jboolean replyToSender = JNI_TRUE; /* - * For VirtualMachine commands we hold the vmDeathLock + * For all commands we hold the vmDeathLock * while executing and replying to the command. This ensures - * that a VM command after VM_DEATH will be allowed to complete + * that a command after VM_DEATH will be allowed to complete * before the thread posting the VM_DEATH continues VM * termination. */ - if (cmd->cmdSet == JDWP_COMMAND_SET(VirtualMachine)){ - debugMonitorEnter(vmDeathLock); - } + debugMonitorEnter(vmDeathLock); /* Initialize the input and output streams */ inStream_init(&in, p); @@ -172,9 +170,7 @@ /* * Release the vmDeathLock as the reply has been posted. */ - if (cmd->cmdSet == JDWP_COMMAND_SET(VirtualMachine)){ - debugMonitorExit(vmDeathLock); - } + debugMonitorExit(vmDeathLock); inStream_destroy(&in); outStream_destroy(&out); diff -r 02253db2ace1 -r 5809557e9a6e jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c --- a/jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -240,10 +240,10 @@ size = commandSize(command); /* - * Immediately close out any commands enqueued from a - * previously attached debugger. + * Immediately close out any commands enqueued from + * a dead VM or a previously attached debugger. */ - if (command->sessionID != currentSessionID) { + if (gdata->vmDead || command->sessionID != currentSessionID) { log_debugee_location("dequeueCommand(): command session removal", NULL, NULL, 0); completeCommand(command); command = NULL; diff -r 02253db2ace1 -r 5809557e9a6e jdk/test/javax/swing/text/TableView/TableViewLayoutTest.java diff -r 02253db2ace1 -r 5809557e9a6e jdk/test/sun/tools/jcmd/TestJcmdDefaults.java --- a/jdk/test/sun/tools/jcmd/TestJcmdDefaults.java Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/test/sun/tools/jcmd/TestJcmdDefaults.java Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -49,7 +49,7 @@ private static final String TEST_SRC = System.getProperty("test.src").trim(); private static final String[] VM_ARGS = new String[] { "-XX:+UsePerfData" }; - private static final String JCMD_LIST_REGEX = "^\\d+\\s*.*"; + private static final String JCMD_LIST_REGEX = "(?s)^\\d+\\s*.*"; public static void main(String[] args) throws Exception { testJcmdUsage("-h"); diff -r 02253db2ace1 -r 5809557e9a6e jdk/test/tools/launcher/Settings.java --- a/jdk/test/tools/launcher/Settings.java Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/test/tools/launcher/Settings.java Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -73,9 +73,9 @@ } static void runTestOptionDefault() throws IOException { - String stackSize = "256"; // in kb + int stackSize = 256; // in kb if (getArch().equals("ppc64") || getArch().equals("ppc64le")) { - stackSize = "800"; + stackSize = 800; } TestResult tr; tr = doExec(javaCmd, "-Xms64m", "-Xmx512m", @@ -86,7 +86,7 @@ throw new RuntimeException("test fails"); } tr = doExec(javaCmd, "-Xms65536k", "-Xmx712m", - "-Xss" + stackSize + "000", "-XshowSettings", "-jar", testJar.getAbsolutePath()); + "-Xss" + (stackSize * 1024), "-XshowSettings", "-jar", testJar.getAbsolutePath()); containsAllOptions(tr); if (!tr.isOK()) { System.out.println(tr); diff -r 02253db2ace1 -r 5809557e9a6e jdk/test/tools/launcher/TooSmallStackSize.java --- a/jdk/test/tools/launcher/TooSmallStackSize.java Wed Jul 05 23:10:03 2017 +0200 +++ b/jdk/test/tools/launcher/TooSmallStackSize.java Mon Apr 10 20:10:08 2017 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -155,15 +155,21 @@ checkStack("16k"); /* - * Try with a 32k stack size, which is the size that the launcher will + * Try with a 64k stack size, which is the size that the launcher will * set to if you try setting to anything smaller. This should produce the same * result as setting to 16k if the fix for 6762191 is in place. */ - String min_stack_allowed = checkStack("32k"); + String min_stack_allowed = checkStack("64k"); /* * Try again with a the minimum stack size that was given in the error message */ checkMinStackAllowed(min_stack_allowed); + + /* + * Try again with a size that is not OS page aligned. This is to help test that + * asserts added for 8176768 are not triggered. + */ + checkMinStackAllowed("513k"); } }