changeset 13546:b972de2a2fab

Merge
author mseledtsov
date Tue, 22 Aug 2017 09:55:58 -0700
parents b813cb7bcfc9 425e15743247
children a8d6bb592f77
files
diffstat 57 files changed, 57 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch64/vm/aarch64.ad	Mon Aug 21 19:45:21 2017 -0700
+++ b/src/cpu/aarch64/vm/aarch64.ad	Tue Aug 22 09:55:58 2017 -0700
@@ -4415,6 +4415,22 @@
                /*weak*/ false, noreg);
   %}
 
+  enc_class aarch64_enc_cmpxchgs(memory mem, iRegINoSp oldval, iRegINoSp newval) %{
+    MacroAssembler _masm(&cbuf);
+    guarantee($mem$$index == -1 && $mem$$disp == 0, "impossible encoding");
+    __ cmpxchg($mem$$base$$Register, $oldval$$Register, $newval$$Register,
+               Assembler::halfword, /*acquire*/ false, /*release*/ true,
+               /*weak*/ false, noreg);
+  %}
+
+  enc_class aarch64_enc_cmpxchgb(memory mem, iRegINoSp oldval, iRegINoSp newval) %{
+    MacroAssembler _masm(&cbuf);
+    guarantee($mem$$index == -1 && $mem$$disp == 0, "impossible encoding");
+    __ cmpxchg($mem$$base$$Register, $oldval$$Register, $newval$$Register,
+               Assembler::byte, /*acquire*/ false, /*release*/ true,
+               /*weak*/ false, noreg);
+  %}  
+    
 
   // The only difference between aarch64_enc_cmpxchg and
   // aarch64_enc_cmpxchg_acq is that we use load-acquire in the
@@ -9637,6 +9653,42 @@
 // XXX No flag versions for CompareAndSwap{I,L,P,N} because matcher
 // can't match them
 
+instruct compareAndSwapB(iRegINoSp res, indirect mem, iRegINoSp oldval, iRegINoSp newval, rFlagsReg cr) %{
+
+  match(Set res (CompareAndSwapB mem (Binary oldval newval)));
+  ins_cost(2 * VOLATILE_REF_COST);
+
+  effect(KILL cr);
+
+  format %{
+    "cmpxchgb $mem, $oldval, $newval\t# (int) if $mem == $oldval then $mem <-- $newval"
+    "cset $res, EQ\t# $res <-- (EQ ? 1 : 0)"
+  %}
+
+  ins_encode(aarch64_enc_cmpxchgb(mem, oldval, newval),
+            aarch64_enc_cset_eq(res));
+
+  ins_pipe(pipe_slow);
+%}
+
+instruct compareAndSwapS(iRegINoSp res, indirect mem, iRegINoSp oldval, iRegINoSp newval, rFlagsReg cr) %{
+
+  match(Set res (CompareAndSwapS mem (Binary oldval newval)));
+  ins_cost(2 * VOLATILE_REF_COST);
+
+  effect(KILL cr);
+
+  format %{
+    "cmpxchgs $mem, $oldval, $newval\t# (int) if $mem == $oldval then $mem <-- $newval"
+    "cset $res, EQ\t# $res <-- (EQ ? 1 : 0)"
+  %}
+
+  ins_encode(aarch64_enc_cmpxchgs(mem, oldval, newval),
+            aarch64_enc_cset_eq(res));
+
+  ins_pipe(pipe_slow);
+%}
+
 instruct compareAndSwapI(iRegINoSp res, indirect mem, iRegINoSp oldval, iRegINoSp newval, rFlagsReg cr) %{
 
   match(Set res (CompareAndSwapI mem (Binary oldval newval)));
--- a/src/share/vm/runtime/vmStructs.hpp	Mon Aug 21 19:45:21 2017 -0700
+++ b/src/share/vm/runtime/vmStructs.hpp	Tue Aug 22 09:55:58 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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,6 +26,7 @@
 #define SHARE_VM_RUNTIME_VMSTRUCTS_HPP
 
 #include "utilities/debug.hpp"
+#include "utilities/globalDefinitions.hpp"
 #ifdef COMPILER1
 #include "c1/c1_Runtime1.hpp"
 #endif
--- a/test/compiler/aot/DeoptimizationTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/DeoptimizationTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.aot.DeoptimizationTest
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/RecompilationTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/RecompilationTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.aot.RecompilationTest
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/SharedUsageTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/SharedUsageTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.SharedUsageTest
  *        compiler.aot.AotCompiler
  * @run main compiler.aot.AotCompiler -libname libSharedUsageTest.so
--- a/test/compiler/aot/calls/fromAot/AotInvokeDynamic2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeDynamic2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @ignore 8132547
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.org.objectweb.asm
  *          java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeDynamic
--- a/test/compiler/aot/calls/fromAot/AotInvokeDynamic2CompiledTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeDynamic2CompiledTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @ignore 8132547
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.org.objectweb.asm
  *          java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeDynamic
--- a/test/compiler/aot/calls/fromAot/AotInvokeDynamic2InterpretedTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeDynamic2InterpretedTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @ignore 8132547
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.org.objectweb.asm
  *          java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeDynamic
--- a/test/compiler/aot/calls/fromAot/AotInvokeDynamic2NativeTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeDynamic2NativeTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @ignore 8132547
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.org.objectweb.asm
  *          java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeDynamic
--- a/test/compiler/aot/calls/fromAot/AotInvokeInterface2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeInterface2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeInterface
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeInterface2CompiledTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeInterface2CompiledTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeInterface
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeInterface2InterpretedTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeInterface2InterpretedTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeInterface
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeInterface2NativeTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeInterface2NativeTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeInterface
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeSpecial2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeSpecial2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeSpecial
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeSpecial2CompiledTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeSpecial2CompiledTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeSpecial
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeSpecial2InterpretedTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeSpecial2InterpretedTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeSpecial
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeSpecial2NativeTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeSpecial2NativeTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeSpecial
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeStatic2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeStatic2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeStatic
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeStatic2CompiledTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeStatic2CompiledTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeStatic
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeStatic2InterpretedTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeStatic2InterpretedTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeStatic
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeStatic2NativeTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeStatic2NativeTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeStatic
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeVirtual2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeVirtual2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeVirtual
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeVirtual2CompiledTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeVirtual2CompiledTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeVirtual
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeVirtual2InterpretedTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeVirtual2InterpretedTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeVirtual
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromAot/AotInvokeVirtual2NativeTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromAot/AotInvokeVirtual2NativeTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeVirtual
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromCompiled/CompiledInvokeDynamic2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromCompiled/CompiledInvokeDynamic2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.org.objectweb.asm
  *          java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeDynamic
--- a/test/compiler/aot/calls/fromCompiled/CompiledInvokeInterface2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromCompiled/CompiledInvokeInterface2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeInterface
  *      compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromCompiled/CompiledInvokeSpecial2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromCompiled/CompiledInvokeSpecial2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeSpecial
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromCompiled/CompiledInvokeStatic2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromCompiled/CompiledInvokeStatic2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeStatic
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromCompiled/CompiledInvokeVirtual2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromCompiled/CompiledInvokeVirtual2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeVirtual
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeDynamic2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeDynamic2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.org.objectweb.asm
  *          java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeDynamic
--- a/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeInterface2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeInterface2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeInterface
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeSpecial2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeSpecial2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeSpecial
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeStatic2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeStatic2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeStatic
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeVirtual2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromInterpreted/InterpretedInvokeVirtual2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeVirtual
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromNative/NativeInvokeSpecial2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromNative/NativeInvokeSpecial2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeSpecial
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromNative/NativeInvokeStatic2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromNative/NativeInvokeStatic2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeStatic
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/calls/fromNative/NativeInvokeVirtual2AotTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/calls/fromNative/NativeInvokeVirtual2AotTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.calls.common.InvokeVirtual
  *        compiler.aot.AotCompiler
--- a/test/compiler/aot/cli/DisabledAOTWithLibraryTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/DisabledAOTWithLibraryTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /testlibrary /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.DisabledAOTWithLibraryTest
  *        compiler.aot.AotCompiler
  * @run driver compiler.aot.AotCompiler -libname libDisabledAOTWithLibraryTest.so
--- a/test/compiler/aot/cli/IncorrectAOTLibraryTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/IncorrectAOTLibraryTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @run driver ClassFileInstaller ClassFileInstaller
  * @run driver compiler.aot.cli.IncorrectAOTLibraryTest
  * @summary check if incorrect aot library is handled properly
--- a/test/compiler/aot/cli/MultipleAOTLibraryTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/MultipleAOTLibraryTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.MultipleAOTLibraryTest
  *        compiler.aot.AotCompiler
  * @run driver compiler.aot.AotCompiler
--- a/test/compiler/aot/cli/NonExistingAOTLibraryTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/NonExistingAOTLibraryTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @run driver compiler.aot.cli.NonExistingAOTLibraryTest
  * @summary check if non-existing aot library is handled properly
  */
--- a/test/compiler/aot/cli/SingleAOTLibraryTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/SingleAOTLibraryTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib / /testlibrary
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.SingleAOTLibraryTest
  *        compiler.aot.AotCompiler
  * @run driver compiler.aot.AotCompiler -libname libSingleAOTLibraryTest.so
--- a/test/compiler/aot/cli/SingleAOTOptionTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/SingleAOTOptionTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library /test/lib /testlibrary /
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.SingleAOTOptionTest
  *        compiler.aot.AotCompiler
  * @run driver compiler.aot.AotCompiler -libname libSingleAOTOptionTest.so
--- a/test/compiler/aot/cli/jaotc/ClasspathOptionUnknownClassTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/jaotc/ClasspathOptionUnknownClassTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library / /testlibrary/ /test/lib
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @compile data/HelloWorldOne.java
  * @run driver compiler.aot.cli.jaotc.ClasspathOptionUnknownClassTest
  * @summary check jaotc can't compile class not from classpath
--- a/test/compiler/aot/cli/jaotc/CompileClassTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/jaotc/CompileClassTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library / /test/lib /testlibrary
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.jaotc.CompileClassTest
  * @run driver ClassFileInstaller compiler.aot.cli.jaotc.data.HelloWorldOne
  * @run driver compiler.aot.cli.jaotc.CompileClassTest
--- a/test/compiler/aot/cli/jaotc/CompileDirectoryTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/jaotc/CompileDirectoryTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library / /test/lib /testlibrary
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.jaotc.CompileDirectoryTest
  * @run driver ClassFileInstaller compiler.aot.cli.jaotc.data.HelloWorldOne
  *                                compiler.aot.cli.jaotc.data.HelloWorldTwo
--- a/test/compiler/aot/cli/jaotc/CompileJarTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/jaotc/CompileJarTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library / /test/lib /testlibrary
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.jaotc.CompileJarTest
  * @run driver ClassFileInstaller compiler.aot.cli.jaotc.data.HelloWorldOne
  *                                compiler.aot.cli.jaotc.data.HelloWorldTwo
--- a/test/compiler/aot/cli/jaotc/CompileModuleTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/jaotc/CompileModuleTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library / /test/lib /testlibrary
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @run driver compiler.aot.cli.jaotc.CompileModuleTest
  * @summary check jaotc can compile module
  */
--- a/test/compiler/aot/cli/jaotc/ListOptionNotExistingTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/jaotc/ListOptionNotExistingTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library / /test/lib /testlibrary
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.jaotc.ListOptionNotExistingTest
  * @run driver ClassFileInstaller compiler.aot.cli.jaotc.data.HelloWorldOne
  * @run driver compiler.aot.cli.jaotc.ListOptionNotExistingTest
--- a/test/compiler/aot/cli/jaotc/ListOptionTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/jaotc/ListOptionTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library / /test/lib /testlibrary
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.jaotc.ListOptionTest
  * @run driver ClassFileInstaller compiler.aot.cli.jaotc.data.HelloWorldOne
  * @run driver compiler.aot.cli.jaotc.ListOptionTest
--- a/test/compiler/aot/cli/jaotc/ListOptionWrongFileTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/cli/jaotc/ListOptionWrongFileTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -26,7 +26,6 @@
  * @requires vm.aot
  * @library / /test/lib /testlibrary
  * @modules java.base/jdk.internal.misc
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @build compiler.aot.cli.jaotc.ListOptionWrongFileTest
  * @run driver ClassFileInstaller compiler.aot.cli.jaotc.data.HelloWorldOne
  * @run driver compiler.aot.cli.jaotc.ListOptionWrongFileTest
--- a/test/compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/NativeOrderOutputStreamTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/jdk.tools.jaotc.test/src/jdk/tools/jaotc/test/NativeOrderOutputStreamTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -24,7 +24,6 @@
 /**
  * @test
  * @requires vm.aot
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules jdk.aot/jdk.tools.jaotc.utils
  * @run junit/othervm -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI jdk.tools.jaotc.test.NativeOrderOutputStreamTest
  */
--- a/test/compiler/aot/verification/ClassAndLibraryNotMatchTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/verification/ClassAndLibraryNotMatchTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.aot.verification.ClassAndLibraryNotMatchTest
  * @run driver compiler.aot.verification.ClassAndLibraryNotMatchTest
--- a/test/compiler/aot/verification/vmflags/NotTrackedFlagTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/verification/vmflags/NotTrackedFlagTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.aot.verification.vmflags.BasicFlagsChange
  * @run driver compiler.aot.verification.vmflags.BasicFlagsChange
--- a/test/compiler/aot/verification/vmflags/TrackedFlagTest.java	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/compiler/aot/verification/vmflags/TrackedFlagTest.java	Tue Aug 22 09:55:58 2017 -0700
@@ -25,7 +25,6 @@
  * @test
  * @requires vm.aot
  * @library /test/lib /
- * @requires vm.bits == "64" & (os.arch == "amd64" | os.arch == "x86_64")
  * @modules java.base/jdk.internal.misc
  * @build compiler.aot.verification.vmflags.BasicFlagsChange
  * @run driver compiler.aot.verification.vmflags.BasicFlagsChange
--- a/test/native/runtime/test_vmStructs.cpp	Mon Aug 21 19:45:21 2017 -0700
+++ b/test/native/runtime/test_vmStructs.cpp	Tue Aug 22 09:55:58 2017 -0700
@@ -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
@@ -22,11 +22,12 @@
  */
 
 #include "precompiled.hpp"
-#include "runtime/vmStructs.hpp"
 #include "utilities/macros.hpp"
 #include "unittest.hpp"
 
 #if INCLUDE_VM_STRUCTS
+#include "runtime/vmStructs.hpp"
+
 TEST(VMStructs, last_entries)  {
   // Make sure last entry in the each array is indeed the correct end marker.
   // The reason why these are static is to make sure they are zero initialized.