< prev index next >

test/runtime/ReservedStack/ReservedStackTest.java

Print this page




   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /*
  25  * @test ReservedStackTest
  26  * @library /testlibrary
  27  * @modules java.base/jdk.internal.misc
  28  * @modules java.base/jdk.internal.vm.annotation
  29  * @build jdk.test.lib.*
  30  * @run main/othervm -Xint ReservedStackTest
  31  * @run main/othervm -XX:-Inline -XX:CompileCommand=exclude,java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread ReservedStackTest
  32  */
  33 
  34 /* The exclusion of java.util.concurrent.locks.AbstractOwnableSynchronizer.setExclusiveOwnerThread()
  35  * from the compilable methods is required to ensure that the test will be able
  36  * to trigger a StackOverflowError on the right method.
  37  */
  38 
  39 
  40 /*
  41  * Notes about this test:
  42  * This test tries to reproduce a rare but nasty corruption bug that
  43  * occurs when a StackOverflowError is thrown in some critical sections
  44  * of the ReentrantLock implementation.
  45  *
  46  * Here's the critical section where a corruption could occur
  47  * (from java.util.concurrent.ReentrantLock.java)
  48  *
  49  * final void lock() {




   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 /*
  25  * @test ReservedStackTest
  26  * @library /test/lib
  27  * @modules java.base/jdk.internal.misc
  28  * @modules java.base/jdk.internal.vm.annotation

  29  * @run main/othervm -Xint ReservedStackTest
  30  * @run main/othervm -XX:-Inline -XX:CompileCommand=exclude,java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread ReservedStackTest
  31  */
  32 
  33 /* The exclusion of java.util.concurrent.locks.AbstractOwnableSynchronizer.setExclusiveOwnerThread()
  34  * from the compilable methods is required to ensure that the test will be able
  35  * to trigger a StackOverflowError on the right method.
  36  */
  37 
  38 
  39 /*
  40  * Notes about this test:
  41  * This test tries to reproduce a rare but nasty corruption bug that
  42  * occurs when a StackOverflowError is thrown in some critical sections
  43  * of the ReentrantLock implementation.
  44  *
  45  * Here's the critical section where a corruption could occur
  46  * (from java.util.concurrent.ReentrantLock.java)
  47  *
  48  * final void lock() {


< prev index next >