Merge
authorkvn
Thu, 02 Jul 2015 17:50:25 -0700
changeset 31670 d35897628a99
parent 31669 40e686692ec4 (current diff)
parent 31476 d1e837c96aba (diff)
child 31671 362e0c0acece
Merge
hotspot/test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForSupportedSparcCPU.java
hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHAIntrinsicsSpecificTestCaseForUnsupportedSparcCPU.java
hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForSupportedSparcCPU.java
hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForUnsupportedSparcCPU.java
jaxws/src/java.xml.ws/share/classes/javax/xml/ws/wsaddressing/package.html
jdk/src/java.desktop/windows/native/libawt/windows/hand.cur
jdk/src/jdk.accessibility/windows/conf/accessibility.properties
jdk/test/javax/xml/ws/8046817/GenerateEnumSchema.java
jdk/test/javax/xml/ws/8046817/TestClassType.java
jdk/test/javax/xml/ws/8046817/TestEnumType.java
--- a/.hgtags	Thu Jul 02 17:15:55 2015 -0700
+++ b/.hgtags	Thu Jul 02 17:50:25 2015 -0700
@@ -312,3 +312,4 @@
 56166ce66037952fa21e9f680b31bf8eb47312c0 jdk9-b67
 5b500c93ce4822d47061cd518ff3f72d9d8cb5b5 jdk9-b68
 d69c968463f0ae5d0b45de3fc14fe65171b23948 jdk9-b69
+43d0179ee9de3bfffae3417f09e07eb6d8efc963 jdk9-b70
--- a/.hgtags-top-repo	Thu Jul 02 17:15:55 2015 -0700
+++ b/.hgtags-top-repo	Thu Jul 02 17:50:25 2015 -0700
@@ -312,3 +312,4 @@
 f546760134eb861fcfecd4ce611b0040b0d25a6a jdk9-b67
 70e4272790b6199e9ca89df2758ff9cb58ec4125 jdk9-b68
 1bcfd6b8726582cff5a42dbfc75903e36f9dd4fe jdk9-b69
+eed77fcd77711fcdba05f18fc22f37d86efb243c jdk9-b70
--- a/corba/.hgtags	Thu Jul 02 17:15:55 2015 -0700
+++ b/corba/.hgtags	Thu Jul 02 17:50:25 2015 -0700
@@ -312,3 +312,4 @@
 4418697e56f1f43597f55c7cb6573549c6117868 jdk9-b67
 8efad64f40eb8cd4df376c0a5275892eeb396bbd jdk9-b68
 de8acedcb5b5870f1dc54cba575aaa5d33897ea2 jdk9-b69
+e7cf01990ed366bd493080663259281e91ce223b jdk9-b70
--- a/hotspot/.hgtags	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/.hgtags	Thu Jul 02 17:50:25 2015 -0700
@@ -472,3 +472,4 @@
 d47dfabd16d48eb96a451edd1b61194a39ee0eb5 jdk9-b67
 11af3990d56c97b40318bc1f20608e86f051a3f7 jdk9-b68
 ff0929a59ced0e144201aa05819ae2e47d6f2c61 jdk9-b69
+8672e9264db30c21504063932dbc374eabc287a1 jdk9-b70
--- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/runtime/VM.java	Thu Jul 02 17:50:25 2015 -0700
@@ -121,6 +121,8 @@
   private Flag[] commandLineFlags;
   private Map flagsMap;
 
+  private static Type intType;
+  private static Type uintType;
   private static Type intxType;
   private static Type uintxType;
   private static Type sizetType;
@@ -170,6 +172,28 @@
         return addr.getCIntegerAt(0, boolType.getSize(), boolType.isUnsigned()) != 0;
      }
 
+     public boolean isInt() {
+        return type.equals("int");
+     }
+
+     public long getInt() {
+        if (Assert.ASSERTS_ENABLED) {
+           Assert.that(isInt(), "not an int flag!");
+        }
+        return addr.getCIntegerAt(0, intType.getSize(), false);
+     }
+
+     public boolean isUInt() {
+        return type.equals("uint");
+     }
+
+     public long getUInt() {
+        if (Assert.ASSERTS_ENABLED) {
+           Assert.that(isUInt(), "not a uint flag!");
+        }
+        return addr.getCIntegerAt(0, uintType.getSize(), false);
+     }
+
      public boolean isIntx() {
         return type.equals("intx");
      }
@@ -206,6 +230,10 @@
      public String getValue() {
         if (isBool()) {
            return new Boolean(getBool()).toString();
+        } else if (isInt()) {
+           return new Long(getInt()).toString();
+        } else if (isUInt()) {
+           return new Long(getUInt()).toString();
         } else if (isIntx()) {
            return new Long(getIntx()).toString();
         } else if (isUIntx()) {
@@ -334,6 +362,8 @@
     heapWordSize = db.lookupIntConstant("HeapWordSize").intValue();
     oopSize  = db.lookupIntConstant("oopSize").intValue();
 
+    intType = db.lookupType("int");
+    uintType = db.lookupType("uint");
     intxType = db.lookupType("intx");
     uintxType = db.lookupType("uintx");
     sizetType = db.lookupType("size_t");
--- a/hotspot/src/cpu/aarch64/vm/aarch64.ad	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/cpu/aarch64/vm/aarch64.ad	Thu Jul 02 17:50:25 2015 -0700
@@ -13276,7 +13276,7 @@
   ins_cost(INSN_COST);
   format %{ "movi  $dst, $con\t# vector(16B)" %}
   ins_encode %{
-    __ mov(as_FloatRegister($dst$$reg), __ T16B, $con$$constant);
+    __ mov(as_FloatRegister($dst$$reg), __ T16B, $con$$constant & 0xff);
   %}
   ins_pipe(pipe_class_default);
 %}
@@ -13298,7 +13298,7 @@
   ins_cost(INSN_COST);
   format %{ "movi  $dst, $con\t# vector(8H)" %}
   ins_encode %{
-    __ mov(as_FloatRegister($dst$$reg), __ T8H, $con$$constant);
+    __ mov(as_FloatRegister($dst$$reg), __ T8H, $con$$constant & 0xffff);
   %}
   ins_pipe(pipe_class_default);
 %}
--- a/hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/cpu/aarch64/vm/assembler_aarch64.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -491,6 +491,11 @@
         i->rf(_index, 16);
         i->f(_ext.option(), 15, 13);
         unsigned size = i->get(31, 30);
+        if (i->get(26, 26) && i->get(23, 23)) {
+          // SIMD Q Type - Size = 128 bits
+          assert(size == 0, "bad size");
+          size = 0b100;
+        }
         if (size == 0) // It's a byte
           i->f(_ext.shift() >= 0, 12);
         else {
--- a/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -1408,6 +1408,52 @@
   movk(r, imm64 & 0xffff, 32);
 }
 
+// Macro to mov replicated immediate to vector register.
+//  Vd will get the following values for different arrangements in T
+//   imm32 == hex 000000gh  T8B:  Vd = ghghghghghghghgh
+//   imm32 == hex 000000gh  T16B: Vd = ghghghghghghghghghghghghghghghgh
+//   imm32 == hex 0000efgh  T4H:  Vd = efghefghefghefgh
+//   imm32 == hex 0000efgh  T8H:  Vd = efghefghefghefghefghefghefghefgh
+//   imm32 == hex abcdefgh  T2S:  Vd = abcdefghabcdefgh
+//   imm32 == hex abcdefgh  T4S:  Vd = abcdefghabcdefghabcdefghabcdefgh
+//   T1D/T2D: invalid
+void MacroAssembler::mov(FloatRegister Vd, SIMD_Arrangement T, u_int32_t imm32) {
+  assert(T != T1D && T != T2D, "invalid arrangement");
+  if (T == T8B || T == T16B) {
+    assert((imm32 & ~0xff) == 0, "extraneous bits in unsigned imm32 (T8B/T16B)");
+    movi(Vd, T, imm32 & 0xff, 0);
+    return;
+  }
+  u_int32_t nimm32 = ~imm32;
+  if (T == T4H || T == T8H) {
+    assert((imm32  & ~0xffff) == 0, "extraneous bits in unsigned imm32 (T4H/T8H)");
+    imm32 &= 0xffff;
+    nimm32 &= 0xffff;
+  }
+  u_int32_t x = imm32;
+  int movi_cnt = 0;
+  int movn_cnt = 0;
+  while (x) { if (x & 0xff) movi_cnt++; x >>= 8; }
+  x = nimm32;
+  while (x) { if (x & 0xff) movn_cnt++; x >>= 8; }
+  if (movn_cnt < movi_cnt) imm32 = nimm32;
+  unsigned lsl = 0;
+  while (imm32 && (imm32 & 0xff) == 0) { lsl += 8; imm32 >>= 8; }
+  if (movn_cnt < movi_cnt)
+    mvni(Vd, T, imm32 & 0xff, lsl);
+  else
+    movi(Vd, T, imm32 & 0xff, lsl);
+  imm32 >>= 8; lsl += 8;
+  while (imm32) {
+    while ((imm32 & 0xff) == 0) { lsl += 8; imm32 >>= 8; }
+    if (movn_cnt < movi_cnt)
+      bici(Vd, T, imm32 & 0xff, lsl);
+    else
+      orri(Vd, T, imm32 & 0xff, lsl);
+    lsl += 8; imm32 >>= 8;
+  }
+}
+
 void MacroAssembler::mov_immediate64(Register dst, u_int64_t imm64)
 {
 #ifndef PRODUCT
--- a/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -465,44 +465,7 @@
 
   void movptr(Register r, uintptr_t imm64);
 
-  // Macro to mov replicated immediate to vector register.
-  // Where imm32 == hex abcdefgh, Vd will get the following values
-  // for different arrangements in T
-  //   T8B:  Vd = ghghghghghghghgh
-  //   T16B: Vd = ghghghghghghghghghghghghghghghgh
-  //   T4H:  Vd = efghefghefghefgh
-  //   T8H:  Vd = efghefghefghefghefghefghefghefgh
-  //   T2S:  Vd = abcdefghabcdefgh
-  //   T4S:  Vd = abcdefghabcdefghabcdefghabcdefgh
-  //   T1D/T2D: invalid
-  void mov(FloatRegister Vd, SIMD_Arrangement T, u_int32_t imm32) {
-    assert(T != T1D && T != T2D, "invalid arrangement");
-    u_int32_t nimm32 = ~imm32;
-    if (T == T8B || T == T16B) { imm32 &= 0xff; nimm32 &= 0xff; }
-    if (T == T4H || T == T8H) { imm32 &= 0xffff; nimm32 &= 0xffff; }
-    u_int32_t x = imm32;
-    int movi_cnt = 0;
-    int movn_cnt = 0;
-    while (x) { if (x & 0xff) movi_cnt++; x >>= 8; }
-    x = nimm32;
-    while (x) { if (x & 0xff) movn_cnt++; x >>= 8; }
-    if (movn_cnt < movi_cnt) imm32 = nimm32;
-    unsigned lsl = 0;
-    while (imm32 && (imm32 & 0xff) == 0) { lsl += 8; imm32 >>= 8; }
-    if (movn_cnt < movi_cnt)
-      mvni(Vd, T, imm32 & 0xff, lsl);
-    else
-      movi(Vd, T, imm32 & 0xff, lsl);
-    imm32 >>= 8; lsl += 8;
-    while (imm32) {
-      while ((imm32 & 0xff) == 0) { lsl += 8; imm32 >>= 8; }
-      if (movn_cnt < movi_cnt)
-        bici(Vd, T, imm32 & 0xff, lsl);
-      else
-        orri(Vd, T, imm32 & 0xff, lsl);
-      lsl += 8; imm32 >>= 8;
-    }
-  }
+  void mov(FloatRegister Vd, SIMD_Arrangement T, u_int32_t imm32);
 
   // macro instructions for accessing and updating floating point
   // status register
--- a/hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/cpu/aarch64/vm/vm_version_aarch64.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -228,6 +228,9 @@
       warning("SHA512 instruction (for SHA-384 and SHA-512) is not available on this CPU.");
       FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
     }
+    if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) {
+      FLAG_SET_DEFAULT(UseSHA, false);
+    }
   }
 
   // This machine allows unaligned memory accesses
--- a/hotspot/src/share/vm/ci/ciMethod.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/ci/ciMethod.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -71,8 +71,7 @@
 // Loaded method.
 ciMethod::ciMethod(methodHandle h_m, ciInstanceKlass* holder) :
   ciMetadata(h_m()),
-  _holder(holder),
-  _has_injected_profile(false)
+  _holder(holder)
 {
   assert(h_m() != NULL, "no null method");
 
@@ -170,8 +169,7 @@
   _liveness(               NULL),
   _can_be_statically_bound(false),
   _method_blocks(          NULL),
-  _method_data(            NULL),
-  _has_injected_profile(   false)
+  _method_data(            NULL)
 #if defined(COMPILER2) || defined(SHARK)
   ,
   _flow(                   NULL),
--- a/hotspot/src/share/vm/ci/ciMethod.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/ci/ciMethod.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -81,7 +81,6 @@
   bool _is_c1_compilable;
   bool _is_c2_compilable;
   bool _can_be_statically_bound;
-  bool _has_injected_profile;
 
   // Lazy fields, filled in on demand
   address              _code;
@@ -179,9 +178,9 @@
   // Code size for inlining decisions.
   int code_size_for_inlining();
 
-  bool caller_sensitive() { return get_Method()->caller_sensitive(); }
-  bool force_inline()     { return get_Method()->force_inline();     }
-  bool dont_inline()      { return get_Method()->dont_inline();      }
+  bool caller_sensitive()   const { return get_Method()->caller_sensitive();   }
+  bool force_inline()       const { return get_Method()->force_inline();       }
+  bool dont_inline()        const { return get_Method()->dont_inline();        }
 
   int comp_level();
   int highest_osr_comp_level();
@@ -289,9 +288,6 @@
   int instructions_size();
   int scale_count(int count, float prof_factor = 1.);  // make MDO count commensurate with IIC
 
-  bool has_injected_profile() const { return _has_injected_profile;     }
-  void set_injected_profile(bool x) {        _has_injected_profile = x; }
-
   // Stack walking support
   bool is_ignored_by_security_stack_walk() const;
 
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -1742,6 +1742,10 @@
     if (_location != _in_method)  break;  // only allow for methods
     if (!privileged)              break;  // only allow in privileged code
     return _method_DontInline;
+  case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_InjectedProfile_signature):
+    if (_location != _in_method)  break;  // only allow for methods
+    if (!privileged)              break;  // only allow in privileged code
+    return _method_InjectedProfile;
   case vmSymbols::VM_SYMBOL_ENUM_NAME(java_lang_invoke_LambdaForm_Compiled_signature):
     if (_location != _in_method)  break;  // only allow for methods
     if (!privileged)              break;  // only allow in privileged code
@@ -1783,6 +1787,8 @@
     m->set_force_inline(true);
   if (has_annotation(_method_DontInline))
     m->set_dont_inline(true);
+  if (has_annotation(_method_InjectedProfile))
+    m->set_has_injected_profile(true);
   if (has_annotation(_method_LambdaForm_Compiled) && m->intrinsic_id() == vmIntrinsics::_none)
     m->set_intrinsic_id(vmIntrinsics::_compiledLambdaForm);
   if (has_annotation(_method_LambdaForm_Hidden))
--- a/hotspot/src/share/vm/classfile/classFileParser.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/classfile/classFileParser.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -127,6 +127,7 @@
       _method_CallerSensitive,
       _method_ForceInline,
       _method_DontInline,
+      _method_InjectedProfile,
       _method_LambdaForm_Compiled,
       _method_LambdaForm_Hidden,
       _sun_misc_Contended,
--- a/hotspot/src/share/vm/classfile/vmSymbols.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/classfile/vmSymbols.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -278,6 +278,7 @@
   template(java_lang_invoke_LambdaForm,               "java/lang/invoke/LambdaForm")              \
   template(java_lang_invoke_ForceInline_signature,    "Ljava/lang/invoke/ForceInline;")           \
   template(java_lang_invoke_DontInline_signature,     "Ljava/lang/invoke/DontInline;")            \
+  template(java_lang_invoke_InjectedProfile_signature, "Ljava/lang/invoke/InjectedProfile;")      \
   template(java_lang_invoke_Stable_signature,         "Ljava/lang/invoke/Stable;")                \
   template(java_lang_invoke_LambdaForm_Compiled_signature, "Ljava/lang/invoke/LambdaForm$Compiled;") \
   template(java_lang_invoke_LambdaForm_Hidden_signature, "Ljava/lang/invoke/LambdaForm$Hidden;")  \
--- a/hotspot/src/share/vm/gc/parallel/psMarkSweep.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/gc/parallel/psMarkSweep.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -96,7 +96,7 @@
     heap->collector_policy()->should_clear_all_soft_refs();
 
   uint count = maximum_heap_compaction ? 1 : MarkSweepAlwaysCompactCount;
-  UIntFlagSetting flag_setting(MarkSweepAlwaysCompactCount, count);
+  UIntXFlagSetting flag_setting(MarkSweepAlwaysCompactCount, count);
   PSMarkSweep::invoke_no_policy(clear_all_soft_refs || maximum_heap_compaction);
 }
 
--- a/hotspot/src/share/vm/gc/shared/collectorPolicy.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/gc/shared/collectorPolicy.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -785,7 +785,7 @@
   // free memory should be here, especially if they are expensive. If this
   // attempt fails, an OOM exception will be thrown.
   {
-    UIntFlagSetting flag_change(MarkSweepAlwaysCompactCount, 1); // Make sure the heap is fully compacted
+    UIntXFlagSetting flag_change(MarkSweepAlwaysCompactCount, 1); // Make sure the heap is fully compacted
 
     gch->do_collection(true             /* full */,
                        true             /* clear_all_soft_refs */,
--- a/hotspot/src/share/vm/oops/method.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/oops/method.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -93,6 +93,7 @@
   set_force_inline(false);
   set_hidden(false);
   set_dont_inline(false);
+  set_has_injected_profile(false);
   set_method_data(NULL);
   clear_method_counters();
   set_vtable_index(Method::garbage_vtable_index);
--- a/hotspot/src/share/vm/oops/method.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/oops/method.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -76,12 +76,13 @@
 
   // Flags
   enum Flags {
-    _jfr_towrite      = 1 << 0,
-    _caller_sensitive = 1 << 1,
-    _force_inline     = 1 << 2,
-    _dont_inline      = 1 << 3,
-    _hidden           = 1 << 4,
-    _running_emcp     = 1 << 5
+    _jfr_towrite          = 1 << 0,
+    _caller_sensitive     = 1 << 1,
+    _force_inline         = 1 << 2,
+    _dont_inline          = 1 << 3,
+    _hidden               = 1 << 4,
+    _has_injected_profile = 1 << 5,
+    _running_emcp         = 1 << 6
   };
   u1 _flags;
 
@@ -814,6 +815,13 @@
     _flags = x ? (_flags | _hidden) : (_flags & ~_hidden);
   }
 
+  bool has_injected_profile() {
+    return (_flags & _has_injected_profile) != 0;
+  }
+  void set_has_injected_profile(bool x) {
+    _flags = x ? (_flags | _has_injected_profile) : (_flags & ~_has_injected_profile);
+  }
+
   ConstMethod::MethodType method_type() const {
       return _constMethod->method_type();
   }
--- a/hotspot/src/share/vm/opto/arraycopynode.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/opto/arraycopynode.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -438,11 +438,17 @@
       // replace fallthrough projections of the ArrayCopyNode by the
       // new memory, control and the input IO.
       CallProjections callprojs;
-      extract_projections(&callprojs, true);
+      extract_projections(&callprojs, true, false);
 
-      igvn->replace_node(callprojs.fallthrough_ioproj, in(TypeFunc::I_O));
-      igvn->replace_node(callprojs.fallthrough_memproj, mem);
-      igvn->replace_node(callprojs.fallthrough_catchproj, ctl);
+      if (callprojs.fallthrough_ioproj != NULL) {
+        igvn->replace_node(callprojs.fallthrough_ioproj, in(TypeFunc::I_O));
+      }
+      if (callprojs.fallthrough_memproj != NULL) {
+        igvn->replace_node(callprojs.fallthrough_memproj, mem);
+      }
+      if (callprojs.fallthrough_catchproj != NULL) {
+        igvn->replace_node(callprojs.fallthrough_catchproj, ctl);
+      }
 
       // The ArrayCopyNode is not disconnected. It still has the
       // projections for the exception case. Replace current
--- a/hotspot/src/share/vm/opto/callnode.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/opto/callnode.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -724,6 +724,26 @@
 //
 bool CallNode::may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase) {
   assert((t_oop != NULL), "sanity");
+  if (is_call_to_arraycopystub()) {
+    const TypeTuple* args = _tf->domain();
+    Node* dest = NULL;
+    // Stubs that can be called once an ArrayCopyNode is expanded have
+    // different signatures. Look for the second pointer argument,
+    // that is the destination of the copy.
+    for (uint i = TypeFunc::Parms, j = 0; i < args->cnt(); i++) {
+      if (args->field_at(i)->isa_ptr()) {
+        j++;
+        if (j == 2) {
+          dest = in(i);
+          break;
+        }
+      }
+    }
+    if (!dest->is_top() && may_modify_arraycopy_helper(phase->type(dest)->is_oopptr(), t_oop, phase)) {
+      return true;
+    }
+    return false;
+  }
   if (t_oop->is_known_instance()) {
     // The instance_id is set only for scalar-replaceable allocations which
     // are not passed as arguments according to Escape Analysis.
@@ -810,7 +830,7 @@
 }
 
 
-void CallNode::extract_projections(CallProjections* projs, bool separate_io_proj) {
+void CallNode::extract_projections(CallProjections* projs, bool separate_io_proj, bool do_asserts) {
   projs->fallthrough_proj      = NULL;
   projs->fallthrough_catchproj = NULL;
   projs->fallthrough_ioproj    = NULL;
@@ -873,17 +893,18 @@
     }
   }
 
-  // The resproj may not exist because the result couuld be ignored
+  // The resproj may not exist because the result could be ignored
   // and the exception object may not exist if an exception handler
   // swallows the exception but all the other must exist and be found.
   assert(projs->fallthrough_proj      != NULL, "must be found");
-  assert(Compile::current()->inlining_incrementally() || projs->fallthrough_catchproj != NULL, "must be found");
-  assert(Compile::current()->inlining_incrementally() || projs->fallthrough_memproj   != NULL, "must be found");
-  assert(Compile::current()->inlining_incrementally() || projs->fallthrough_ioproj    != NULL, "must be found");
-  assert(Compile::current()->inlining_incrementally() || projs->catchall_catchproj    != NULL, "must be found");
+  do_asserts = do_asserts && !Compile::current()->inlining_incrementally();
+  assert(!do_asserts || projs->fallthrough_catchproj != NULL, "must be found");
+  assert(!do_asserts || projs->fallthrough_memproj   != NULL, "must be found");
+  assert(!do_asserts || projs->fallthrough_ioproj    != NULL, "must be found");
+  assert(!do_asserts || projs->catchall_catchproj    != NULL, "must be found");
   if (separate_io_proj) {
-    assert(Compile::current()->inlining_incrementally() || projs->catchall_memproj    != NULL, "must be found");
-    assert(Compile::current()->inlining_incrementally() || projs->catchall_ioproj     != NULL, "must be found");
+    assert(!do_asserts || projs->catchall_memproj    != NULL, "must be found");
+    assert(!do_asserts || projs->catchall_ioproj     != NULL, "must be found");
   }
 }
 
@@ -909,6 +930,12 @@
   return SafePointNode::Ideal(phase, can_reshape);
 }
 
+bool CallNode::is_call_to_arraycopystub() const {
+  if (_name != NULL && strstr(_name, "arraycopy") != 0) {
+    return true;
+  }
+  return false;
+}
 
 //=============================================================================
 uint CallJavaNode::size_of() const { return sizeof(*this); }
@@ -1007,14 +1034,6 @@
 
 
 //=============================================================================
-bool CallLeafNode::is_call_to_arraycopystub() const {
-  if (_name != NULL && strstr(_name, "arraycopy") != 0) {
-    return true;
-  }
-  return false;
-}
-
-
 #ifndef PRODUCT
 void CallLeafNode::dump_spec(outputStream *st) const {
   st->print("# ");
@@ -1930,26 +1949,3 @@
   return true;
 }
 
-bool CallLeafNode::may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase) {
-  if (is_call_to_arraycopystub()) {
-    const TypeTuple* args = _tf->domain();
-    Node* dest = NULL;
-    // Stubs that can be called once an ArrayCopyNode is expanded have
-    // different signatures. Look for the second pointer argument,
-    // that is the destination of the copy.
-    for (uint i = TypeFunc::Parms, j = 0; i < args->cnt(); i++) {
-      if (args->field_at(i)->isa_ptr()) {
-        j++;
-        if (j == 2) {
-          dest = in(i);
-          break;
-        }
-      }
-    }
-    if (!dest->is_top() && may_modify_arraycopy_helper(phase->type(dest)->is_oopptr(), t_oop, phase)) {
-      return true;
-    }
-    return false;
-  }
-  return CallNode::may_modify(t_oop, phase);
-}
--- a/hotspot/src/share/vm/opto/callnode.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/opto/callnode.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -565,13 +565,15 @@
   address      _entry_point;  // Address of method being called
   float        _cnt;          // Estimate of number of times called
   CallGenerator* _generator;  // corresponding CallGenerator for some late inline calls
+  const char *_name;           // Printable name, if _method is NULL
 
   CallNode(const TypeFunc* tf, address addr, const TypePtr* adr_type)
     : SafePointNode(tf->domain()->cnt(), NULL, adr_type),
       _tf(tf),
       _entry_point(addr),
       _cnt(COUNT_UNKNOWN),
-      _generator(NULL)
+      _generator(NULL),
+      _name(NULL)
   {
     init_class_id(Class_Call);
   }
@@ -626,10 +628,12 @@
   // Collect all the interesting edges from a call for use in
   // replacing the call by something else.  Used by macro expansion
   // and the late inlining support.
-  void extract_projections(CallProjections* projs, bool separate_io_proj);
+  void extract_projections(CallProjections* projs, bool separate_io_proj, bool do_asserts = true);
 
   virtual uint match_edge(uint idx) const;
 
+  bool is_call_to_arraycopystub() const;
+
 #ifndef PRODUCT
   virtual void        dump_req(outputStream *st = tty) const;
   virtual void        dump_spec(outputStream *st) const;
@@ -683,7 +687,7 @@
   virtual uint size_of() const; // Size is bigger
 public:
   CallStaticJavaNode(Compile* C, const TypeFunc* tf, address addr, ciMethod* method, int bci)
-    : CallJavaNode(tf, addr, method, bci), _name(NULL) {
+    : CallJavaNode(tf, addr, method, bci) {
     init_class_id(Class_CallStaticJava);
     if (C->eliminate_boxing() && (method != NULL) && method->is_boxing_method()) {
       init_flags(Flag_is_macro);
@@ -694,14 +698,14 @@
   }
   CallStaticJavaNode(const TypeFunc* tf, address addr, const char* name, int bci,
                      const TypePtr* adr_type)
-    : CallJavaNode(tf, addr, NULL, bci), _name(name) {
+    : CallJavaNode(tf, addr, NULL, bci) {
     init_class_id(Class_CallStaticJava);
     // This node calls a runtime stub, which often has narrow memory effects.
     _adr_type = adr_type;
     _is_scalar_replaceable = false;
     _is_non_escaping = false;
+    _name = name;
   }
-  const char *_name;      // Runtime wrapper name
 
   // Result of Escape Analysis
   bool _is_scalar_replaceable;
@@ -754,13 +758,12 @@
 public:
   CallRuntimeNode(const TypeFunc* tf, address addr, const char* name,
                   const TypePtr* adr_type)
-    : CallNode(tf, addr, adr_type),
-      _name(name)
+    : CallNode(tf, addr, adr_type)
   {
     init_class_id(Class_CallRuntime);
+    _name = name;
   }
 
-  const char *_name;            // Printable name, if _method is NULL
   virtual int   Opcode() const;
   virtual void  calling_convention( BasicType* sig_bt, VMRegPair *parm_regs, uint argcnt ) const;
 
@@ -785,8 +788,6 @@
 #ifndef PRODUCT
   virtual void  dump_spec(outputStream *st) const;
 #endif
-  bool is_call_to_arraycopystub() const;
-  virtual bool may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase);
 };
 
 //------------------------------CallLeafNoFPNode-------------------------------
--- a/hotspot/src/share/vm/opto/compile.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/opto/compile.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -3390,9 +3390,6 @@
 bool Compile::too_many_traps(ciMethod* method,
                              int bci,
                              Deoptimization::DeoptReason reason) {
-  if (method->has_injected_profile()) {
-    return false;
-  }
   ciMethodData* md = method->method_data();
   if (md->is_empty()) {
     // Assume the trap has not occurred, or that it occurred only
@@ -3442,9 +3439,6 @@
 bool Compile::too_many_recompiles(ciMethod* method,
                                   int bci,
                                   Deoptimization::DeoptReason reason) {
-  if (method->has_injected_profile()) {
-    return false;
-  }
   ciMethodData* md = method->method_data();
   if (md->is_empty()) {
     // Assume the trap has not occurred, or that it occurred only
--- a/hotspot/src/share/vm/opto/library_call.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/opto/library_call.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -6125,8 +6125,6 @@
     jint false_cnt = aobj->element_value(0).as_int();
     jint  true_cnt = aobj->element_value(1).as_int();
 
-    method()->set_injected_profile(true);
-
     if (C->log() != NULL) {
       C->log()->elem("observe source='profileBoolean' false='%d' true='%d'",
                      false_cnt, true_cnt);
--- a/hotspot/src/share/vm/opto/memnode.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/opto/memnode.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -108,11 +108,10 @@
 
 #endif
 
-static bool membar_for_arraycopy_helper(const TypeOopPtr *t_oop, MergeMemNode* mm, PhaseTransform *phase) {
-  if (mm->memory_at(Compile::AliasIdxRaw)->is_Proj()) {
-    Node* n = mm->memory_at(Compile::AliasIdxRaw)->in(0);
-    if ((n->is_ArrayCopy() && n->as_ArrayCopy()->may_modify(t_oop, phase)) ||
-        (n->is_CallLeaf() && n->as_CallLeaf()->may_modify(t_oop, phase))) {
+static bool membar_for_arraycopy_helper(const TypeOopPtr *t_oop, Node* n, PhaseTransform *phase) {
+  if (n->is_Proj()) {
+    n = n->in(0);
+    if (n->is_Call() && n->as_Call()->may_modify(t_oop, phase)) {
       return true;
     }
   }
@@ -121,16 +120,22 @@
 
 static bool membar_for_arraycopy(const TypeOopPtr *t_oop, MemBarNode* mb, PhaseTransform *phase) {
   Node* mem = mb->in(TypeFunc::Memory);
+
   if (mem->is_MergeMem()) {
-    return membar_for_arraycopy_helper(t_oop, mem->as_MergeMem(), phase);
-  } else if (mem->is_Phi()) {
-    // after macro expansion of an ArrayCopyNode we may have a Phi
-    for (uint i = 1; i < mem->req(); i++) {
-      if (mem->in(i) != NULL && mem->in(i)->is_MergeMem() && membar_for_arraycopy_helper(t_oop, mem->in(i)->as_MergeMem(), phase)) {
-        return true;
+    Node* n = mem->as_MergeMem()->memory_at(Compile::AliasIdxRaw);
+    if (membar_for_arraycopy_helper(t_oop, n, phase)) {
+      return true;
+    } else if (n->is_Phi()) {
+      for (uint i = 1; i < n->req(); i++) {
+        if (n->in(i) != NULL) {
+          if (membar_for_arraycopy_helper(t_oop, n->in(i), phase)) {
+            return true;
+          }
+        }
       }
     }
   }
+
   return false;
 }
 
--- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -43,6 +43,7 @@
 #include "runtime/deoptimization.hpp"
 #include "runtime/relocator.hpp"
 #include "utilities/bitMap.inline.hpp"
+#include "utilities/events.hpp"
 
 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
 
@@ -174,6 +175,9 @@
   // Free os::malloc allocated memory.
   os::free(_scratch_classes);
 
+  // Reset the_class_oop to null for error printing.
+  _the_class_oop = NULL;
+
   if (RC_TRACE_ENABLED(0x00000004)) {
     // Used to have separate timers for "doit" and "all", but the timer
     // overhead skewed the measurements.
@@ -4105,6 +4109,13 @@
     java_lang_Class::classRedefinedCount(the_class_mirror),
     os::available_memory() >> 10));
 
+  {
+    ResourceMark rm(THREAD);
+    Events::log_redefinition(THREAD, "redefined class name=%s, count=%d",
+                             the_class->external_name(),
+                             java_lang_Class::classRedefinedCount(the_class_mirror));
+
+  }
   RC_TIMER_STOP(_timer_rsc_phase2);
 } // end redefine_single_class()
 
@@ -4249,3 +4260,11 @@
     tty->cr();
   }
 }
+
+void VM_RedefineClasses::print_on_error(outputStream* st) const {
+  VM_Operation::print_on_error(st);
+  if (_the_class_oop != NULL) {
+    ResourceMark rm;
+    st->print_cr(", redefining class %s", _the_class_oop->external_name());
+  }
+}
--- a/hotspot/src/share/vm/prims/jvmtiRedefineClasses.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/prims/jvmtiRedefineClasses.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, 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
@@ -539,5 +539,8 @@
   static unsigned char * get_cached_class_file_bytes(JvmtiCachedClassFileData *cache) {
     return cache == NULL ? NULL : cache->data;
   }
+
+  // Error printing
+  void print_on_error(outputStream* st) const;
 };
 #endif // SHARE_VM_PRIMS_JVMTIREDEFINECLASSES_HPP
--- a/hotspot/src/share/vm/prims/whitebox.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/prims/whitebox.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -710,6 +710,24 @@
   return NULL;
 WB_END
 
+WB_ENTRY(jobject, WB_GetIntVMFlag(JNIEnv* env, jobject o, jstring name))
+  int result;
+  if (GetVMFlag <int> (thread, env, name, &result, &CommandLineFlags::intAt)) {
+    ThreadToNativeFromVM ttnfv(thread);   // can't be in VM when we call JNI
+    return longBox(thread, env, result);
+  }
+  return NULL;
+WB_END
+
+WB_ENTRY(jobject, WB_GetUintVMFlag(JNIEnv* env, jobject o, jstring name))
+  uint result;
+  if (GetVMFlag <uint> (thread, env, name, &result, &CommandLineFlags::uintAt)) {
+    ThreadToNativeFromVM ttnfv(thread);   // can't be in VM when we call JNI
+    return longBox(thread, env, result);
+  }
+  return NULL;
+WB_END
+
 WB_ENTRY(jobject, WB_GetIntxVMFlag(JNIEnv* env, jobject o, jstring name))
   intx result;
   if (GetVMFlag <intx> (thread, env, name, &result, &CommandLineFlags::intxAt)) {
@@ -771,6 +789,16 @@
   SetVMFlag <bool> (thread, env, name, &result, &CommandLineFlags::boolAtPut);
 WB_END
 
+WB_ENTRY(void, WB_SetIntVMFlag(JNIEnv* env, jobject o, jstring name, jlong value))
+  int result = value;
+  SetVMFlag <int> (thread, env, name, &result, &CommandLineFlags::intAtPut);
+WB_END
+
+WB_ENTRY(void, WB_SetUintVMFlag(JNIEnv* env, jobject o, jstring name, jlong value))
+  uint result = value;
+  SetVMFlag <uint> (thread, env, name, &result, &CommandLineFlags::uintAtPut);
+WB_END
+
 WB_ENTRY(void, WB_SetIntxVMFlag(JNIEnv* env, jobject o, jstring name, jlong value))
   intx result = value;
   SetVMFlag <intx> (thread, env, name, &result, &CommandLineFlags::intxAtPut);
@@ -1336,6 +1364,8 @@
   {CC"isConstantVMFlag",   CC"(Ljava/lang/String;)Z", (void*)&WB_IsConstantVMFlag},
   {CC"isLockedVMFlag",     CC"(Ljava/lang/String;)Z", (void*)&WB_IsLockedVMFlag},
   {CC"setBooleanVMFlag",   CC"(Ljava/lang/String;Z)V",(void*)&WB_SetBooleanVMFlag},
+  {CC"setIntVMFlag",       CC"(Ljava/lang/String;J)V",(void*)&WB_SetIntVMFlag},
+  {CC"setUintVMFlag",      CC"(Ljava/lang/String;J)V",(void*)&WB_SetUintVMFlag},
   {CC"setIntxVMFlag",      CC"(Ljava/lang/String;J)V",(void*)&WB_SetIntxVMFlag},
   {CC"setUintxVMFlag",     CC"(Ljava/lang/String;J)V",(void*)&WB_SetUintxVMFlag},
   {CC"setUint64VMFlag",    CC"(Ljava/lang/String;J)V",(void*)&WB_SetUint64VMFlag},
@@ -1345,6 +1375,10 @@
                                                       (void*)&WB_SetStringVMFlag},
   {CC"getBooleanVMFlag",   CC"(Ljava/lang/String;)Ljava/lang/Boolean;",
                                                       (void*)&WB_GetBooleanVMFlag},
+  {CC"getIntVMFlag",       CC"(Ljava/lang/String;)Ljava/lang/Long;",
+                                                      (void*)&WB_GetIntVMFlag},
+  {CC"getUintVMFlag",      CC"(Ljava/lang/String;)Ljava/lang/Long;",
+                                                      (void*)&WB_GetUintVMFlag},
   {CC"getIntxVMFlag",      CC"(Ljava/lang/String;)Ljava/lang/Long;",
                                                       (void*)&WB_GetIntxVMFlag},
   {CC"getUintxVMFlag",     CC"(Ljava/lang/String;)Ljava/lang/Long;",
--- a/hotspot/src/share/vm/runtime/arguments.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/runtime/arguments.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -586,11 +586,12 @@
 
 static bool set_numeric_flag(char* name, char* value, Flag::Flags origin) {
   julong v;
+  int int_v;
   intx intx_v;
   bool is_neg = false;
   // Check the sign first since atomull() parses only unsigned values.
   if (*value == '-') {
-    if (!CommandLineFlags::intxAt(name, &intx_v)) {
+    if (!CommandLineFlags::intxAt(name, &intx_v) && !CommandLineFlags::intAt(name, &int_v)) {
       return false;
     }
     value++;
@@ -599,6 +600,17 @@
   if (!atomull(value, &v)) {
     return false;
   }
+  int_v = (int) v;
+  if (is_neg) {
+    int_v = -int_v;
+  }
+  if (CommandLineFlags::intAtPut(name, &int_v, origin)) {
+    return true;
+  }
+  uint uint_v = (uint) v;
+  if (!is_neg && CommandLineFlags::uintAtPut(name, &uint_v, origin)) {
+    return true;
+  }
   intx_v = (intx) v;
   if (is_neg) {
     intx_v = -intx_v;
--- a/hotspot/src/share/vm/runtime/deoptimization.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/runtime/deoptimization.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -1460,7 +1460,11 @@
     //
     // The other actions cause immediate removal of the present code.
 
-    bool update_trap_state = (reason != Reason_tenured);
+    // Traps caused by injected profile shouldn't pollute trap counts.
+    bool injected_profile_trap = trap_method->has_injected_profile() &&
+                                 (reason == Reason_intrinsic || reason == Reason_unreached);
+
+    bool update_trap_state = (reason != Reason_tenured) && !injected_profile_trap;
     bool make_not_entrant = false;
     bool make_not_compilable = false;
     bool reprofile = false;
--- a/hotspot/src/share/vm/runtime/globals.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/runtime/globals.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -93,6 +93,32 @@
   *((bool*) _addr) = value;
 }
 
+bool Flag::is_int() const {
+  return strcmp(_type, "int")  == 0;
+}
+
+int Flag::get_int() const {
+  return *((int*) _addr);
+}
+
+void Flag::set_int(int value) {
+  check_writable();
+  *((int*) _addr) = value;
+}
+
+bool Flag::is_uint() const {
+  return strcmp(_type, "uint")  == 0;
+}
+
+uint Flag::get_uint() const {
+  return *((uint*) _addr);
+}
+
+void Flag::set_uint(uint value) {
+  check_writable();
+  *((uint*) _addr) = value;
+}
+
 bool Flag::is_intx() const {
   return strcmp(_type, "intx")  == 0;
 }
@@ -316,6 +342,12 @@
   if (is_bool()) {
     st->print("%-16s", get_bool() ? "true" : "false");
   }
+  if (is_int()) {
+    st->print("%-16d", get_int());
+  }
+  if (is_uint()) {
+    st->print("%-16u", get_uint());
+  }
   if (is_intx()) {
     st->print("%-16ld", get_intx());
   }
@@ -411,6 +443,10 @@
 void Flag::print_as_flag(outputStream* st) {
   if (is_bool()) {
     st->print("-XX:%s%s", get_bool() ? "+" : "-", _name);
+  } else if (is_int()) {
+    st->print("-XX:%s=%d", _name, get_int());
+  } else if (is_uint()) {
+    st->print("-XX:%s=%u", _name, get_uint());
   } else if (is_intx()) {
     st->print("-XX:%s=" INTX_FORMAT, _name, get_intx());
   } else if (is_uintx()) {
@@ -663,6 +699,62 @@
   faddr->set_origin(origin);
 }
 
+bool CommandLineFlags::intAt(const char* name, size_t len, int* value, bool allow_locked, bool return_flag) {
+  Flag* result = Flag::find_flag(name, len, allow_locked, return_flag);
+  if (result == NULL) return false;
+  if (!result->is_int()) return false;
+  *value = result->get_int();
+  return true;
+}
+
+bool CommandLineFlags::intAtPut(const char* name, size_t len, int* value, Flag::Flags origin) {
+  Flag* result = Flag::find_flag(name, len);
+  if (result == NULL) return false;
+  if (!result->is_int()) return false;
+  int old_value = result->get_int();
+  trace_flag_changed<EventIntFlagChanged, s4>(name, old_value, *value, origin);
+  result->set_int(*value);
+  *value = old_value;
+  result->set_origin(origin);
+  return true;
+}
+
+void CommandLineFlagsEx::intAtPut(CommandLineFlagWithType flag, int value, Flag::Flags origin) {
+  Flag* faddr = address_of_flag(flag);
+  guarantee(faddr != NULL && faddr->is_int(), "wrong flag type");
+  trace_flag_changed<EventIntFlagChanged, s4>(faddr->_name, faddr->get_int(), value, origin);
+  faddr->set_int(value);
+  faddr->set_origin(origin);
+}
+
+bool CommandLineFlags::uintAt(const char* name, size_t len, uint* value, bool allow_locked, bool return_flag) {
+  Flag* result = Flag::find_flag(name, len, allow_locked, return_flag);
+  if (result == NULL) return false;
+  if (!result->is_uint()) return false;
+  *value = result->get_uint();
+  return true;
+}
+
+bool CommandLineFlags::uintAtPut(const char* name, size_t len, uint* value, Flag::Flags origin) {
+  Flag* result = Flag::find_flag(name, len);
+  if (result == NULL) return false;
+  if (!result->is_uint()) return false;
+  uint old_value = result->get_uint();
+  trace_flag_changed<EventUnsignedIntFlagChanged, u4>(name, old_value, *value, origin);
+  result->set_uint(*value);
+  *value = old_value;
+  result->set_origin(origin);
+  return true;
+}
+
+void CommandLineFlagsEx::uintAtPut(CommandLineFlagWithType flag, uint value, Flag::Flags origin) {
+  Flag* faddr = address_of_flag(flag);
+  guarantee(faddr != NULL && faddr->is_uint(), "wrong flag type");
+  trace_flag_changed<EventUnsignedIntFlagChanged, u4>(faddr->_name, faddr->get_uint(), value, origin);
+  faddr->set_uint(value);
+  faddr->set_origin(origin);
+}
+
 bool CommandLineFlags::intxAt(const char* name, size_t len, intx* value, bool allow_locked, bool return_flag) {
   Flag* result = Flag::find_flag(name, len, allow_locked, return_flag);
   if (result == NULL) return false;
--- a/hotspot/src/share/vm/runtime/globals.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/runtime/globals.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -279,6 +279,14 @@
   bool get_bool() const;
   void set_bool(bool value);
 
+  bool is_int() const;
+  int get_int() const;
+  void set_int(int value);
+
+  bool is_uint() const;
+  uint get_uint() const;
+  void set_uint(uint value);
+
   bool is_intx() const;
   intx get_intx() const;
   void set_intx(intx value);
@@ -363,13 +371,28 @@
   ~CounterSetting()         { (*counter)--; }
 };
 
+class IntFlagSetting {
+  int val;
+  int* flag;
+ public:
+  IntFlagSetting(int& fl, int newValue) { flag = &fl; val = fl; fl = newValue; }
+  ~IntFlagSetting()                     { *flag = val; }
+};
 
 class UIntFlagSetting {
+  uint val;
+  uint* flag;
+ public:
+  UIntFlagSetting(uint& fl, uint newValue) { flag = &fl; val = fl; fl = newValue; }
+  ~UIntFlagSetting()                       { *flag = val; }
+};
+
+class UIntXFlagSetting {
   uintx val;
   uintx* flag;
  public:
-  UIntFlagSetting(uintx& fl, uintx newValue) { flag = &fl; val = fl; fl = newValue; }
-  ~UIntFlagSetting()                         { *flag = val; }
+  UIntXFlagSetting(uintx& fl, uintx newValue) { flag = &fl; val = fl; fl = newValue; }
+  ~UIntXFlagSetting()                         { *flag = val; }
 };
 
 class DoubleFlagSetting {
@@ -396,6 +419,16 @@
   static bool boolAtPut(const char* name, size_t len, bool* value, Flag::Flags origin);
   static bool boolAtPut(const char* name, bool* value, Flag::Flags origin)   { return boolAtPut(name, strlen(name), value, origin); }
 
+  static bool intAt(const char* name, size_t len, int* value, bool allow_locked = false, bool return_flag = false);
+  static bool intAt(const char* name, int* value, bool allow_locked = false, bool return_flag = false)      { return intAt(name, strlen(name), value, allow_locked, return_flag); }
+  static bool intAtPut(const char* name, size_t len, int* value, Flag::Flags origin);
+  static bool intAtPut(const char* name, int* value, Flag::Flags origin)   { return intAtPut(name, strlen(name), value, origin); }
+
+  static bool uintAt(const char* name, size_t len, uint* value, bool allow_locked = false, bool return_flag = false);
+  static bool uintAt(const char* name, uint* value, bool allow_locked = false, bool return_flag = false)      { return uintAt(name, strlen(name), value, allow_locked, return_flag); }
+  static bool uintAtPut(const char* name, size_t len, uint* value, Flag::Flags origin);
+  static bool uintAtPut(const char* name, uint* value, Flag::Flags origin)   { return uintAtPut(name, strlen(name), value, origin); }
+
   static bool intxAt(const char* name, size_t len, intx* value, bool allow_locked = false, bool return_flag = false);
   static bool intxAt(const char* name, intx* value, bool allow_locked = false, bool return_flag = false)      { return intxAt(name, strlen(name), value, allow_locked, return_flag); }
   static bool intxAtPut(const char* name, size_t len, intx* value, Flag::Flags origin);
--- a/hotspot/src/share/vm/runtime/globals_extension.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/runtime/globals_extension.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -197,6 +197,8 @@
 class CommandLineFlagsEx : CommandLineFlags {
  public:
   static void boolAtPut(CommandLineFlagWithType flag, bool value, Flag::Flags origin);
+  static void intAtPut(CommandLineFlagWithType flag, int value, Flag::Flags origin);
+  static void uintAtPut(CommandLineFlagWithType flag, uint value, Flag::Flags origin);
   static void intxAtPut(CommandLineFlagWithType flag, intx value, Flag::Flags origin);
   static void uintxAtPut(CommandLineFlagWithType flag, uintx value, Flag::Flags origin);
   static void uint64_tAtPut(CommandLineFlagWithType flag, uint64_t value, Flag::Flags origin);
--- a/hotspot/src/share/vm/runtime/vm_operations.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/runtime/vm_operations.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -192,7 +192,7 @@
   static const char* mode_to_string(Mode mode);
 
   // Debugging
-  void print_on_error(outputStream* st) const;
+  virtual void print_on_error(outputStream* st) const;
   const char* name() const { return _names[type()]; }
   static const char* name(int type) {
     assert(type >= 0 && type < VMOp_Terminating, "invalid VM operation type");
--- a/hotspot/src/share/vm/services/management.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/services/management.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -1558,6 +1558,12 @@
   if (flag->is_bool()) {
     global->value.z = flag->get_bool() ? JNI_TRUE : JNI_FALSE;
     global->type = JMM_VMGLOBAL_TYPE_JBOOLEAN;
+  } else if (flag->is_int()) {
+    global->value.j = (jlong)flag->get_int();
+    global->type = JMM_VMGLOBAL_TYPE_JLONG;
+  } else if (flag->is_uint()) {
+    global->value.j = (jlong)flag->get_uint();
+    global->type = JMM_VMGLOBAL_TYPE_JLONG;
   } else if (flag->is_intx()) {
     global->value.j = (jlong)flag->get_intx();
     global->type = JMM_VMGLOBAL_TYPE_JLONG;
--- a/hotspot/src/share/vm/services/writeableFlags.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/services/writeableFlags.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -44,6 +44,36 @@
   return CommandLineFlags::boolAtPut((char*)name, &value, origin) ? SUCCESS : ERR_OTHER;
 }
 
+// set a int global flag
+int WriteableFlags::set_int_flag(const char* name, const char* arg, Flag::Flags origin, FormatBuffer<80>& err_msg) {
+  int value;
+
+  if (sscanf(arg, "%d", &value)) {
+    return set_int_flag(name, value, origin, err_msg);
+  }
+  err_msg.print("flag value must be an integer");
+  return WRONG_FORMAT;
+}
+
+int WriteableFlags::set_int_flag(const char* name, int value, Flag::Flags origin, FormatBuffer<80>& err_msg) {
+  return CommandLineFlags::intAtPut((char*)name, &value, origin) ? SUCCESS : ERR_OTHER;
+}
+
+// set a uint global flag
+int WriteableFlags::set_uint_flag(const char* name, const char* arg, Flag::Flags origin, FormatBuffer<80>& err_msg) {
+  uint value;
+
+  if (sscanf(arg, "%u", &value)) {
+    return set_uint_flag(name, value, origin, err_msg);
+  }
+  err_msg.print("flag value must be an unsigned integer");
+  return WRONG_FORMAT;
+}
+
+int WriteableFlags::set_uint_flag(const char* name, uint value, Flag::Flags origin, FormatBuffer<80>& err_msg) {
+  return CommandLineFlags::uintAtPut((char*)name, &value, origin) ? SUCCESS : ERR_OTHER;
+}
+
 // set a intx global flag
 int WriteableFlags::set_intx_flag(const char* name, const char* arg, Flag::Flags origin, FormatBuffer<80>& err_msg) {
   intx value;
@@ -173,6 +203,10 @@
   }
   if (f->is_bool()) {
     return set_bool_flag(f->_name, flag_value, origin, err_msg);
+  } else if (f->is_int()) {
+    return set_int_flag(f->_name, flag_value, origin, err_msg);
+  } else if (f->is_uint()) {
+    return set_uint_flag(f->_name, flag_value, origin, err_msg);
   } else if (f->is_intx()) {
     return set_intx_flag(f->_name, flag_value, origin, err_msg);
   } else if (f->is_uintx()) {
@@ -195,6 +229,12 @@
   if (f->is_bool()) {
     bool bvalue = (new_value.z == JNI_TRUE ? true : false);
     return set_bool_flag(f->_name, bvalue, origin, err_msg);
+  } else if (f->is_int()) {
+    int ivalue = (int)new_value.j;
+    return set_int_flag(f->_name, ivalue, origin, err_msg);
+  } else if (f->is_uint()) {
+    uint uvalue = (uint)new_value.j;
+    return set_uint_flag(f->_name, uvalue, origin, err_msg);
   } else if (f->is_intx()) {
     intx ivalue = (intx)new_value.j;
     return set_intx_flag(f->_name, ivalue, origin, err_msg);
--- a/hotspot/src/share/vm/services/writeableFlags.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/services/writeableFlags.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -56,6 +56,10 @@
 
   // set a boolean global flag
   static int set_bool_flag(const char* name, const char* value, Flag::Flags origin, FormatBuffer<80>& err_msg);
+  // set a int global flag
+  static int set_int_flag(const char* name, const char* value, Flag::Flags origin, FormatBuffer<80>& err_msg);
+  // set a uint global flag
+  static int set_uint_flag(const char* name, const char* value, Flag::Flags origin, FormatBuffer<80>& err_msg);
   // set a intx global flag
   static int set_intx_flag(const char* name, const char* value, Flag::Flags origin, FormatBuffer<80>& err_msg);
   // set a uintx global flag
@@ -66,6 +70,10 @@
   static int set_size_t_flag(const char* name, const char* value, Flag::Flags origin, FormatBuffer<80>& err_msg);
   // set a boolean global flag
   static int set_bool_flag(const char* name, bool value, Flag::Flags origin, FormatBuffer<80>& err_msg);
+  // set a int global flag
+  static int set_int_flag(const char* name, int value, Flag::Flags origin, FormatBuffer<80>& err_msg);
+  // set a uint global flag
+  static int set_uint_flag(const char* name, uint value, Flag::Flags origin, FormatBuffer<80>& err_msg);
   // set a intx global flag
   static int set_intx_flag(const char* name, intx value, Flag::Flags origin, FormatBuffer<80>& err_msg);
   // set a uintx global flag
--- a/hotspot/src/share/vm/trace/trace.xml	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/trace/trace.xml	Thu Jul 02 17:50:25 2015 -0700
@@ -122,6 +122,22 @@
       <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/>
     </event>
 
+    <event id="IntFlagChanged" path="vm/flag/int_changed" label="Int Flag Changed"
+          is_instant="true">
+      <value type="UTF8" field="name" label="Name" />
+      <value type="INTEGER" field="old_value" label="Old Value" />
+      <value type="INTEGER" field="new_value" label="New Value" />
+      <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
+    </event>
+
+    <event id="UnsignedIntFlagChanged" path="vm/flag/uint_changed" label="Unsigned Int Flag Changed"
+          is_instant="true">
+      <value type="UTF8" field="name" label="Name" />
+      <value type="UINT" field="old_value" label="Old Value" />
+      <value type="UINT" field="new_value" label="New Value" />
+      <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
+    </event>
+
     <event id="LongFlagChanged" path="vm/flag/long_changed" label="Long Flag Changed"
           is_instant="true">
       <value type="UTF8" field="name" label="Name" />
--- a/hotspot/src/share/vm/utilities/events.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/utilities/events.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -37,6 +37,7 @@
 EventLog* Events::_logs = NULL;
 StringEventLog* Events::_messages = NULL;
 StringEventLog* Events::_exceptions = NULL;
+StringEventLog* Events::_redefinitions = NULL;
 StringEventLog* Events::_deopt_messages = NULL;
 
 EventLog::EventLog() {
@@ -66,6 +67,7 @@
   if (LogEvents) {
     _messages = new StringEventLog("Events");
     _exceptions = new StringEventLog("Internal exceptions");
+    _redefinitions = new StringEventLog("Classes redefined");
     _deopt_messages = new StringEventLog("Deoptimization events");
   }
 }
--- a/hotspot/src/share/vm/utilities/events.hpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/src/share/vm/utilities/events.hpp	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -186,6 +186,9 @@
   // Deoptization related messages
   static StringEventLog* _deopt_messages;
 
+  // Redefinition related messages
+  static StringEventLog* _redefinitions;
+
  public:
   static void print_all(outputStream* out);
 
@@ -198,6 +201,8 @@
   // Log exception related message
   static void log_exception(Thread* thread, const char* format, ...) ATTRIBUTE_PRINTF(2, 3);
 
+  static void log_redefinition(Thread* thread, const char* format, ...) ATTRIBUTE_PRINTF(2, 3);
+
   static void log_deopt_message(Thread* thread, const char* format, ...) ATTRIBUTE_PRINTF(2, 3);
 
   // Register default loggers
@@ -222,6 +227,15 @@
   }
 }
 
+inline void Events::log_redefinition(Thread* thread, const char* format, ...) {
+  if (LogEvents) {
+    va_list ap;
+    va_start(ap, format);
+    _redefinitions->logv(thread, format, ap);
+    va_end(ap);
+  }
+}
+
 inline void Events::log_deopt_message(Thread* thread, const char* format, ...) {
   if (LogEvents) {
     va_list ap;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/arraycopy/TestLoadBypassArrayCopy.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8086046
+ * @summary load bypasses arraycopy that sets the value after the ArrayCopyNode is expanded
+ * @run main/othervm -XX:-BackgroundCompilation  -XX:-UseOnStackReplacement -XX:CompileCommand=dontinline,TestLoadBypassArrayCopy::test_helper -XX:-TieredCompilation TestLoadBypassArrayCopy
+ *
+ */
+
+public class TestLoadBypassArrayCopy {
+
+    static long i;
+    static boolean test_helper() {
+        i++;
+        if ((i%10) == 0) {
+            return false;
+        }
+        return true;
+    }
+
+    static int test(int[] src, int len, boolean flag) {
+        int[] dest = new int[10];
+        int res = 0;
+        while (test_helper()) {
+            System.arraycopy(src, 0, dest, 0, len);
+            // predicate moved out of loop so control of following
+            // load is not the ArrayCopyNode. Otherwise, if the memory
+            // of the load is changed and the control is set to the
+            // ArrayCopyNode the graph is unschedulable and the test
+            // doesn't fail.
+            if (flag) {
+            }
+            // The memory of this load shouldn't bypass the arraycopy
+            res = dest[0];
+        }
+        return res;
+    }
+
+    static public void main(String[] args) {
+        int[] src = new int[10];
+        src[0] = 0x42;
+        for (int i = 0; i < 20000; i++) {
+            int res = test(src, 10, false);
+            if (res != src[0]) {
+                throw new RuntimeException("test failed");
+            }
+        }
+    }
+}
--- a/hotspot/test/compiler/intrinsics/sha/cli/SHAOptionsBase.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/SHAOptionsBase.java	Thu Jul 02 17:50:25 2015 -0700
@@ -71,7 +71,7 @@
      *         instructions required by the option are not supported.
      */
     protected static String getWarningForUnsupportedCPU(String optionName) {
-        if (Platform.isSparc()) {
+        if (Platform.isSparc() || Platform.isAArch64()) {
             switch (optionName) {
                 case SHAOptionsBase.USE_SHA_OPTION:
                     return SHAOptionsBase.SHA_INSTRUCTIONS_ARE_NOT_AVAILABLE;
--- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnSupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -36,7 +36,7 @@
  */
 public class TestUseSHA1IntrinsicsOptionOnSupportedCPU {
     public static void main(String args[]) throws Throwable {
-        new SHAOptionsBase(new GenericTestCaseForSupportedSparcCPU(
+        new SHAOptionsBase(new GenericTestCaseForSupportedCPU(
                 SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION)).test();
     }
 }
--- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA1IntrinsicsOptionOnUnsupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -40,9 +40,11 @@
         new SHAOptionsBase(
                 new GenericTestCaseForUnsupportedSparcCPU(
                         SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION),
-                new UseSHAIntrinsicsSpecificTestCaseForUnsupportedSparcCPU(
+                new GenericTestCaseForUnsupportedX86CPU(
                         SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION),
-                new GenericTestCaseForUnsupportedX86CPU(
+                new GenericTestCaseForUnsupportedAArch64CPU(
+                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION),
+                new UseSHAIntrinsicsSpecificTestCaseForUnsupportedCPU(
                         SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION),
                 new GenericTestCaseForOtherCPU(
                         SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION)).test();
--- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnSupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -37,7 +37,7 @@
  */
 public class TestUseSHA256IntrinsicsOptionOnSupportedCPU {
     public static void main(String args[]) throws Throwable {
-        new SHAOptionsBase(new GenericTestCaseForSupportedSparcCPU(
+        new SHAOptionsBase(new GenericTestCaseForSupportedCPU(
                 SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION)).test();
     }
 }
--- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA256IntrinsicsOptionOnUnsupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -40,9 +40,11 @@
         new SHAOptionsBase(
                 new GenericTestCaseForUnsupportedSparcCPU(
                         SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION),
-                new UseSHAIntrinsicsSpecificTestCaseForUnsupportedSparcCPU(
+                new GenericTestCaseForUnsupportedX86CPU(
                         SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION),
-                new GenericTestCaseForUnsupportedX86CPU(
+                new GenericTestCaseForUnsupportedAArch64CPU(
+                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION),
+                new UseSHAIntrinsicsSpecificTestCaseForUnsupportedCPU(
                         SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION),
                 new GenericTestCaseForOtherCPU(
                         SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION)).test();
--- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnSupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -37,7 +37,7 @@
  */
 public class TestUseSHA512IntrinsicsOptionOnSupportedCPU {
     public static void main(String args[]) throws Throwable {
-        new SHAOptionsBase(new GenericTestCaseForSupportedSparcCPU(
+        new SHAOptionsBase(new GenericTestCaseForSupportedCPU(
                 SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION)).test();
     }
 }
--- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHA512IntrinsicsOptionOnUnsupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -40,9 +40,11 @@
         new SHAOptionsBase(
                 new GenericTestCaseForUnsupportedSparcCPU(
                         SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION),
-                new UseSHAIntrinsicsSpecificTestCaseForUnsupportedSparcCPU(
+                new GenericTestCaseForUnsupportedX86CPU(
                         SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION),
-                new GenericTestCaseForUnsupportedX86CPU(
+                new GenericTestCaseForUnsupportedAArch64CPU(
+                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION),
+                new UseSHAIntrinsicsSpecificTestCaseForUnsupportedCPU(
                         SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION),
                 new GenericTestCaseForOtherCPU(
                         SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION)).test();
--- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnSupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -37,9 +37,9 @@
 public class TestUseSHAOptionOnSupportedCPU {
     public static void main(String args[]) throws Throwable {
         new SHAOptionsBase(
-                new GenericTestCaseForSupportedSparcCPU(
+                new GenericTestCaseForSupportedCPU(
                         SHAOptionsBase.USE_SHA_OPTION),
-                new UseSHASpecificTestCaseForSupportedSparcCPU(
+                new UseSHASpecificTestCaseForSupportedCPU(
                         SHAOptionsBase.USE_SHA_OPTION)).test();
     }
 }
--- a/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/TestUseSHAOptionOnUnsupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -39,9 +39,11 @@
         new SHAOptionsBase(
                 new GenericTestCaseForUnsupportedSparcCPU(
                         SHAOptionsBase.USE_SHA_OPTION),
-                new UseSHASpecificTestCaseForUnsupportedSparcCPU(
+                new GenericTestCaseForUnsupportedX86CPU(
                         SHAOptionsBase.USE_SHA_OPTION),
-                new GenericTestCaseForUnsupportedX86CPU(
+                new GenericTestCaseForUnsupportedAArch64CPU(
+                        SHAOptionsBase.USE_SHA_OPTION),
+                new UseSHASpecificTestCaseForUnsupportedCPU(
                         SHAOptionsBase.USE_SHA_OPTION),
                 new GenericTestCaseForOtherCPU(
                         SHAOptionsBase.USE_SHA_OPTION)).test();
--- a/hotspot/test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForOtherCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForOtherCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -35,16 +35,18 @@
         SHAOptionsBase.TestCase {
     public GenericTestCaseForOtherCPU(String optionName) {
         // Execute the test case on any CPU except SPARC and X86
-        super(optionName, new NotPredicate(new OrPredicate(Platform::isSparc,
-                new OrPredicate(Platform::isX64, Platform::isX86))));
+        super(optionName, new NotPredicate(
+                new OrPredicate(
+                    new OrPredicate(Platform::isSparc, Platform::isAArch64),
+                    new OrPredicate(Platform::isX64, Platform::isX86))));
     }
 
     @Override
     protected void verifyWarnings() throws Throwable {
         String shouldPassMessage = String.format("JVM should start with "
                 + "option '%s' without any warnings", optionName);
-        // Verify that on non-x86 and non-SPARC CPU usage of SHA-related
-        // options will not cause any warnings.
+        // Verify that on non-x86, non-SPARC and non-AArch64 CPU usage of
+        //  SHA-related options will not cause any warnings.
         CommandLineOptionTest.verifySameJVMStartup(null,
                 new String[] { ".*" + optionName + ".*" }, shouldPassMessage,
                 shouldPassMessage, ExitCode.OK,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForSupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2014, 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import jdk.test.lib.ExitCode;
+import jdk.test.lib.Platform;
+import jdk.test.lib.cli.CommandLineOptionTest;
+import jdk.test.lib.cli.predicate.AndPredicate;
+import jdk.test.lib.cli.predicate.OrPredicate;
+
+/**
+ * Generic test case for SHA-related options targeted to CPUs which
+ * support instructions required by the tested option.
+ */
+public class GenericTestCaseForSupportedCPU extends
+        SHAOptionsBase.TestCase {
+    public GenericTestCaseForSupportedCPU(String optionName) {
+        super(optionName,
+                new AndPredicate(
+                    new OrPredicate(Platform::isSparc, Platform::isAArch64),
+                    SHAOptionsBase.getPredicateForOption(optionName)));
+    }
+
+    @Override
+    protected void verifyWarnings() throws Throwable {
+
+        String shouldPassMessage = String.format("JVM should start with option"
+                + " '%s' without any warnings", optionName);
+        // Verify that there are no warning when option is explicitly enabled.
+        CommandLineOptionTest.verifySameJVMStartup(null, new String[] {
+                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
+                }, shouldPassMessage, shouldPassMessage, ExitCode.OK,
+                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
+
+        // Verify that option could be disabled even if +UseSHA was passed to
+        // JVM.
+        CommandLineOptionTest.verifySameJVMStartup(null, new String[] {
+                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
+                }, shouldPassMessage, String.format("It should be able to "
+                        + "disable option '%s' even if %s was passed to JVM",
+                        optionName, CommandLineOptionTest.prepareBooleanFlag(
+                            SHAOptionsBase.USE_SHA_OPTION, true)),
+                ExitCode.OK,
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(optionName, false));
+
+        // Verify that it is possible to enable the tested option and disable
+        // all SHA intrinsics via -UseSHA without any warnings.
+        CommandLineOptionTest.verifySameJVMStartup(null, new String[] {
+                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
+                }, shouldPassMessage, String.format("It should be able to "
+                        + "enable option '%s' even if %s was passed to JVM",
+                        optionName, CommandLineOptionTest.prepareBooleanFlag(
+                            SHAOptionsBase.USE_SHA_OPTION, false)),
+                ExitCode.OK,
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, false),
+                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
+    }
+
+    @Override
+    protected void verifyOptionValues() throws Throwable {
+        // Verify that "It should be able to disable option "
+
+        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "true",
+                String.format("Option '%s' should be enabled by default",
+                        optionName));
+
+        // Verify that it is possible to explicitly enable the option.
+        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "true",
+                String.format("Option '%s' was set to have value 'true'",
+                        optionName),
+                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
+
+        // Verify that it is possible to explicitly disable the option.
+        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
+                String.format("Option '%s' was set to have value 'false'",
+                        optionName),
+                CommandLineOptionTest.prepareBooleanFlag(optionName, false));
+
+        // verify that option is disabled when -UseSHA was passed to JVM.
+        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
+                String.format("Option '%s' should have value 'false' when %s"
+                        + " flag set to JVM", optionName,
+                        CommandLineOptionTest.prepareBooleanFlag(
+                            SHAOptionsBase.USE_SHA_OPTION, false)),
+                CommandLineOptionTest.prepareBooleanFlag(optionName, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, false));
+
+        // Verify that it is possible to explicitly disable the tested option
+        // even if +UseSHA was passed to JVM.
+        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
+                String.format("Option '%s' should have value 'false' if set so"
+                        + " even if %s flag set to JVM", optionName,
+                        CommandLineOptionTest.prepareBooleanFlag(
+                            SHAOptionsBase.USE_SHA_OPTION, true)),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(optionName, false));
+    }
+}
--- a/hotspot/test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForSupportedSparcCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2014, 2015, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-import jdk.test.lib.ExitCode;
-import jdk.test.lib.Platform;
-import jdk.test.lib.cli.CommandLineOptionTest;
-import jdk.test.lib.cli.predicate.AndPredicate;
-
-/**
- * Generic test case for SHA-related options targeted to SPARC CPUs which
- * support instructions required by the tested option.
- */
-public class GenericTestCaseForSupportedSparcCPU extends
-        SHAOptionsBase.TestCase {
-    public GenericTestCaseForSupportedSparcCPU(String optionName) {
-        super(optionName, new AndPredicate(Platform::isSparc,
-                SHAOptionsBase.getPredicateForOption(optionName)));
-    }
-
-    @Override
-    protected void verifyWarnings() throws Throwable {
-
-        String shouldPassMessage = String.format("JVM should start with option"
-                + " '%s' without any warnings", optionName);
-        // Verify that there are no warning when option is explicitly enabled.
-        CommandLineOptionTest.verifySameJVMStartup(null, new String[] {
-                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
-                }, shouldPassMessage, shouldPassMessage, ExitCode.OK,
-                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
-
-        // Verify that option could be disabled even if +UseSHA was passed to
-        // JVM.
-        CommandLineOptionTest.verifySameJVMStartup(null, new String[] {
-                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
-                }, shouldPassMessage, String.format("It should be able to "
-                        + "disable option '%s' even if %s was passed to JVM",
-                        optionName, CommandLineOptionTest.prepareBooleanFlag(
-                            SHAOptionsBase.USE_SHA_OPTION, true)),
-                ExitCode.OK,
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(optionName, false));
-
-        // Verify that it is possible to enable the tested option and disable
-        // all SHA intrinsics via -UseSHA without any warnings.
-        CommandLineOptionTest.verifySameJVMStartup(null, new String[] {
-                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
-                }, shouldPassMessage, String.format("It should be able to "
-                        + "enable option '%s' even if %s was passed to JVM",
-                        optionName, CommandLineOptionTest.prepareBooleanFlag(
-                            SHAOptionsBase.USE_SHA_OPTION, false)),
-                ExitCode.OK,
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA_OPTION, false),
-                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
-    }
-
-    @Override
-    protected void verifyOptionValues() throws Throwable {
-        // Verify that "It should be able to disable option "
-
-        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "true",
-                String.format("Option '%s' should be enabled by default",
-                        optionName));
-
-        // Verify that it is possible to explicitly enable the option.
-        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "true",
-                String.format("Option '%s' was set to have value 'true'",
-                        optionName),
-                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
-
-        // Verify that it is possible to explicitly disable the option.
-        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
-                String.format("Option '%s' was set to have value 'false'",
-                        optionName),
-                CommandLineOptionTest.prepareBooleanFlag(optionName, false));
-
-        // verify that option is disabled when -UseSHA was passed to JVM.
-        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
-                String.format("Option '%s' should have value 'false' when %s"
-                        + " flag set to JVM", optionName,
-                        CommandLineOptionTest.prepareBooleanFlag(
-                            SHAOptionsBase.USE_SHA_OPTION, false)),
-                CommandLineOptionTest.prepareBooleanFlag(optionName, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA_OPTION, false));
-
-        // Verify that it is possible to explicitly disable the tested option
-        // even if +UseSHA was passed to JVM.
-        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
-                String.format("Option '%s' should have value 'false' if set so"
-                        + " even if %s flag set to JVM", optionName,
-                        CommandLineOptionTest.prepareBooleanFlag(
-                            SHAOptionsBase.USE_SHA_OPTION, true)),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(optionName, false));
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/intrinsics/sha/cli/testcases/GenericTestCaseForUnsupportedAArch64CPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2014, 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import jdk.test.lib.ExitCode;
+import jdk.test.lib.Platform;
+import jdk.test.lib.cli.CommandLineOptionTest;
+import jdk.test.lib.cli.predicate.AndPredicate;
+import jdk.test.lib.cli.predicate.NotPredicate;
+
+/**
+ * Generic test case for SHA-related options targeted to AArch64 CPUs
+ * which don't support instruction required by the tested option.
+ */
+public class GenericTestCaseForUnsupportedAArch64CPU extends
+        SHAOptionsBase.TestCase {
+    public GenericTestCaseForUnsupportedAArch64CPU(String optionName) {
+        super(optionName, new AndPredicate(Platform::isAArch64,
+                new NotPredicate(SHAOptionsBase.getPredicateForOption(
+                        optionName))));
+    }
+
+    @Override
+    protected void verifyWarnings() throws Throwable {
+        String shouldPassMessage = String.format("JVM startup should pass with"
+                + "option '-XX:-%s' without any warnings", optionName);
+        //Verify that option could be disabled without any warnings.
+        CommandLineOptionTest.verifySameJVMStartup(null, new String[] {
+                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
+                }, shouldPassMessage, shouldPassMessage, ExitCode.OK,
+                CommandLineOptionTest.prepareBooleanFlag(optionName, false));
+
+        shouldPassMessage = String.format("JVM should start with '-XX:+"
+                + "%s' flag, but output should contain warning.", optionName);
+        // Verify that when the tested option is explicitly enabled, then
+        // a warning will occur in VM output.
+        CommandLineOptionTest.verifySameJVMStartup(new String[] {
+                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
+                }, null, shouldPassMessage, shouldPassMessage, ExitCode.OK,
+                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
+    }
+
+    @Override
+    protected void verifyOptionValues() throws Throwable {
+        // Verify that option is disabled by default.
+        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
+                String.format("Option '%s' should be disabled by default",
+                        optionName));
+
+        // Verify that option is disabled even if it was explicitly enabled
+        // using CLI options.
+        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
+                String.format("Option '%s' should be off on unsupported "
+                        + "AArch64CPU even if set to true directly", optionName),
+                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
+
+        // Verify that option is disabled when +UseSHA was passed to JVM.
+        CommandLineOptionTest.verifyOptionValueForSameVM(optionName, "false",
+                String.format("Option '%s' should be off on unsupported "
+                        + "AArch64CPU even if %s flag set to JVM",
+                        optionName, CommandLineOptionTest.prepareBooleanFlag(
+                            SHAOptionsBase.USE_SHA_OPTION, true)),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, true));
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHAIntrinsicsSpecificTestCaseForUnsupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2014, 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import jdk.test.lib.ExitCode;
+import jdk.test.lib.Platform;
+import jdk.test.lib.cli.CommandLineOptionTest;
+import jdk.test.lib.cli.predicate.AndPredicate;
+import jdk.test.lib.cli.predicate.OrPredicate;
+import jdk.test.lib.cli.predicate.NotPredicate;
+import sha.predicate.IntrinsicPredicates;
+
+/**
+ * Test case specific to UseSHA*Intrinsics options targeted to SPARC and AArch64
+ * CPUs which don't support required instruction, but support other SHA-related
+ * instructions.
+ *
+ * For example, CPU support sha1 instruction, but don't support sha256 or
+ * sha512.
+ */
+public class UseSHAIntrinsicsSpecificTestCaseForUnsupportedCPU
+        extends SHAOptionsBase.TestCase {
+    public UseSHAIntrinsicsSpecificTestCaseForUnsupportedCPU(
+            String optionName) {
+        // execute test case on SPARC CPU that support any sha* instructions,
+        // but does not support sha* instruction required by the tested option.
+        super(optionName, new AndPredicate(
+                new OrPredicate(Platform::isSparc, Platform::isAArch64),
+                new AndPredicate(
+                        IntrinsicPredicates.ANY_SHA_INSTRUCTION_AVAILABLE,
+                        new NotPredicate(SHAOptionsBase.getPredicateForOption(
+                                optionName)))));
+    }
+    @Override
+    protected void verifyWarnings() throws Throwable {
+        String shouldPassMessage = String.format("JVM should start with "
+                + "'-XX:+%s' flag, but output should contain warning.",
+                optionName);
+        // Verify that attempt to enable the tested option will cause a warning
+        CommandLineOptionTest.verifySameJVMStartup(new String[] {
+                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
+                }, null, shouldPassMessage, shouldPassMessage, ExitCode.OK,
+                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
+    }
+}
--- a/hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHAIntrinsicsSpecificTestCaseForUnsupportedSparcCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2014, 2015, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-import jdk.test.lib.ExitCode;
-import jdk.test.lib.Platform;
-import jdk.test.lib.cli.CommandLineOptionTest;
-import jdk.test.lib.cli.predicate.AndPredicate;
-import jdk.test.lib.cli.predicate.NotPredicate;
-import sha.predicate.IntrinsicPredicates;
-
-/**
- * Test case specific to UseSHA*Intrinsics options targeted to SPARC CPUs which
- * don't support required instruction, but support other SHA-related
- * instructions.
- *
- * For example, CPU support sha1 instruction, but don't support sha256 or
- * sha512.
- */
-public class UseSHAIntrinsicsSpecificTestCaseForUnsupportedSparcCPU
-        extends SHAOptionsBase.TestCase {
-    public UseSHAIntrinsicsSpecificTestCaseForUnsupportedSparcCPU(
-            String optionName) {
-        // execute test case on SPARC CPU that support any sha* instructions,
-        // but does not support sha* instruction required by the tested option.
-        super(optionName, new AndPredicate(Platform::isSparc,
-                new AndPredicate(
-                        IntrinsicPredicates.ANY_SHA_INSTRUCTION_AVAILABLE,
-                        new NotPredicate(SHAOptionsBase.getPredicateForOption(
-                                optionName)))));
-    }
-    @Override
-    protected void verifyWarnings() throws Throwable {
-        String shouldPassMessage = String.format("JVM should start with "
-                + "'-XX:+%s' flag, but output should contain warning.",
-                optionName);
-        // Verify that attempt to enable the tested option will cause a warning
-        CommandLineOptionTest.verifySameJVMStartup(new String[] {
-                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
-                }, null, shouldPassMessage, shouldPassMessage, ExitCode.OK,
-                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForSupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 2014, 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import jdk.test.lib.Asserts;
+import jdk.test.lib.ExitCode;
+import jdk.test.lib.Platform;
+import jdk.test.lib.cli.CommandLineOptionTest;
+import jdk.test.lib.cli.predicate.AndPredicate;
+import jdk.test.lib.cli.predicate.OrPredicate;
+import sha.predicate.IntrinsicPredicates;
+
+/**
+ * UseSHA specific test case targeted to SPARC and AArch64 CPUs which
+ * support any sha* instruction.
+ */
+public class UseSHASpecificTestCaseForSupportedCPU
+        extends SHAOptionsBase.TestCase {
+    public UseSHASpecificTestCaseForSupportedCPU(String optionName) {
+        super(SHAOptionsBase.USE_SHA_OPTION, new AndPredicate(
+                new OrPredicate(Platform::isSparc, Platform::isAArch64),
+                IntrinsicPredicates.ANY_SHA_INSTRUCTION_AVAILABLE));
+
+        Asserts.assertEQ(optionName, SHAOptionsBase.USE_SHA_OPTION,
+                String.format("Test case should be used for '%s' option only.",
+                        SHAOptionsBase.USE_SHA_OPTION));
+    }
+
+    @Override
+    protected void verifyWarnings() throws Throwable {
+        String shouldPassMessage = String.format("JVM startup should pass when"
+                        + " %s was passed and all UseSHA*Intrinsics options "
+                        + "were disabled",
+                        CommandLineOptionTest.prepareBooleanFlag(
+                            SHAOptionsBase.USE_SHA_OPTION, true));
+        // Verify that there will be no warnings when +UseSHA was passed and
+        // all UseSHA*Intrinsics options were disabled.
+        CommandLineOptionTest.verifySameJVMStartup(
+                null, new String[] { ".*UseSHA.*" }, shouldPassMessage,
+                shouldPassMessage, ExitCode.OK,
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, false),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, false),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, false));
+    }
+
+    @Override
+    protected void verifyOptionValues() throws Throwable {
+        // Verify that UseSHA is disabled when all UseSHA*Intrinsics are
+        // disabled.
+        CommandLineOptionTest.verifyOptionValueForSameVM(
+                SHAOptionsBase.USE_SHA_OPTION, "false", String.format(
+                "'%s' option should be disabled when all UseSHA*Intrinsics are"
+                        + " disabled", SHAOptionsBase.USE_SHA_OPTION),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, false),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, false),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, false));
+
+        CommandLineOptionTest.verifyOptionValueForSameVM(
+                // Verify that UseSHA is disabled when all UseSHA*Intrinsics are
+                // disabled even if it was explicitly enabled.
+                SHAOptionsBase.USE_SHA_OPTION, "false",
+                String.format("'%s' option should be disabled when all "
+                        + "UseSHA*Intrinsics are disabled even if %s flag set "
+                        + "to JVM", SHAOptionsBase.USE_SHA_OPTION,
+                        CommandLineOptionTest.prepareBooleanFlag(
+                             SHAOptionsBase.USE_SHA_OPTION, true)),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, false),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, false),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, false));
+
+        // Verify that explicitly disabled UseSHA option remains disabled even
+        // if all UseSHA*Intrinsics options were enabled.
+        CommandLineOptionTest.verifyOptionValueForSameVM(
+                SHAOptionsBase.USE_SHA_OPTION, "false",
+                String.format("'%s' option should be disabled if %s flag "
+                        + "set even if all UseSHA*Intrinsics were enabled",
+                        SHAOptionsBase.USE_SHA_OPTION,
+                        CommandLineOptionTest.prepareBooleanFlag(
+                            SHAOptionsBase.USE_SHA_OPTION, false)),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, false),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, true));
+    }
+}
--- a/hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForSupportedSparcCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2014, 2015, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-import jdk.test.lib.Asserts;
-import jdk.test.lib.ExitCode;
-import jdk.test.lib.Platform;
-import jdk.test.lib.cli.CommandLineOptionTest;
-import jdk.test.lib.cli.predicate.AndPredicate;
-import sha.predicate.IntrinsicPredicates;
-
-/**
- * UseSHA specific test case targeted to SPARC CPUs which support any sha*
- * instruction.
- */
-public class UseSHASpecificTestCaseForSupportedSparcCPU
-        extends SHAOptionsBase.TestCase {
-    public UseSHASpecificTestCaseForSupportedSparcCPU(String optionName) {
-        super(SHAOptionsBase.USE_SHA_OPTION, new AndPredicate(Platform::isSparc,
-                IntrinsicPredicates.ANY_SHA_INSTRUCTION_AVAILABLE));
-
-        Asserts.assertEQ(optionName, SHAOptionsBase.USE_SHA_OPTION,
-                String.format("Test case should be used for '%s' option only.",
-                        SHAOptionsBase.USE_SHA_OPTION));
-    }
-
-    @Override
-    protected void verifyWarnings() throws Throwable {
-        String shouldPassMessage = String.format("JVM startup should pass when"
-                        + " %s was passed and all UseSHA*Intrinsics options "
-                        + "were disabled",
-                        CommandLineOptionTest.prepareBooleanFlag(
-                            SHAOptionsBase.USE_SHA_OPTION, true));
-        // Verify that there will be no warnings when +UseSHA was passed and
-        // all UseSHA*Intrinsics options were disabled.
-        CommandLineOptionTest.verifySameJVMStartup(
-                null, new String[] { ".*UseSHA.*" }, shouldPassMessage,
-                shouldPassMessage, ExitCode.OK,
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, false),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, false),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, false));
-    }
-
-    @Override
-    protected void verifyOptionValues() throws Throwable {
-        // Verify that UseSHA is disabled when all UseSHA*Intrinsics are
-        // disabled.
-        CommandLineOptionTest.verifyOptionValueForSameVM(
-                SHAOptionsBase.USE_SHA_OPTION, "false", String.format(
-                "'%s' option should be disabled when all UseSHA*Intrinsics are"
-                        + " disabled", SHAOptionsBase.USE_SHA_OPTION),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, false),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, false),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, false));
-
-        CommandLineOptionTest.verifyOptionValueForSameVM(
-                // Verify that UseSHA is disabled when all UseSHA*Intrinsics are
-                // disabled even if it was explicitly enabled.
-                SHAOptionsBase.USE_SHA_OPTION, "false",
-                String.format("'%s' option should be disabled when all "
-                        + "UseSHA*Intrinsics are disabled even if %s flag set "
-                        + "to JVM", SHAOptionsBase.USE_SHA_OPTION,
-                        CommandLineOptionTest.prepareBooleanFlag(
-                             SHAOptionsBase.USE_SHA_OPTION, true)),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, false),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, false),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, false));
-
-        // Verify that explicitly disabled UseSHA option remains disabled even
-        // if all UseSHA*Intrinsics options were enabled.
-        CommandLineOptionTest.verifyOptionValueForSameVM(
-                SHAOptionsBase.USE_SHA_OPTION, "false",
-                String.format("'%s' option should be disabled if %s flag "
-                        + "set even if all UseSHA*Intrinsics were enabled",
-                        SHAOptionsBase.USE_SHA_OPTION,
-                        CommandLineOptionTest.prepareBooleanFlag(
-                            SHAOptionsBase.USE_SHA_OPTION, false)),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA_OPTION, false),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, true));
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForUnsupportedCPU.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2014, 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import jdk.test.lib.Asserts;
+import jdk.test.lib.ExitCode;
+import jdk.test.lib.Platform;
+import jdk.test.lib.cli.CommandLineOptionTest;
+import jdk.test.lib.cli.predicate.AndPredicate;
+import jdk.test.lib.cli.predicate.OrPredicate;
+import jdk.test.lib.cli.predicate.NotPredicate;
+import sha.predicate.IntrinsicPredicates;
+
+/**
+ * UseSHA specific test case targeted to SPARC and AArch64 CPUs which don't
+ * support all sha* instructions./
+ */
+public class UseSHASpecificTestCaseForUnsupportedCPU
+        extends SHAOptionsBase.TestCase {
+    public UseSHASpecificTestCaseForUnsupportedCPU(String optionName) {
+        super(SHAOptionsBase.USE_SHA_OPTION, new AndPredicate(
+                new OrPredicate(Platform::isSparc, Platform::isAArch64),
+                new NotPredicate(
+                        IntrinsicPredicates.ANY_SHA_INSTRUCTION_AVAILABLE)));
+
+        Asserts.assertEQ(optionName, SHAOptionsBase.USE_SHA_OPTION,
+                "Test case should be used for " + SHAOptionsBase.USE_SHA_OPTION
+                        + " option only.");
+    }
+
+    @Override
+    protected void verifyWarnings() throws Throwable {
+        // Verify that attempt to use UseSHA option will cause a warning.
+        String shouldPassMessage = String.format("JVM startup should pass with"
+                + " '%s' option on unsupported CPU, but there should be"
+                + "the message shown.", optionName);
+        CommandLineOptionTest.verifySameJVMStartup(new String[] {
+                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
+                }, null, shouldPassMessage, shouldPassMessage, ExitCode.OK,
+                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
+    }
+
+    @Override
+    protected void verifyOptionValues() throws Throwable {
+        // Verify that UseSHA option remains disabled even if all
+        // UseSHA*Intrinsics were enabled.
+        CommandLineOptionTest.verifyOptionValueForSameVM(
+                SHAOptionsBase.USE_SHA_OPTION, "false", String.format(
+                    "%s option should be disabled on unsupported CPU"
+                        + " even if all UseSHA*Intrinsics options were enabled.",
+                    SHAOptionsBase.USE_SHA_OPTION),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, true));
+
+        // Verify that UseSHA option remains disabled even if all
+        // UseSHA*Intrinsics options were enabled and UseSHA was enabled as well.
+        CommandLineOptionTest.verifyOptionValueForSameVM(
+                SHAOptionsBase.USE_SHA_OPTION, "false", String.format(
+                    "%s option should be disabled on unsupported CPU"
+                        + " even if all UseSHA*Intrinsics options were enabled"
+                        + " and %s was enabled as well",
+                    SHAOptionsBase.USE_SHA_OPTION,
+                    SHAOptionsBase.USE_SHA_OPTION),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, true),
+                CommandLineOptionTest.prepareBooleanFlag(
+                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, true));
+    }
+}
--- a/hotspot/test/compiler/intrinsics/sha/cli/testcases/UseSHASpecificTestCaseForUnsupportedSparcCPU.java	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2014, 2015, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-import jdk.test.lib.Asserts;
-import jdk.test.lib.ExitCode;
-import jdk.test.lib.Platform;
-import jdk.test.lib.cli.CommandLineOptionTest;
-import jdk.test.lib.cli.predicate.AndPredicate;
-import jdk.test.lib.cli.predicate.NotPredicate;
-import sha.predicate.IntrinsicPredicates;
-
-/**
- * UseSHA specific test case targeted to SPARC CPUs which don't support all sha*
- * instructions.
- */
-public class UseSHASpecificTestCaseForUnsupportedSparcCPU
-        extends SHAOptionsBase.TestCase {
-    public UseSHASpecificTestCaseForUnsupportedSparcCPU(String optionName) {
-        super(SHAOptionsBase.USE_SHA_OPTION, new AndPredicate(Platform::isSparc,
-                new NotPredicate(
-                        IntrinsicPredicates.ANY_SHA_INSTRUCTION_AVAILABLE)));
-
-        Asserts.assertEQ(optionName, SHAOptionsBase.USE_SHA_OPTION,
-                "Test case should be used for " + SHAOptionsBase.USE_SHA_OPTION
-                        + " option only.");
-    }
-
-    @Override
-    protected void verifyWarnings() throws Throwable {
-        // Verify that attempt to use UseSHA option will cause a warning.
-        String shouldPassMessage = String.format("JVM startup should pass with"
-                + " '%s' option on unsupported SparcCPU, but there should be"
-                + "the message shown.", optionName);
-        CommandLineOptionTest.verifySameJVMStartup(new String[] {
-                        SHAOptionsBase.getWarningForUnsupportedCPU(optionName)
-                }, null, shouldPassMessage, shouldPassMessage, ExitCode.OK,
-                CommandLineOptionTest.prepareBooleanFlag(optionName, true));
-    }
-
-    @Override
-    protected void verifyOptionValues() throws Throwable {
-        // Verify that UseSHA option remains disabled even if all
-        // UseSHA*Intrinsics were enabled.
-        CommandLineOptionTest.verifyOptionValueForSameVM(
-                SHAOptionsBase.USE_SHA_OPTION, "false", String.format(
-                    "%s option should be disabled on unsupported SparcCPU"
-                        + " even if all UseSHA*Intrinsics options were enabled.",
-                    SHAOptionsBase.USE_SHA_OPTION),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, true));
-
-        // Verify that UseSHA option remains disabled even if all
-        // UseSHA*Intrinsics options were enabled and UseSHA was enabled as well.
-        CommandLineOptionTest.verifyOptionValueForSameVM(
-                SHAOptionsBase.USE_SHA_OPTION, "false", String.format(
-                    "%s option should be disabled on unsupported SparcCPU"
-                        + " even if all UseSHA*Intrinsics options were enabled"
-                        + " and %s was enabled as well",
-                    SHAOptionsBase.USE_SHA_OPTION,
-                    SHAOptionsBase.USE_SHA_OPTION),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA1_INTRINSICS_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA256_INTRINSICS_OPTION, true),
-                CommandLineOptionTest.prepareBooleanFlag(
-                        SHAOptionsBase.USE_SHA512_INTRINSICS_OPTION, true));
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/jsr292/PollutedTrapCounts.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 8074551
+ * @library /testlibrary
+ * @run main PollutedTrapCounts
+ */
+import java.lang.invoke.*;
+import jdk.test.lib.*;
+
+public class PollutedTrapCounts {
+    public static void main(String[] args) throws Exception {
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+                "-XX:+IgnoreUnrecognizedVMOptions",
+                "-XX:-TieredCompilation", "-Xbatch",
+                "-XX:PerBytecodeRecompilationCutoff=10", "-XX:PerMethodRecompilationCutoff=10",
+                "-XX:+PrintCompilation", "-XX:+UnlockDiagnosticVMOptions", "-XX:+PrintInlining",
+                    "PollutedTrapCounts$Test");
+
+        OutputAnalyzer analyzer = new OutputAnalyzer(pb.start());
+
+        analyzer.shouldHaveExitValue(0);
+
+        analyzer.shouldNotContain("not compilable (disabled)");
+    }
+
+    static class Test {
+        public static final MethodHandle test1;
+        public static final MethodHandle test2;
+        public static final MethodHandle empty;
+
+        static {
+            try {
+                Class<?> THIS_CLASS = Test.class;
+                MethodHandles.Lookup LOOKUP = MethodHandles.lookup();
+                test1 = LOOKUP.findStatic(THIS_CLASS, "test1", MethodType.methodType(boolean.class, boolean.class));
+                test2 = LOOKUP.findStatic(THIS_CLASS, "test2", MethodType.methodType(boolean.class, boolean.class));
+                empty = LOOKUP.findStatic(THIS_CLASS, "empty", MethodType.methodType(void.class, boolean.class));
+            } catch(Throwable e) {
+                throw new Error(e);
+            }
+        }
+
+        static boolean test1(boolean b) {
+            return b;
+        }
+        static boolean test2(boolean b) {
+            return true;
+        }
+        static void    empty(boolean b) {}
+
+        static void test(boolean freqValue, boolean removeInlineBlocker) throws Throwable {
+            MethodHandle innerGWT = MethodHandles.guardWithTest(test1, empty, empty);
+            MethodHandle outerGWT = MethodHandles.guardWithTest(test2, innerGWT, innerGWT);
+
+            // Trigger compilation
+            for (int i = 0; i < 20_000; i++) {
+                outerGWT.invokeExact(freqValue);
+            }
+
+            // Trigger deopt & nmethod invalidation
+            outerGWT.invokeExact(!freqValue);
+
+            // Force inline blocker removal on rare-taken path
+            if (removeInlineBlocker) {
+                for (int i = 0; i < 100; i++) {
+                    outerGWT.invokeExact(!freqValue);
+                }
+            }
+
+            // Trigger recompilation
+            for (int i = 0; i < 20_000; i++) {
+                outerGWT.invokeExact(freqValue);
+            }
+        }
+
+        public static void main(String[] args) throws Throwable {
+            boolean freqValue = true;
+            boolean removeInlineBlocker = false;
+            for (int i = 0; i < 20; i++) {
+                test(freqValue, removeInlineBlocker);
+                freqValue = !freqValue;
+                removeInlineBlocker = !removeInlineBlocker;
+            }
+        }
+    }
+}
--- a/hotspot/test/compiler/testlibrary/sha/predicate/IntrinsicPredicates.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/compiler/testlibrary/sha/predicate/IntrinsicPredicates.java	Thu Jul 02 17:50:25 2015 -0700
@@ -59,16 +59,19 @@
     };
 
     public static final BooleanSupplier SHA1_INSTRUCTION_AVAILABLE
-            = new CPUSpecificPredicate("sparc.*", new String[] { "sha1" },
-                    null);
+            = new OrPredicate(
+                    new CPUSpecificPredicate("sparc.*", new String[] { "sha1" },null),
+                    new CPUSpecificPredicate("aarch64.*", new String[] { "sha1" },null));
 
     public static final BooleanSupplier SHA256_INSTRUCTION_AVAILABLE
-            = new CPUSpecificPredicate("sparc.*", new String[] { "sha256" },
-                    null);
+            = new OrPredicate(
+                    new CPUSpecificPredicate("sparc.*", new String[] { "sha256" },null),
+                    new CPUSpecificPredicate("aarch64.*", new String[] { "sha256" },null));
 
     public static final BooleanSupplier SHA512_INSTRUCTION_AVAILABLE
-            = new CPUSpecificPredicate("sparc.*", new String[] { "sha512" },
-                    null);
+            = new OrPredicate(
+                    new CPUSpecificPredicate("sparc.*", new String[] { "sha512" },null),
+                    new CPUSpecificPredicate("aarch64.*", new String[] { "sha512" },null));
 
     public static final BooleanSupplier ANY_SHA_INSTRUCTION_AVAILABLE
             = new OrPredicate(IntrinsicPredicates.SHA1_INSTRUCTION_AVAILABLE,
--- a/hotspot/test/testlibrary_tests/RandomGeneratorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/hotspot/test/testlibrary_tests/RandomGeneratorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -32,11 +32,15 @@
  * @run driver RandomGeneratorTest DIFFERENT_SEED
  */
 
-import jdk.test.lib.ProcessTools;
-import jdk.test.lib.Utils;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
+import jdk.test.lib.OutputAnalyzer;
+import jdk.test.lib.ProcessTools;
+import jdk.test.lib.Utils;
 
 /**
  * The test verifies correctness of work {@link jdk.test.lib.Utils#getRandomInstance()}.
@@ -59,8 +63,13 @@
             jvmArgs.add(optStr);
         }
         jvmArgs.add(RandomRunner.class.getName());
+        String origFileName = seedOpt.name() + "_orig";
+        jvmArgs.add(origFileName);
+        int fileNameIndex = jvmArgs.size() - 1;
         String[] cmdLineArgs = jvmArgs.toArray(new String[jvmArgs.size()]);
-        String etalon = ProcessTools.executeTestJvm(cmdLineArgs).getStdout().trim();
+        ProcessTools.executeTestJvm(cmdLineArgs).shouldHaveExitValue(0);
+        String etalon = Utils.fileAsString(origFileName).trim();
+        cmdLineArgs[fileNameIndex] = seedOpt.name();
         seedOpt.verify(etalon, cmdLineArgs);
     }
 
@@ -121,26 +130,31 @@
          * @throws Throwable - Throws an exception in case test failure.
          */
         public void verify(String orig, String[] cmdLine) {
-            String lastLineOrig = getLastLine(orig);
-            String lastLine;
+            String output;
+            OutputAnalyzer oa;
             try {
-                lastLine = getLastLine(ProcessTools.executeTestJvm(cmdLine).getStdout().trim());
+                oa = ProcessTools.executeTestJvm(cmdLine);
             } catch (Throwable t) {
                 throw new Error("TESTBUG: Unexpedted exception during jvm execution.", t);
             }
-            if (!isOutputExpected(lastLineOrig, lastLine)) {
-                    throw new AssertionError("Unexpected random number sequence for mode: " + this.name());
+            oa.shouldHaveExitValue(0);
+            try {
+                output = Utils.fileAsString(name()).trim();
+            } catch (IOException ioe) {
+                throw new Error("TESTBUG: Problem during IO operation with file: " + name(), ioe);
             }
-        }
-
-        private static String getLastLine(String output) {
-            return output.substring(output.lastIndexOf(Utils.NEW_LINE)).trim();
+            if (!isOutputExpected(orig, output)) {
+                System.err.println("Initial output: " + orig);
+                System.err.println("Second run output: " + output);
+                throw new AssertionError("Unexpected random number sequence for mode: " + this.name());
+            }
         }
     }
 
     /**
      * The helper class generates several random numbers
-     * and prints them out.
+     * and put results to a file. The file name came as first
+     * command line argument.
      */
     public static class RandomRunner {
         private static final int COUNT = 10;
@@ -150,7 +164,11 @@
             for (int i = 0; i < COUNT; i++) {
                 sb.append(rng.nextLong()).append(' ');
             }
-            System.out.println(sb.toString());
+            try (PrintWriter pw = new PrintWriter(new FileWriter(args[0]))) {
+                pw.write(sb.toString());
+            } catch (IOException ioe) {
+                throw new Error("TESTBUG: Problem during IO operation with file: " + args[0], ioe);
+            }
         }
     }
 }
--- a/jaxp/.hgtags	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/.hgtags	Thu Jul 02 17:50:25 2015 -0700
@@ -312,3 +312,4 @@
 78c2685daabafae827c686ca2d1bb2e451faed2b jdk9-b67
 82aae947938ec9b0119fdd78a616d0b7263072ee jdk9-b68
 f844a908d3308f47d73cf64e87c98d37d5d76ce8 jdk9-b69
+42180703e0a362c1de7cdbf61d2cbc6609e678c4 jdk9-b70
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/bcel/internal/util/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,7 +24,6 @@
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FilenameFilter;
-import java.io.InputStream;
 import java.lang.ClassLoader;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
@@ -116,33 +115,6 @@
     }
 
     /**
-     * Return resource using the same classloader for the ObjectFactory by
-     * default or bootclassloader when Security Manager is in place
-     */
-    public static InputStream getResourceAsStream(final String name) {
-        if (System.getSecurityManager() != null) {
-            return getResourceAsStream(null, name);
-        } else {
-            return getResourceAsStream(findClassLoader(), name);
-        }
-    }
-
-    public static InputStream getResourceAsStream(final ClassLoader cl,
-            final String name) {
-        return (InputStream) AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-                InputStream ris;
-                if (cl == null) {
-                    ris = Object.class.getResourceAsStream("/" + name);
-                } else {
-                    ris = cl.getResourceAsStream(name);
-                }
-                return ris;
-            }
-        });
-    }
-
-    /**
      * Gets a resource bundle using the specified base name, the default locale,
      * and the caller's class loader.
      *
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/utils/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xalan/internal/utils/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -128,29 +128,10 @@
         }
     }
 
-    /**
-     * Return resource using the same classloader for the ObjectFactory by
-     * default or bootclassloader when Security Manager is in place
-     */
     public static InputStream getResourceAsStream(final String name) {
-        if (System.getSecurityManager()!=null) {
-            return getResourceAsStream(null, name);
-        } else {
-            return getResourceAsStream(ObjectFactory.findClassLoader(), name);
-        }
-    }
-
-    public static InputStream getResourceAsStream(final ClassLoader cl,
-            final String name) {
         return (InputStream) AccessController.doPrivileged(new PrivilegedAction() {
             public Object run() {
-                InputStream ris;
-                if (cl == null) {
-                    ris = Object.class.getResourceAsStream("/"+name);
-                } else {
-                    ris = cl.getResourceAsStream(name);
-                }
-                return ris;
+                return SecuritySupport.class.getResourceAsStream("/"+name);
             }
         });
     }
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDOMImplementationImpl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/dom/CoreDOMImplementationImpl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -343,10 +343,7 @@
          */
         public LSSerializer createLSSerializer() {
             try {
-                Class serializerClass = ObjectFactory.findProviderClass(
-                    "com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl",
-                    ObjectFactory.findClassLoader(), true);
-                return (LSSerializer) serializerClass.newInstance();
+                return new com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl();
             }
             catch (Exception e) {}
             // Fall back to Xerces' deprecated serializer if
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/utils/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/utils/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -118,34 +118,6 @@
             throw (FileNotFoundException)e.getException();
         }
     }
-    /**
-     * Return resource using the same classloader for the ObjectFactory by default
-     * or bootclassloader when Security Manager is in place
-     */
-    public static InputStream getResourceAsStream(final String name) {
-        if (System.getSecurityManager()!=null) {
-            return getResourceAsStream(null, name);
-        } else {
-            return getResourceAsStream(ObjectFactory.findClassLoader(), name);
-        }
-    }
-
-    public static InputStream getResourceAsStream(final ClassLoader cl,
-            final String name)
-    {
-        return (InputStream)
-        AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-                InputStream ris;
-                if (cl == null) {
-                    ris = Object.class.getResourceAsStream("/"+name);
-                } else {
-                    ris = cl.getResourceAsStream(name);
-                }
-                return ris;
-            }
-        });
-    }
 
     /**
      * Gets a resource bundle using the specified base name, the default locale, and the caller's class loader.
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/xinclude/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,6 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.InputStream;
 
 import java.security.AccessController;
 import java.security.PrivilegedAction;
@@ -113,23 +112,6 @@
         }
     }
 
-    InputStream getResourceAsStream(final ClassLoader cl,
-            final String name)
-    {
-        return (InputStream)
-        AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-                InputStream ris;
-                if (cl == null) {
-                    ris = ClassLoader.getSystemResourceAsStream(name);
-                } else {
-                    ris = cl.getResourceAsStream(name);
-                }
-                return ris;
-            }
-        });
-    }
-
     boolean getFileExists(final File f) {
         return ((Boolean)
                 AccessController.doPrivileged(new PrivilegedAction() {
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serialize/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,6 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.io.InputStream;
 
 import java.security.AccessController;
 import java.security.PrivilegedAction;
@@ -113,23 +112,6 @@
         }
     }
 
-    InputStream getResourceAsStream(final ClassLoader cl,
-            final String name)
-    {
-        return (InputStream)
-        AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
-                InputStream ris;
-                if (cl == null) {
-                    ris = ClassLoader.getSystemResourceAsStream(name);
-                } else {
-                    ris = cl.getResourceAsStream(name);
-                }
-                return ris;
-            }
-        });
-    }
-
     boolean getFileExists(final File f) {
         return ((Boolean)
                 AccessController.doPrivileged(new PrivilegedAction() {
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/LSSerializerImpl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xml/internal/serializer/dom3/LSSerializerImpl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -36,6 +36,7 @@
 import com.sun.org.apache.xml.internal.serializer.DOM3Serializer;
 import com.sun.org.apache.xml.internal.serializer.Encodings;
 import com.sun.org.apache.xml.internal.serializer.Serializer;
+import com.sun.org.apache.xml.internal.serializer.ToXMLStream;
 import com.sun.org.apache.xml.internal.serializer.OutputPropertiesFactory;
 import com.sun.org.apache.xml.internal.serializer.SerializerFactory;
 import com.sun.org.apache.xml.internal.serializer.utils.MsgKey;
@@ -218,7 +219,8 @@
 
         // Get a serializer that seriailizes according to the properties,
         // which in this case is to xml
-        fXMLSerializer = SerializerFactory.getSerializer(configProps);
+        fXMLSerializer = new ToXMLStream();
+        fXMLSerializer.setOutputFormat(configProps);
 
         // Initialize Serializer
         fXMLSerializer.setOutputFormat(fDOMConfigProperties);
@@ -262,9 +264,6 @@
         // entities
         fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
                 + DOMConstants.DOM_ENTITIES, DOMConstants.DOM3_DEFAULT_TRUE);
-        // preserve entities
-        fDOMConfigProperties.setProperty(
-                OutputPropertiesFactory.S_KEY_ENTITIES, DOMConstants.S_XSL_VALUE_ENTITIES);
 
         // error-handler
         // Should we set our default ErrorHandler
@@ -290,9 +289,6 @@
                     + DOMConstants.DOM_WELLFORMED, DOMConstants.DOM3_DEFAULT_TRUE);
             fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
                     + DOMConstants.DOM_ENTITIES, DOMConstants.DOM3_DEFAULT_FALSE);
-            // preserve entities
-            fDOMConfigProperties.setProperty(
-                    OutputPropertiesFactory.S_KEY_ENTITIES, "");
             fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
                     + DOMConstants.DOM_CDATA_SECTIONS,
                     DOMConstants.DOM3_DEFAULT_FALSE);
@@ -531,8 +527,6 @@
                 if (state) {
                     fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
                             + DOMConstants.DOM_ENTITIES, DOMConstants.DOM3_EXPLICIT_TRUE);
-                    fDOMConfigProperties.setProperty(
-                            OutputPropertiesFactory.S_KEY_ENTITIES, DOMConstants.S_XSL_VALUE_ENTITIES);
                 } else {
                     fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
                             + DOMConstants.DOM_ENTITIES, DOMConstants.DOM3_EXPLICIT_FALSE);
@@ -679,31 +673,29 @@
                     fFeatures |= WELLFORMED;
                     fFeatures |= ELEM_CONTENT_WHITESPACE;
                     fFeatures |= COMMENTS;
-                }
 
-                // infoset
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_NAMESPACES, DOMConstants.DOM3_EXPLICIT_TRUE);
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_NAMESPACE_DECLARATIONS, DOMConstants.DOM3_EXPLICIT_TRUE);
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_COMMENTS, DOMConstants.DOM3_EXPLICIT_TRUE);
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_ELEMENT_CONTENT_WHITESPACE, DOMConstants.DOM3_EXPLICIT_TRUE);
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_WELLFORMED, DOMConstants.DOM3_EXPLICIT_TRUE);
+                    // infoset
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_NAMESPACES, DOMConstants.DOM3_EXPLICIT_TRUE);
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_NAMESPACE_DECLARATIONS, DOMConstants.DOM3_EXPLICIT_TRUE);
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_COMMENTS, DOMConstants.DOM3_EXPLICIT_TRUE);
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_ELEMENT_CONTENT_WHITESPACE, DOMConstants.DOM3_EXPLICIT_TRUE);
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_WELLFORMED, DOMConstants.DOM3_EXPLICIT_TRUE);
 
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_ENTITIES, DOMConstants.DOM3_EXPLICIT_FALSE);
-                fDOMConfigProperties.setProperty(
-                        OutputPropertiesFactory.S_KEY_ENTITIES, "");
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_ENTITIES, DOMConstants.DOM3_EXPLICIT_FALSE);
 
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_CDATA_SECTIONS, DOMConstants.DOM3_EXPLICIT_FALSE);
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_VALIDATE_IF_SCHEMA, DOMConstants.DOM3_EXPLICIT_FALSE);
-                fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
-                        + DOMConstants.DOM_DATATYPE_NORMALIZATION, DOMConstants.DOM3_EXPLICIT_FALSE);
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_CDATA_SECTIONS, DOMConstants.DOM3_EXPLICIT_FALSE);
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_VALIDATE_IF_SCHEMA, DOMConstants.DOM3_EXPLICIT_FALSE);
+                    fDOMConfigProperties.setProperty(DOMConstants.S_DOM3_PROPERTIES_NS
+                            + DOMConstants.DOM_DATATYPE_NORMALIZATION, DOMConstants.DOM3_EXPLICIT_FALSE);
+                }
             } else if (name.equalsIgnoreCase(DOMConstants.DOM_NORMALIZE_CHARACTERS)) {
                 String msg = Utils.messages.createMessage(
                     MsgKey.ER_FEATURE_NOT_SUPPORTED,
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/functions/FuncSystemProperty.java	Thu Jul 02 17:50:25 2015 -0700
@@ -27,11 +27,9 @@
 import java.util.Properties;
 
 import com.sun.org.apache.xpath.internal.XPathContext;
-import com.sun.org.apache.xpath.internal.objects.XNumber;
 import com.sun.org.apache.xpath.internal.objects.XObject;
 import com.sun.org.apache.xpath.internal.objects.XString;
 import com.sun.org.apache.xpath.internal.res.XPATHErrorResources;
-import com.sun.org.apache.xalan.internal.utils.ObjectFactory;
 import com.sun.org.apache.xalan.internal.utils.SecuritySupport;
 
 /**
@@ -69,7 +67,7 @@
     // property argument is to be looked for.
     Properties xsltInfo = new Properties();
 
-    loadPropertyFile(XSLT_PROPERTIES, xsltInfo);
+    loadPropertyFile(xsltInfo);
 
     if (indexOfNSSep > 0)
     {
@@ -159,25 +157,21 @@
   }
 
   /**
-   * Retrieve a propery bundle from a specified file
+   * Retrieve a property bundle from XSLT_PROPERTIES
    *
-   * @param file The string name of the property file.  The name
-   * should already be fully qualified as path/filename
    * @param target The target property bag the file will be placed into.
    */
-  public void loadPropertyFile(String file, Properties target)
+  private void loadPropertyFile(Properties target)
   {
     try
     {
-      // Use SecuritySupport class to provide priveleged access to property file
-      InputStream is = SecuritySupport.getResourceAsStream(ObjectFactory.findClassLoader(),
-                                              file);
+      // Use SecuritySupport class to provide privileged access to property file
+      InputStream is = SecuritySupport.getResourceAsStream(XSLT_PROPERTIES);
 
       // get a buffered version
-      BufferedInputStream bis = new BufferedInputStream(is);
-
-      target.load(bis);  // and load up the property bag from this
-      bis.close();  // close out after reading
+      try (BufferedInputStream bis = new BufferedInputStream(is)) {
+          target.load(bis);  // and load up the property bag from this
+      }
     }
     catch (Exception ex)
     {
--- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,9 +26,7 @@
 package javax.xml.datatype;
 
 import java.security.*;
-import java.net.*;
 import java.io.*;
-import java.util.*;
 
 /**
  * This class is duplicated for each JAXP subpackage so keep it in sync.
@@ -77,23 +75,6 @@
         }
     }
 
-    InputStream getResourceAsStream(final ClassLoader cl,
-                                           final String name)
-    {
-        return (InputStream)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    InputStream ris;
-                    if (cl == null) {
-                        ris = Object.class.getResourceAsStream(name);
-                    } else {
-                        ris = cl.getResourceAsStream(name);
-                    }
-                    return ris;
-                }
-            });
-    }
-
     boolean doesFileExist(final File f) {
     return ((Boolean)
             AccessController.doPrivileged(new PrivilegedAction() {
--- a/jaxp/src/java.xml/share/classes/javax/xml/parsers/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/parsers/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,9 +26,7 @@
 package javax.xml.parsers;
 
 import java.security.*;
-import java.net.*;
 import java.io.*;
-import java.util.*;
 
 /**
  * This class is duplicated for each JAXP subpackage so keep it in sync.
@@ -81,23 +79,6 @@
         }
     }
 
-    InputStream getResourceAsStream(final ClassLoader cl,
-                                           final String name)
-    {
-        return (InputStream)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    InputStream ris;
-                    if (cl == null) {
-                        ris = Object.class.getResourceAsStream(name);
-                    } else {
-                        ris = cl.getResourceAsStream(name);
-                    }
-                    return ris;
-                }
-            });
-    }
-
     boolean doesFileExist(final File f) {
     return ((Boolean)
             AccessController.doPrivileged(new PrivilegedAction() {
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,9 +26,7 @@
 package javax.xml.stream;
 
 import java.security.*;
-import java.net.*;
 import java.io.*;
-import java.util.*;
 
 /**
  * This class is duplicated for each JAXP subpackage so keep it in sync.
@@ -81,23 +79,6 @@
         }
     }
 
-    InputStream getResourceAsStream(final ClassLoader cl,
-                                           final String name)
-    {
-        return (InputStream)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    InputStream ris;
-                    if (cl == null) {
-                        ris = Object.class.getResourceAsStream(name);
-                    } else {
-                        ris = cl.getResourceAsStream(name);
-                    }
-                    return ris;
-                }
-            });
-    }
-
     boolean doesFileExist(final File f) {
     return ((Boolean)
             AccessController.doPrivileged(new PrivilegedAction() {
--- a/jaxp/src/java.xml/share/classes/javax/xml/transform/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/transform/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,9 +26,7 @@
 package javax.xml.transform;
 
 import java.security.*;
-import java.net.*;
 import java.io.*;
-import java.util.*;
 
 /**
  * This class is duplicated for each JAXP subpackage so keep it in sync.
@@ -79,23 +77,6 @@
         }
     }
 
-    InputStream getResourceAsStream(final ClassLoader cl,
-                                           final String name)
-    {
-        return (InputStream)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    InputStream ris;
-                    if (cl == null) {
-                        ris = Object.class.getResourceAsStream(name);
-                    } else {
-                        ris = cl.getResourceAsStream(name);
-                    }
-                    return ris;
-                }
-            });
-    }
-
     boolean doesFileExist(final File f) {
     return ((Boolean)
             AccessController.doPrivileged(new PrivilegedAction() {
--- a/jaxp/src/java.xml/share/classes/javax/xml/validation/SchemaFactoryFinder.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/validation/SchemaFactoryFinder.java	Thu Jul 02 17:50:25 2015 -0700
@@ -418,30 +418,8 @@
     private static final Class<SchemaFactory> SERVICE_CLASS = SchemaFactory.class;
 
 
+    // Used for debugging purposes
     private static String which( Class<?> clazz ) {
-        return which( clazz.getName(), clazz.getClassLoader() );
-    }
-
-    /**
-     * <p>Search the specified classloader for the given classname.</p>
-     *
-     * @param classname the fully qualified name of the class to search for
-     * @param loader the classloader to search
-     *
-     * @return the source location of the resource, or null if it wasn't found
-     */
-    private static String which(String classname, ClassLoader loader) {
-
-        String classnameAsResource = classname.replace('.', '/') + ".class";
-
-        if( loader==null )  loader = ClassLoader.getSystemClassLoader();
-
-        //URL it = loader.getResource(classnameAsResource);
-        URL it = ss.getResourceAsURL(loader, classnameAsResource);
-        if (it != null) {
-            return it.toString();
-        } else {
-            return null;
-        }
+        return ss.getClassSource(clazz);
     }
 }
--- a/jaxp/src/java.xml/share/classes/javax/xml/validation/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/validation/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, 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
@@ -25,12 +25,9 @@
 
 package javax.xml.validation;
 
-import java.io.IOException;
 import java.net.URL;
 import java.security.*;
-import java.net.*;
 import java.io.*;
-import java.util.*;
 
 /**
  * This class is duplicated for each JAXP subpackage so keep it in sync.
@@ -43,9 +40,10 @@
 
 
     ClassLoader getContextClassLoader() {
-        return (ClassLoader)
-        AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
+        return
+        AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
+            @Override
+            public ClassLoader run() {
                 ClassLoader cl = null;
                 //try {
                 cl = Thread.currentThread().getContextClassLoader();
@@ -58,9 +56,9 @@
     }
 
     String getSystemProperty(final String propName) {
-        return (String)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
+        return AccessController.doPrivileged(new PrivilegedAction<String>() {
+                @Override
+                public String run() {
                     return System.getProperty(propName);
                 }
             });
@@ -70,9 +68,10 @@
         throws FileNotFoundException
     {
         try {
-            return (FileInputStream)
-                AccessController.doPrivileged(new PrivilegedExceptionAction() {
-                    public Object run() throws FileNotFoundException {
+            return AccessController.doPrivileged(
+                new PrivilegedExceptionAction<FileInputStream>() {
+                    @Override
+                    public FileInputStream run() throws FileNotFoundException {
                         return new FileInputStream(file);
                     }
                 });
@@ -81,83 +80,29 @@
         }
     }
 
-    InputStream getURLInputStream(final URL url)
-        throws IOException
-    {
-        try {
-            return (InputStream)
-                AccessController.doPrivileged(new PrivilegedExceptionAction() {
-                    public Object run() throws IOException {
-                        return url.openStream();
-                    }
-                });
-        } catch (PrivilegedActionException e) {
-            throw (IOException)e.getException();
-        }
-    }
-
-    URL getResourceAsURL(final ClassLoader cl,
-                                           final String name)
-    {
-        return (URL)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    URL url;
-                    if (cl == null) {
-                        url = Object.class.getResource(name);
-                    } else {
-                        url = cl.getResource(name);
-                    }
-                    return url;
+    // Used for debugging purposes
+    String getClassSource(Class<?> cls) {
+        return AccessController.doPrivileged(new PrivilegedAction<String>() {
+            @Override
+            public String run() {
+                CodeSource cs = cls.getProtectionDomain().getCodeSource();
+                if (cs != null) {
+                   URL loc = cs.getLocation();
+                   return loc != null ? loc.toString() : "(no location)";
+                } else {
+                   return "(no code source)";
                 }
-            });
-    }
-
-    Enumeration getResources(final ClassLoader cl,
-                                           final String name) throws IOException
-    {
-        try{
-        return (Enumeration)
-            AccessController.doPrivileged(new PrivilegedExceptionAction() {
-                public Object run() throws IOException{
-                    Enumeration enumeration;
-                    if (cl == null) {
-                        enumeration = ClassLoader.getSystemResources(name);
-                    } else {
-                        enumeration = cl.getResources(name);
-                    }
-                    return enumeration;
-                }
-            });
-        }catch(PrivilegedActionException e){
-            throw (IOException)e.getException();
-        }
-    }
-
-    InputStream getResourceAsStream(final ClassLoader cl,
-                                           final String name)
-    {
-        return (InputStream)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    InputStream ris;
-                    if (cl == null) {
-                        ris = Object.class.getResourceAsStream(name);
-                    } else {
-                        ris = cl.getResourceAsStream(name);
-                    }
-                    return ris;
-                }
-            });
+            }
+        });
     }
 
     boolean doesFileExist(final File f) {
-    return ((Boolean)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return new Boolean(f.exists());
-                }
-            })).booleanValue();
+        return AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
+            @Override
+            public Boolean run() {
+                return f.exists();
+            }
+        });
     }
 
 }
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, 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
@@ -27,9 +27,7 @@
 
 import java.net.URL;
 import java.security.*;
-import java.net.*;
 import java.io.*;
-import java.util.*;
 
 /**
  * This class is duplicated for each JAXP subpackage so keep it in sync.
@@ -42,9 +40,9 @@
 
 
     ClassLoader getContextClassLoader() {
-        return (ClassLoader)
-                AccessController.doPrivileged(new PrivilegedAction() {
-            public Object run() {
+        return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() {
+            @Override
+            public ClassLoader run() {
                 ClassLoader cl = null;
                 try {
                     cl = Thread.currentThread().getContextClassLoader();
@@ -55,21 +53,22 @@
     }
 
     String getSystemProperty(final String propName) {
-        return (String)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return System.getProperty(propName);
-                }
-            });
+        return AccessController.doPrivileged(new PrivilegedAction<String>() {
+            @Override
+            public String run() {
+                return System.getProperty(propName);
+            }
+        });
     }
 
     FileInputStream getFileInputStream(final File file)
         throws FileNotFoundException
     {
         try {
-            return (FileInputStream)
-                AccessController.doPrivileged(new PrivilegedExceptionAction() {
-                    public Object run() throws FileNotFoundException {
+            return AccessController.doPrivileged(
+                new PrivilegedExceptionAction<FileInputStream>() {
+                    @Override
+                    public FileInputStream run() throws FileNotFoundException {
                         return new FileInputStream(file);
                     }
                 });
@@ -78,83 +77,29 @@
         }
     }
 
-    InputStream getURLInputStream(final URL url)
-        throws IOException
-    {
-        try {
-            return (InputStream)
-                AccessController.doPrivileged(new PrivilegedExceptionAction() {
-                    public Object run() throws IOException {
-                        return url.openStream();
-                    }
-                });
-        } catch (PrivilegedActionException e) {
-            throw (IOException)e.getException();
-        }
-    }
-
-    URL getResourceAsURL(final ClassLoader cl,
-                                           final String name)
-    {
-        return (URL)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    URL url;
-                    if (cl == null) {
-                        url = Object.class.getResource(name);
-                    } else {
-                        url = cl.getResource(name);
-                    }
-                    return url;
+    // Used for debugging purposes
+    String getClassSource(Class<?> cls) {
+        return AccessController.doPrivileged(new PrivilegedAction<String>() {
+            @Override
+            public String run() {
+                CodeSource cs = cls.getProtectionDomain().getCodeSource();
+                if (cs != null) {
+                   URL loc = cs.getLocation();
+                   return loc != null ? loc.toString() : "(no location)";
+                } else {
+                   return "(no code source)";
                 }
-            });
-    }
-
-    Enumeration getResources(final ClassLoader cl,
-                                           final String name) throws IOException
-    {
-        try{
-        return (Enumeration)
-            AccessController.doPrivileged(new PrivilegedExceptionAction() {
-                public Object run() throws IOException{
-                    Enumeration enumeration;
-                    if (cl == null) {
-                        enumeration = ClassLoader.getSystemResources(name);
-                    } else {
-                        enumeration = cl.getResources(name);
-                    }
-                    return enumeration;
-                }
-            });
-        }catch(PrivilegedActionException e){
-            throw (IOException)e.getException();
-        }
-    }
-
-    InputStream getResourceAsStream(final ClassLoader cl,
-                                           final String name)
-    {
-        return (InputStream)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    InputStream ris;
-                    if (cl == null) {
-                        ris = Object.class.getResourceAsStream(name);
-                    } else {
-                        ris = cl.getResourceAsStream(name);
-                    }
-                    return ris;
-                }
-            });
+            }
+        });
     }
 
     boolean doesFileExist(final File f) {
-    return ((Boolean)
-            AccessController.doPrivileged(new PrivilegedAction() {
-                public Object run() {
-                    return new Boolean(f.exists());
-                }
-            })).booleanValue();
+        return AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
+            @Override
+            public Boolean run() {
+                return f.exists();
+            }
+        });
     }
 
 }
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathFactoryFinder.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathFactoryFinder.java	Thu Jul 02 17:50:25 2015 -0700
@@ -414,30 +414,9 @@
 
     private static final Class<XPathFactory> SERVICE_CLASS = XPathFactory.class;
 
-    private static String which( Class clazz ) {
-        return which( clazz.getName(), clazz.getClassLoader() );
+    // Used for debugging purposes
+    private static String which( Class<?> clazz ) {
+        return ss.getClassSource(clazz);
     }
 
-    /**
-     * <p>Search the specified classloader for the given classname.</p>
-     *
-     * @param classname the fully qualified name of the class to search for
-     * @param loader the classloader to search
-     *
-     * @return the source location of the resource, or null if it wasn't found
-     */
-    private static String which(String classname, ClassLoader loader) {
-
-        String classnameAsResource = classname.replace('.', '/') + ".class";
-
-        if( loader==null )  loader = ClassLoader.getSystemClassLoader();
-
-        //URL it = loader.getResource(classnameAsResource);
-        URL it = ss.getResourceAsURL(loader, classnameAsResource);
-        if (it != null) {
-            return it.toString();
-        } else {
-            return null;
-        }
-    }
 }
--- a/jaxp/src/java.xml/share/classes/org/xml/sax/helpers/SecuritySupport.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/src/java.xml/share/classes/org/xml/sax/helpers/SecuritySupport.java	Thu Jul 02 17:50:25 2015 -0700
@@ -87,7 +87,7 @@
                 public Object run() {
                     InputStream ris;
                     if (cl == null) {
-                        ris = Object.class.getResourceAsStream(name);
+                        ris = SecuritySupport.class.getResourceAsStream(name);
                     } else {
                         ris = cl.getResourceAsStream(name);
                     }
--- a/jaxp/test/TEST.groups	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/test/TEST.groups	Thu Jul 02 17:50:25 2015 -0700
@@ -29,5 +29,8 @@
 tier2 = \
     :jaxp_all
 
+# No tier 3 tests.
+tier3 = 
+
 jaxp_all = \
     javax/xml/jaxp
--- a/jaxp/test/javax/xml/jaxp/unittest/org/w3c/dom/ls/LSSerializerTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxp/test/javax/xml/jaxp/unittest/org/w3c/dom/ls/LSSerializerTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -101,7 +101,6 @@
 
     /*
      * @bug 8080906
-     * It will fail in a Jigsaw build until JDK-8080266 is fixed.
      */
     @Test
     public void testDefaultLSSerializer() throws Exception {
@@ -134,6 +133,9 @@
         DOMImplementation impl = doc.getImplementation();
         DOMImplementationLS implLS = (DOMImplementationLS) impl.getFeature("LS", "3.0");
         LSSerializer writer = implLS.createLSSerializer();
+
+        System.out.println("Serializer is: " + implLS.getClass().getName() + " " + implLS);
+
         DOMErrorHandlerImpl eh = new DOMErrorHandlerImpl();
         writer.getDomConfig().setParameter("error-handler", eh);
 
@@ -200,6 +202,8 @@
         DOMImplementationLS domImplementationLS = (DOMImplementationLS) domImplementation;
         LSSerializer lsSerializer = domImplementationLS.createLSSerializer();
 
+        System.out.println("Serializer is: " + lsSerializer.getClass().getName() + " " + lsSerializer);
+
         // get configuration
         DOMConfiguration domConfiguration = lsSerializer.getDomConfig();
 
@@ -294,6 +298,8 @@
         DOMImplementationLS domImplementationLS = (DOMImplementationLS) domImplementation;
         LSSerializer lsSerializer = domImplementationLS.createLSSerializer();
 
+        System.out.println("Serializer is: " + lsSerializer.getClass().getName() + " " + lsSerializer);
+
         // get default serialization
         String defaultSerialization = lsSerializer.writeToString(document);
 
--- a/jaxws/.hgtags	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxws/.hgtags	Thu Jul 02 17:50:25 2015 -0700
@@ -315,3 +315,4 @@
 c9785bc8ade98a16a050d7520b70c68363857e00 jdk9-b67
 b5878b03d1b2e105917d959fbfa3c57c22495803 jdk9-b68
 f5911c6155c29ac24b6f9068273207e5ebd3a3df jdk9-b69
+94084caa27a3c8a09a7510aef596ebd64e97c569 jdk9-b70
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/wsaddressing/package-info.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/wsaddressing/package-info.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,6 +23,9 @@
  * questions.
  */
 
+/**
+ * This package defines APIs related to WS-Addressing.
+ */
 @javax.xml.bind.annotation.XmlSchema(namespace=W3CEndpointReference.NS,
                                      location="http://www.w3.org/2006/03/addressing/ws-addr.xsd")
 package javax.xml.ws.wsaddressing;
--- a/jaxws/src/java.xml.ws/share/classes/javax/xml/ws/wsaddressing/package.html	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<!--
- Copyright (c) 2005, 2012, 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
- under the terms of the GNU General Public License version 2 only, as
- published by the Free Software Foundation.  Oracle designates this
- particular file as subject to the "Classpath" exception as provided
- by Oracle in the LICENSE file that accompanied this code.
-
- This code is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- version 2 for more details (a copy is included in the LICENSE file that
- accompanied this code).
-
- You should have received a copy of the GNU General Public License version
- 2 along with this work; if not, write to the Free Software Foundation,
- Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-
- Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- or visit www.oracle.com if you need additional information or have any
- questions.
--->
-
-<html>
-<body>
-This package defines APIs related to WS-Addressing.
-</body>
-</html>
--- a/jdk/.hgtags	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/.hgtags	Thu Jul 02 17:50:25 2015 -0700
@@ -312,3 +312,4 @@
 1abd45df5480a04bff98fba1851d66a5230e67d4 jdk9-b67
 046fd17bb9a0cdf6681124866df9626d17b0516a jdk9-b68
 551323004d0ce2f1d4b0e99552f7e0cdcebc6fca jdk9-b69
+a7f731125b7fb0e4b0186172f85a21e2d5139f7e jdk9-b70
--- a/jdk/make/CopySamples.gmk	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/CopySamples.gmk	Thu Jul 02 17:50:25 2015 -0700
@@ -28,7 +28,7 @@
 include $(SPEC)
 include MakeBase.gmk
 
-SAMPLE_TARGET_DIR := $(SUPPORT_OUTPUTDIR)/sample
+SAMPLE_TARGET_DIR := $(SUPPORT_OUTPUTDIR)/sample/image
 SAMPLE_SOURCE_DIR := $(JDK_TOPDIR)/src/sample/share
 SAMPLE_CLOSED_SOURCE_DIR := $(JDK_TOPDIR)/src/closed/sample/share
 SAMPLE_SOLARIS_SOURCE_DIR := $(JDK_TOPDIR)/src/sample/solaris
--- a/jdk/make/copy/Copy-jdk.accessibility.gmk	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/copy/Copy-jdk.accessibility.gmk	Thu Jul 02 17:50:25 2015 -0700
@@ -31,17 +31,12 @@
   TARGETS += $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgeCallbacks.h \
       $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgeCalls.h \
       $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgePackages.h \
-      $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgeCalls.c \
-      $(CONF_DST_DIR)/accessibility.properties
+      $(INCLUDE_DST_OS_DIR)/bridge/AccessBridgeCalls.c
 
   $(INCLUDE_DST_OS_DIR)/bridge/%: \
       $(JDK_TOPDIR)/src/jdk.accessibility/windows/native/include/bridge/%
 		$(install-file)
 
-  $(CONF_DST_DIR)/accessibility.properties: \
-      $(JDK_TOPDIR)/src/jdk.accessibility/windows/conf/accessibility.properties
-		$(install-file)
-
 endif
 
 ################################################################################
--- a/jdk/make/data/tzdata/VERSION	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/data/tzdata/VERSION	Thu Jul 02 17:50:25 2015 -0700
@@ -21,4 +21,4 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #
-tzdata2015d
+tzdata2015e
--- a/jdk/make/data/tzdata/africa	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/data/tzdata/africa	Thu Jul 02 17:50:25 2015 -0700
@@ -361,9 +361,10 @@
 # time this summer, and carry out studies on the possibility of canceling the
 # practice altogether in future years."
 #
-# From Paul Eggert (2015-04-20):
-# For now, assume DST will be canceled.  Any resumption would likely
-# use different rules anyway.
+# From Paul Eggert (2015-04-24):
+# Yesterday the office of Egyptian President El-Sisi announced his
+# decision to abandon DST permanently.  See Ahram Online 2015-04-24.
+# http://english.ahram.org.eg/NewsContent/1/64/128509/Egypt/Politics-/Sisi-cancels-daylight-saving-time-in-Egypt.aspx
 
 Rule	Egypt	2008	only	-	Aug	lastThu	24:00	0	-
 Rule	Egypt	2009	only	-	Aug	20	24:00	0	-
@@ -810,20 +811,41 @@
 # will resume again at 02:00 on Saturday, August 2, 2014....
 # http://www.mmsp.gov.ma/fr/actualites.aspx?id=586
 
-# From Paul Eggert (2014-06-05):
-# For now, guess that later spring and fall transitions will use 2014's rules,
+# From Milamber (2015-06-08):
+# (Google Translation) The hour will thus be delayed 60 minutes
+# Sunday, June 14 at 3:00, the ministry said in a statement, adding
+# that the time will be advanced again 60 minutes Sunday, July 19,
+# 2015 at 2:00.  The move comes under 2.12.126 Decree of 26 Jumada I
+# 1433 (18 April 2012) and the decision of the Head of Government of
+# 16 N. 3-29-15 Chaaban 1435 (4 June 2015).
+# Source (french):
+# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/
+#
+# From Milamber (2015-06-09):
+# http://www.mmsp.gov.ma/fr/actualites.aspx?id=863
+#
+# From Michael Deckers (2015-06-09):
+# [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go
+# from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch....
+# I think the patch is correct and the quoted text is wrong; the text in
+# <http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/> agrees
+# with the patch.
+
+# From Paul Eggert (2015-06-08):
+# For now, guess that later spring and fall transitions will use 2015's rules,
 # and guess that Morocco will switch to standard time at 03:00 the last
-# Saturday before Ramadan, and back to DST at 02:00 the first Saturday after
-# Ramadan.  To implement this, transition dates for 2015 through 2037 were
+# Sunday before Ramadan, and back to DST at 02:00 the first Sunday after
+# Ramadan.  To implement this, transition dates for 2016 through 2037 were
 # determined by running the following program under GNU Emacs 24.3, with the
 # results integrated by hand into the table below.
-# (let ((islamic-year 1436))
+# (let ((islamic-year 1437))
+#   (require 'cal-islam)
 #   (while (< islamic-year 1460)
 #     (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
 #           (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
-#           (saturday 6))
-#       (while (/= saturday (mod (setq a (1- a)) 7)))
-#       (while (/= saturday (mod b 7))
+#           (sunday 0))
+#       (while (/= sunday (mod (setq a (1- a)) 7)))
+#       (while (/= sunday (mod b 7))
 #         (setq b (1+ b)))
 #       (setq a (calendar-gregorian-from-absolute a))
 #       (setq b (calendar-gregorian-from-absolute b))
@@ -867,32 +889,30 @@
 Rule	Morocco	2013	only	-	Jul	 7	 3:00	0	-
 Rule	Morocco	2013	only	-	Aug	10	 2:00	1:00	S
 Rule	Morocco	2013	max	-	Oct	lastSun	 3:00	0	-
-Rule	Morocco	2014	2022	-	Mar	lastSun	 2:00	1:00	S
+Rule	Morocco	2014	2021	-	Mar	lastSun	 2:00	1:00	S
 Rule	Morocco	2014	only	-	Jun	28	 3:00	0	-
 Rule	Morocco	2014	only	-	Aug	 2	 2:00	1:00	S
-Rule	Morocco	2015	only	-	Jun	13	 3:00	0	-
-Rule	Morocco	2015	only	-	Jul	18	 2:00	1:00	S
-Rule	Morocco	2016	only	-	Jun	 4	 3:00	0	-
-Rule	Morocco	2016	only	-	Jul	 9	 2:00	1:00	S
-Rule	Morocco	2017	only	-	May	20	 3:00	0	-
-Rule	Morocco	2017	only	-	Jul	 1	 2:00	1:00	S
-Rule	Morocco	2018	only	-	May	12	 3:00	0	-
-Rule	Morocco	2018	only	-	Jun	16	 2:00	1:00	S
-Rule	Morocco	2019	only	-	May	 4	 3:00	0	-
-Rule	Morocco	2019	only	-	Jun	 8	 2:00	1:00	S
-Rule	Morocco	2020	only	-	Apr	18	 3:00	0	-
-Rule	Morocco	2020	only	-	May	30	 2:00	1:00	S
-Rule	Morocco	2021	only	-	Apr	10	 3:00	0	-
-Rule	Morocco	2021	only	-	May	15	 2:00	1:00	S
-Rule	Morocco	2022	only	-	Apr	 2	 3:00	0	-
-Rule	Morocco	2022	only	-	May	 7	 2:00	1:00	S
-Rule	Morocco	2023	only	-	Apr	22	 2:00	1:00	S
-Rule	Morocco	2024	only	-	Apr	13	 2:00	1:00	S
-Rule	Morocco	2025	only	-	Apr	 5	 2:00	1:00	S
+Rule	Morocco	2015	only	-	Jun	14	 3:00	0	-
+Rule	Morocco	2015	only	-	Jul	19	 2:00	1:00	S
+Rule	Morocco	2016	only	-	Jun	 5	 3:00	0	-
+Rule	Morocco	2016	only	-	Jul	10	 2:00	1:00	S
+Rule	Morocco	2017	only	-	May	21	 3:00	0	-
+Rule	Morocco	2017	only	-	Jul	 2	 2:00	1:00	S
+Rule	Morocco	2018	only	-	May	13	 3:00	0	-
+Rule	Morocco	2018	only	-	Jun	17	 2:00	1:00	S
+Rule	Morocco	2019	only	-	May	 5	 3:00	0	-
+Rule	Morocco	2019	only	-	Jun	 9	 2:00	1:00	S
+Rule	Morocco	2020	only	-	Apr	19	 3:00	0	-
+Rule	Morocco	2020	only	-	May	24	 2:00	1:00	S
+Rule	Morocco	2021	only	-	Apr	11	 3:00	0	-
+Rule	Morocco	2021	only	-	May	16	 2:00	1:00	S
+Rule	Morocco	2022	only	-	May	 8	 2:00	1:00	S
+Rule	Morocco	2023	only	-	Apr	23	 2:00	1:00	S
+Rule	Morocco	2024	only	-	Apr	14	 2:00	1:00	S
+Rule	Morocco	2025	only	-	Apr	 6	 2:00	1:00	S
 Rule	Morocco	2026	max	-	Mar	lastSun	 2:00	1:00	S
-Rule	Morocco	2035	only	-	Oct	27	 3:00	0	-
-Rule	Morocco	2036	only	-	Oct	18	 3:00	0	-
-Rule	Morocco	2037	only	-	Oct	10	 3:00	0	-
+Rule	Morocco	2036	only	-	Oct	19	 3:00	0	-
+Rule	Morocco	2037	only	-	Oct	 4	 3:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
--- a/jdk/make/data/tzdata/iso3166.tab	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/data/tzdata/iso3166.tab	Thu Jul 02 17:50:25 2015 -0700
@@ -26,11 +26,10 @@
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 #
-# From Paul Eggert (2014-07-18):
+# From Paul Eggert (2015-05-02):
 # This file contains a table of two-letter country codes.  Columns are
 # separated by a single tab.  Lines beginning with '#' are comments.
-# Although all text currently uses ASCII encoding, this is planned to
-# change to UTF-8 soon.  The columns of the table are as follows:
+# All text uses UTF-8 encoding.  The columns of the table are as follows:
 #
 # 1.  ISO 3166-1 alpha-2 country code, current as of
 #     ISO 3166-1 Newsletter VI-16 (2013-07-11).  See: Updates on ISO 3166
@@ -61,7 +60,7 @@
 AT	Austria
 AU	Australia
 AW	Aruba
-AX	Aaland Islands
+AX	Ã…land Islands
 AZ	Azerbaijan
 BA	Bosnia & Herzegovina
 BB	Barbados
@@ -90,7 +89,7 @@
 CF	Central African Rep.
 CG	Congo (Rep.)
 CH	Switzerland
-CI	Cote d'Ivoire
+CI	Côte d'Ivoire
 CK	Cook Islands
 CL	Chile
 CM	Cameroon
@@ -234,7 +233,7 @@
 PW	Palau
 PY	Paraguay
 QA	Qatar
-RE	Reunion
+RE	Réunion
 RO	Romania
 RS	Serbia
 RU	Russia
--- a/jdk/make/data/tzdata/northamerica	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/data/tzdata/northamerica	Thu Jul 02 17:50:25 2015 -0700
@@ -2684,7 +2684,17 @@
 			-4:00	US	A%sT
 
 # Cayman Is
-# See America/Panama.
+
+# From Paul Eggert (2015-05-15):
+# The Cayman government has decided to introduce DST in 2016, the idea being
+# to keep in sync with New York.  The legislation hasn't passed but the change
+# seems quite likely.  See: Meade B. Cayman 27.
+# http://www.cayman27.com.ky/2015/05/15/clock-ticks-toward-daylight-saving-time-in-cayman
+
+Zone	America/Cayman	-5:25:32 -	LMT	1890     # Georgetown
+			-5:07:11 -	KMT	1912 Feb # Kingston Mean Time
+			-5:00	-	EST	2016
+			-5:00	US	E%sT
 
 # Costa Rica
 
@@ -3207,7 +3217,6 @@
 Zone	America/Panama	-5:18:08 -	LMT	1890
 			-5:19:36 -	CMT	1908 Apr 22 # Colón Mean Time
 			-5:00	-	EST
-Link America/Panama America/Cayman
 
 # Puerto Rico
 # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
--- a/jdk/make/data/tzdata/southamerica	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/data/tzdata/southamerica	Thu Jul 02 17:50:25 2015 -0700
@@ -53,7 +53,7 @@
 #	I suggest the use of _Summer time_ instead of the more cumbersome
 #	_daylight-saving time_.  _Summer time_ seems to be in general use
 #	in Europe and South America.
-#	-- E O Cutler, _New York Times_ (1937-02-14), quoted in
+#	-- E O Cutler, _New York Times_ (1937-02-14), quoted in
 #	H L Mencken, _The American Language: Supplement I_ (1960), p 466
 #
 # Earlier editions of these tables also used the North American style
--- a/jdk/make/gensrc/GensrcCLDR.gmk	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/gensrc/GensrcCLDR.gmk	Thu Jul 02 17:50:25 2015 -0700
@@ -29,7 +29,7 @@
 GENSRC_BASEDIR := $(SUPPORT_OUTPUTDIR)/gensrc/java.base
 GENSRC_DIR := $(SUPPORT_OUTPUTDIR)/gensrc/jdk.localedata
 
-CLDR_BASEMETAINFO_FILE := $(GENSRC_DIR)/sun/util/cldr/CLDRBaseLocaleDataMetaInfo.java
+CLDR_BASEMETAINFO_FILE := $(GENSRC_BASEDIR)/sun/util/cldr/CLDRBaseLocaleDataMetaInfo.java
 CLDR_METAINFO_FILE := $(GENSRC_DIR)/sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo_jdk_localedata.java
 
 CLDR_BASE_LOCALES := "en-US"
--- a/jdk/make/lib/LibCommon.gmk	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/lib/LibCommon.gmk	Thu Jul 02 17:50:25 2015 -0700
@@ -60,17 +60,6 @@
       $(JDK_TOPDIR)/src/$(strip $1)/share/native/lib$(strip $2)))
 
 ################################################################################
-# Find lib dir for module
-# Param 1 - module name
-ifeq ($(OPENJDK_TARGET_OS_TYPE), unix)
-  FindLibDirForModule = \
-      $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)$(OPENJDK_TARGET_CPU_LIBDIR)
-else
-  FindLibDirForModule = \
-      $(SUPPORT_OUTPUTDIR)/modules_libs/$(strip $1)
-endif
-
-################################################################################
 # Find a library
 # Param 1 - module name
 # Param 2 - library name
--- a/jdk/make/lib/NioLibraries.gmk	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/lib/NioLibraries.gmk	Thu Jul 02 17:50:25 2015 -0700
@@ -81,7 +81,8 @@
     LDFLAGS_SUFFIX_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
         $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libnet/net.lib \
         advapi32.lib, \
-    LDFLAGS_SUFFIX_macosx := -ljava -lnet -pthread -framework CoreFoundation, \
+    LDFLAGS_SUFFIX_macosx := -ljava -lnet -pthread \
+        -framework CoreFoundation -framework CoreServices, \
     LDFLAGS_SUFFIX :=, \
     VERSIONINFO_RESOURCE := $(GLOBAL_VERSION_INFO_RESOURCE), \
     RC_FLAGS := $(RC_FLAGS) \
--- a/jdk/make/src/classes/build/tools/module/ModuleArchive.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/make/src/classes/build/tools/module/ModuleArchive.java	Thu Jul 02 17:50:25 2015 -0700
@@ -228,7 +228,8 @@
         private static String nativeDir(String filename) {
             if (System.getProperty("os.name").startsWith("Windows")) {
                 if (filename.endsWith(".dll") || filename.endsWith(".diz")
-                    || filename.endsWith(".pdb") || filename.endsWith(".map")) {
+                    || filename.endsWith(".pdb") || filename.endsWith(".map")
+                    || filename.endsWith(".cpl")) {
                     return "bin";
                 } else {
                     return "lib";
--- a/jdk/src/java.base/macosx/classes/sun/nio/fs/MacOSXFileSystemProvider.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/macosx/classes/sun/nio/fs/MacOSXFileSystemProvider.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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,6 +49,8 @@
     FileTypeDetector getFileTypeDetector() {
         Path userMimeTypes = Paths.get(AccessController.doPrivileged(
             new GetPropertyAction("user.home")), ".mime.types");
-        return new MimeTypesFileTypeDetector(userMimeTypes);
+
+        return chain(new MimeTypesFileTypeDetector(userMimeTypes),
+                     new UTIFileTypeDetector());
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/macosx/classes/sun/nio/fs/UTIFileTypeDetector.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.fs;
+
+import java.io.IOException;
+import java.nio.file.Path;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * File type detector that uses a file extension to look up its MIME type
+ * via the Apple Uniform Type Identifier interfaces.
+ */
+class UTIFileTypeDetector extends AbstractFileTypeDetector {
+    UTIFileTypeDetector() {
+        super();
+    }
+
+    private native String probe0(String fileExtension) throws IOException;
+
+    @Override
+    protected String implProbeContentType(Path path) throws IOException {
+        Path fn = path.getFileName();
+        if (fn == null)
+            return null;  // no file name
+
+        String ext = getExtension(fn.toString());
+        if (ext.isEmpty())
+            return null;  // no extension
+
+        return probe0(ext);
+    }
+
+    static {
+        AccessController.doPrivileged(new PrivilegedAction<>() {
+            @Override
+            public Void run() {
+                System.loadLibrary("nio");
+                return null;
+            }
+        });
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/macosx/native/libnio/fs/UTIFileTypeDetector.c	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+#include "jni.h"
+#include "jni_util.h"
+
+#include <CoreFoundation/CoreFoundation.h>
+#include <CoreServices/CoreServices.h>
+
+/**
+ * Creates a CF string from the given Java string.
+ * If javaString is NULL, NULL is returned.
+ * If a memory error occurs, and OutOfMemoryError is thrown and
+ * NULL is returned.
+ */
+static CFStringRef toCFString(JNIEnv *env, jstring javaString)
+{
+    if (javaString == NULL) {
+        return NULL;
+    } else {
+        CFStringRef result = NULL;
+        jsize length = (*env)->GetStringLength(env, javaString);
+        const jchar *chars = (*env)->GetStringChars(env, javaString, NULL);
+        if (chars == NULL) {
+            JNU_ThrowOutOfMemoryError(env, "toCFString failed");
+            return NULL;
+        }
+        result = CFStringCreateWithCharacters(NULL, (const UniChar *)chars,
+                                              length);
+        (*env)->ReleaseStringChars(env, javaString, chars);
+        if (result == NULL) {
+            JNU_ThrowOutOfMemoryError(env, "toCFString failed");
+            return NULL;
+        }
+        return result;
+    }
+}
+
+/**
+ * Creates a Java string from the given CF string.
+ * If cfString is NULL, NULL is returned.
+ * If a memory error occurs, and OutOfMemoryError is thrown and
+ * NULL is returned.
+ */
+static jstring toJavaString(JNIEnv *env, CFStringRef cfString)
+{
+    if (cfString == NULL) {
+        return NULL;
+    } else {
+        jstring javaString = NULL;
+
+        CFIndex length = CFStringGetLength(cfString);
+        const UniChar *constchars = CFStringGetCharactersPtr(cfString);
+        if (constchars) {
+            javaString = (*env)->NewString(env, constchars, length);
+        } else {
+            UniChar *chars = malloc(length * sizeof(UniChar));
+            if (chars == NULL) {
+                JNU_ThrowOutOfMemoryError(env, "toJavaString failed");
+                return NULL;
+            }
+            CFStringGetCharacters(cfString, CFRangeMake(0, length), chars);
+            javaString = (*env)->NewString(env, chars, length);
+            free(chars);
+        }
+        return javaString;
+    }
+}
+
+/**
+ * Returns the content type corresponding to the supplied file extension.
+ * The mapping is determined using Uniform Type Identifiers (UTIs).  If
+ * the file extension parameter is NULL, a CFString cannot be created
+ * from the file extension parameter, there is no UTI corresponding to
+ * the file extension, the UTI cannot supply a MIME type for the file
+ * extension, or a Java string cannot be created, then NULL is returned;
+ * otherwise the MIME type string is returned.
+ */
+JNIEXPORT jstring JNICALL
+Java_sun_nio_fs_UTIFileTypeDetector_probe0(JNIEnv* env, jobject ftd,
+                                           jstring ext)
+{
+    jstring result = NULL;
+
+    CFStringRef extension = toCFString(env, ext);
+    if (extension != NULL) {
+        CFStringRef uti =
+            UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension,
+                                                  extension, NULL);
+        CFRelease(extension);
+
+        if (uti != NULL) {
+            CFStringRef mimeType =
+                UTTypeCopyPreferredTagWithClass(uti, kUTTagClassMIMEType);
+            CFRelease(uti);
+
+            if (mimeType != NULL) {
+                result = toJavaString(env, mimeType);
+                CFRelease(mimeType);
+            }
+        }
+    }
+
+    return result;
+}
--- a/jdk/src/java.base/share/classes/com/sun/crypto/provider/OAEPParameters.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/crypto/provider/OAEPParameters.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, 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
@@ -121,7 +121,7 @@
             } else if (data.isContextSpecific((byte) 0x01)) {
                 // mgf algid
                 AlgorithmId val = AlgorithmId.parse(data.data.getDerValue());
-                if (!val.getOID().equals((Object) OID_MGF1)) {
+                if (!val.getOID().equals(OID_MGF1)) {
                     throw new IOException("Only MGF1 mgf is supported");
                 }
                 AlgorithmId params = AlgorithmId.parse(
@@ -144,7 +144,7 @@
             } else if (data.isContextSpecific((byte) 0x02)) {
                 // pSource algid
                 AlgorithmId val = AlgorithmId.parse(data.data.getDerValue());
-                if (!val.getOID().equals((Object) OID_PSpecified)) {
+                if (!val.getOID().equals(OID_PSpecified)) {
                     throw new IOException("Wrong OID for pSpecified");
                 }
                 DerInputStream dis = new DerInputStream(val.getEncodedParams());
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Attribute.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Attribute.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1235,7 +1235,7 @@
         int sofar = 0;  // how far have we processed the layout?
         for (;;) {
             // for each dash, collect everything up to the dash
-            result.append(layout.substring(sofar, dash));
+            result.append(layout, sofar, dash);
             sofar = dash+1;  // skip the dash
             // then collect intermediate values
             int value0 = parseIntBefore(layout, dash);
@@ -1249,7 +1249,7 @@
             dash = findCaseDash(layout, sofar);
             if (dash < 0)  break;
         }
-        result.append(layout.substring(sofar));  // collect the rest
+        result.append(layout, sofar, layout.length());  // collect the rest
         return result.toString();
     }
     static {
--- a/jdk/src/java.base/share/classes/java/io/BufferedOutputStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/io/BufferedOutputStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2015, 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
@@ -34,8 +34,7 @@
  * @author  Arthur van Hoff
  * @since   1.0
  */
-public
-class BufferedOutputStream extends FilterOutputStream {
+public class BufferedOutputStream extends FilterOutputStream {
     /**
      * The internal buffer where data is stored.
      */
@@ -90,6 +89,7 @@
      * @param      b   the byte to be written.
      * @exception  IOException  if an I/O error occurs.
      */
+    @Override
     public synchronized void write(int b) throws IOException {
         if (count >= buf.length) {
             flushBuffer();
@@ -113,6 +113,7 @@
      * @param      len   the number of bytes to write.
      * @exception  IOException  if an I/O error occurs.
      */
+    @Override
     public synchronized void write(byte b[], int off, int len) throws IOException {
         if (len >= buf.length) {
             /* If the request length exceeds the size of the output buffer,
@@ -136,6 +137,7 @@
      * @exception  IOException  if an I/O error occurs.
      * @see        java.io.FilterOutputStream#out
      */
+    @Override
     public synchronized void flush() throws IOException {
         flushBuffer();
         out.flush();
--- a/jdk/src/java.base/share/classes/java/io/FilterOutputStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/io/FilterOutputStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2015, 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
@@ -41,13 +41,15 @@
  * @author  Jonathan Payne
  * @since   1.0
  */
-public
-class FilterOutputStream extends OutputStream {
+public class FilterOutputStream extends OutputStream {
     /**
      * The underlying output stream to be filtered.
      */
     protected OutputStream out;
 
+    /**
+     * Whether the stream is closed; implicitly initialized to false.
+     */
     private boolean closed;
 
     /**
@@ -75,6 +77,7 @@
      * @param      b   the <code>byte</code>.
      * @exception  IOException  if an I/O error occurs.
      */
+    @Override
     public void write(int b) throws IOException {
         out.write(b);
     }
@@ -95,6 +98,7 @@
      * @exception  IOException  if an I/O error occurs.
      * @see        java.io.FilterOutputStream#write(byte[], int, int)
      */
+    @Override
     public void write(byte b[]) throws IOException {
         write(b, 0, b.length);
     }
@@ -119,6 +123,7 @@
      * @exception  IOException  if an I/O error occurs.
      * @see        java.io.FilterOutputStream#write(int)
      */
+    @Override
     public void write(byte b[], int off, int len) throws IOException {
         if ((off | len | (b.length - (len + off)) | (off + len)) < 0)
             throw new IndexOutOfBoundsException();
@@ -138,6 +143,7 @@
      * @exception  IOException  if an I/O error occurs.
      * @see        java.io.FilterOutputStream#out
      */
+    @Override
     public void flush() throws IOException {
         out.flush();
     }
@@ -154,13 +160,40 @@
      * @see        java.io.FilterOutputStream#flush()
      * @see        java.io.FilterOutputStream#out
      */
-    @SuppressWarnings("try")
+    @Override
     public void close() throws IOException {
-        if (closed)
+        if (closed) {
             return;
+        }
         closed = true;
-        try (OutputStream ostream = out) {
+
+        Throwable flushException = null;
+        try {
             flush();
+        } catch (Throwable e) {
+            flushException = e;
+            throw e;
+        } finally {
+            if (flushException == null) {
+                out.close();
+            } else {
+                try {
+                    out.close();
+                } catch (Throwable closeException) {
+                   // evaluate possible precedence of flushException over closeException
+                   if ((flushException instanceof ThreadDeath) &&
+                       !(closeException instanceof ThreadDeath)) {
+                       flushException.addSuppressed(closeException);
+                       throw (ThreadDeath) flushException;
+                   }
+
+                    if (flushException != closeException) {
+                        closeException.addSuppressed(flushException);
+                    }
+
+                    throw closeException;
+                }
+            }
         }
     }
 }
--- a/jdk/src/java.base/share/classes/java/io/StringWriter.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/io/StringWriter.java	Thu Jul 02 17:50:25 2015 -0700
@@ -109,7 +109,7 @@
      * @param  len  Number of characters to write
      */
     public void write(String str, int off, int len)  {
-        buf.append(str.substring(off, off + len));
+        buf.append(str, off, off + len);
     }
 
     /**
--- a/jdk/src/java.base/share/classes/java/lang/AbstractStringBuilder.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/AbstractStringBuilder.java	Thu Jul 02 17:50:25 2015 -0700
@@ -515,8 +515,12 @@
                 + s.length());
         int len = end - start;
         ensureCapacityInternal(count + len);
-        for (int i = start, j = count; i < end; i++, j++)
-            value[j] = s.charAt(i);
+        if (s instanceof String) {
+            ((String)s).getChars(start, end, value, count);
+        } else {
+            for (int i = start, j = count; i < end; i++, j++)
+                value[j] = s.charAt(i);
+        }
         count += len;
         return this;
     }
--- a/jdk/src/java.base/share/classes/java/net/NetworkInterface.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/net/NetworkInterface.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -25,10 +25,14 @@
 
 package java.net;
 
+import java.util.Arrays;
 import java.util.Enumeration;
 import java.util.NoSuchElementException;
-import sun.security.action.*;
 import java.security.AccessController;
+import java.util.Spliterator;
+import java.util.Spliterators;
+import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
 
 /**
  * This class represents a Network Interface made up of a name,
@@ -95,8 +99,8 @@
     }
 
     /**
-     * Convenience method to return an Enumeration with all or a
-     * subset of the InetAddresses bound to this network interface.
+     * Get an Enumeration with all or a subset of the InetAddresses bound to
+     * this network interface.
      * <p>
      * If there is a security manager, its {@code checkConnect}
      * method is called for each InetAddress. Only InetAddresses where
@@ -104,53 +108,56 @@
      * will be returned in the Enumeration. However, if the caller has the
      * {@link NetPermission}("getNetworkInformation") permission, then all
      * InetAddresses are returned.
+     *
      * @return an Enumeration object with all or a subset of the InetAddresses
      * bound to this network interface
+     * @see #inetAddresses()
      */
     public Enumeration<InetAddress> getInetAddresses() {
-
-        class checkedAddresses implements Enumeration<InetAddress> {
-
-            private int i=0, count=0;
-            private InetAddress local_addrs[];
-
-            checkedAddresses() {
-                local_addrs = new InetAddress[addrs.length];
-                boolean trusted = true;
+        return enumerationFromArray(getCheckedInetAddresses());
+    }
 
-                SecurityManager sec = System.getSecurityManager();
-                if (sec != null) {
-                    try {
-                        sec.checkPermission(new NetPermission("getNetworkInformation"));
-                    } catch (SecurityException e) {
-                        trusted = false;
-                    }
-                }
-                for (int j=0; j<addrs.length; j++) {
-                    try {
-                        if (sec != null && !trusted) {
-                            sec.checkConnect(addrs[j].getHostAddress(), -1);
-                        }
-                        local_addrs[count++] = addrs[j];
-                    } catch (SecurityException e) { }
-                }
+    /**
+     * Get a Stream of all or a subset of the InetAddresses bound to this
+     * network interface.
+     * <p>
+     * If there is a security manager, its {@code checkConnect}
+     * method is called for each InetAddress. Only InetAddresses where
+     * the {@code checkConnect} doesn't throw a SecurityException will be
+     * returned in the Stream. However, if the caller has the
+     * {@link NetPermission}("getNetworkInformation") permission, then all
+     * InetAddresses are returned.
+     *
+     * @return a Stream object with all or a subset of the InetAddresses
+     * bound to this network interface
+     * @since 1.9
+     */
+    public Stream<InetAddress> inetAddresses() {
+        return streamFromArray(getCheckedInetAddresses());
+    }
 
-            }
+    private InetAddress[] getCheckedInetAddresses() {
+        InetAddress[] local_addrs = new InetAddress[addrs.length];
+        boolean trusted = true;
 
-            public InetAddress nextElement() {
-                if (i < count) {
-                    return local_addrs[i++];
-                } else {
-                    throw new NoSuchElementException();
-                }
-            }
-
-            public boolean hasMoreElements() {
-                return (i < count);
+        SecurityManager sec = System.getSecurityManager();
+        if (sec != null) {
+            try {
+                sec.checkPermission(new NetPermission("getNetworkInformation"));
+            } catch (SecurityException e) {
+                trusted = false;
             }
         }
-        return new checkedAddresses();
-
+        int i = 0;
+        for (int j = 0; j < addrs.length; j++) {
+            try {
+                if (!trusted) {
+                    sec.checkConnect(addrs[j].getHostAddress(), -1);
+                }
+                local_addrs[i++] = addrs[j];
+            } catch (SecurityException e) { }
+        }
+        return Arrays.copyOf(local_addrs, i);
     }
 
     /**
@@ -188,30 +195,23 @@
      *
      * @return an Enumeration object with all of the subinterfaces
      * of this network interface
+     * @see #subInterfaces()
      * @since 1.6
      */
     public Enumeration<NetworkInterface> getSubInterfaces() {
-        class subIFs implements Enumeration<NetworkInterface> {
-
-            private int i=0;
-
-            subIFs() {
-            }
+        return enumerationFromArray(childs);
+    }
 
-            public NetworkInterface nextElement() {
-                if (i < childs.length) {
-                    return childs[i++];
-                } else {
-                    throw new NoSuchElementException();
-                }
-            }
-
-            public boolean hasMoreElements() {
-                return (i < childs.length);
-            }
-        }
-        return new subIFs();
-
+    /**
+     * Get a Stream of all subinterfaces (also known as virtual
+     * interfaces) attached to this network interface.
+     *
+     * @return a Stream object with all of the subinterfaces
+     * of this network interface
+     * @since 1.9
+     */
+    public Stream<NetworkInterface> subInterfaces() {
+        return streamFromArray(childs);
     }
 
     /**
@@ -326,43 +326,80 @@
     }
 
     /**
-     * Returns all the interfaces on this machine. The {@code Enumeration}
-     * contains at least one element, possibly representing a loopback
-     * interface that only supports communication between entities on
+     * Returns an {@code Enumeration} of all the interfaces on this machine. The
+     * {@code Enumeration} contains at least one element, possibly representing
+     * a loopback interface that only supports communication between entities on
      * this machine.
      *
-     * NOTE: can use getNetworkInterfaces()+getInetAddresses()
-     *       to obtain all IP addresses for this node
+     * @apiNote this method can be used in combination with
+     * {@link #getInetAddresses()} to obtain all IP addresses for this node
      *
      * @return an Enumeration of NetworkInterfaces found on this machine
      * @exception  SocketException  if an I/O error occurs.
+     * @see #networkInterfaces()
      */
-
     public static Enumeration<NetworkInterface> getNetworkInterfaces()
         throws SocketException {
-        final NetworkInterface[] netifs = getAll();
+        NetworkInterface[] netifs = getAll();
+        assert netifs != null && netifs.length > 0;
 
-        // specified to return null if no network interfaces
-        if (netifs == null)
-            return null;
+        return enumerationFromArray(netifs);
+    }
 
+    /**
+     * Returns a {@code Stream} of all the interfaces on this machine.  The
+     * {@code Stream} contains at least one interface, possibly representing a
+     * loopback interface that only supports communication between entities on
+     * this machine.
+     *
+     * @apiNote this method can be used in combination with
+     * {@link #inetAddresses()}} to obtain a stream of all IP addresses for
+     * this node, for example:
+     * <pre> {@code
+     * Stream<InetAddress> addrs = NetworkInterface.networkInterfaces()
+     *     .flatMap(NetworkInterface::inetAddresses);
+     * }</pre>
+     *
+     * @return a Stream of NetworkInterfaces found on this machine
+     * @exception  SocketException  if an I/O error occurs.
+     * @since 1.9
+     */
+    public static Stream<NetworkInterface> networkInterfaces()
+        throws SocketException {
+        NetworkInterface[] netifs = getAll();
+        assert netifs != null && netifs.length > 0;
+
+        return streamFromArray(netifs);
+    }
+
+    private static <T> Enumeration<T> enumerationFromArray(T[] a) {
         return new Enumeration<>() {
-            private int i = 0;
-            public NetworkInterface nextElement() {
-                if (netifs != null && i < netifs.length) {
-                    NetworkInterface netif = netifs[i++];
-                    return netif;
+            int i = 0;
+
+            @Override
+            public T nextElement() {
+                if (i < a.length) {
+                    return a[i++];
                 } else {
                     throw new NoSuchElementException();
                 }
             }
 
+            @Override
             public boolean hasMoreElements() {
-                return (netifs != null && i < netifs.length);
+                return i < a.length;
             }
         };
     }
 
+    private static <T> Stream<T> streamFromArray(T[] a) {
+        return StreamSupport.stream(
+                Spliterators.spliterator(
+                        a,
+                        Spliterator.DISTINCT | Spliterator.IMMUTABLE | Spliterator.NONNULL),
+                false);
+    }
+
     private native static NetworkInterface[] getAll()
         throws SocketException;
 
--- a/jdk/src/java.base/share/classes/java/net/URI.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/net/URI.java	Thu Jul 02 17:50:25 2015 -0700
@@ -2018,7 +2018,7 @@
             StringBuilder sb = new StringBuilder(base.length() + cn);
             // 5.2 (6a)
             if (i >= 0)
-                sb.append(base.substring(0, i + 1));
+                sb.append(base, 0, i + 1);
             // 5.2 (6b)
             sb.append(child);
             path = sb.toString();
@@ -2686,7 +2686,7 @@
                 if (!match(c, lowMask, highMask)) {
                     if (sb == null) {
                         sb = new StringBuffer();
-                        sb.append(s.substring(0, i));
+                        sb.append(s, 0, i);
                     }
                     appendEscape(sb, (byte)c);
                 } else {
@@ -2698,7 +2698,7 @@
                            || Character.isISOControl(c))) {
                 if (sb == null) {
                     sb = new StringBuffer();
-                    sb.append(s.substring(0, i));
+                    sb.append(s, 0, i);
                 }
                 appendEncoded(sb, c);
             } else {
--- a/jdk/src/java.base/share/classes/java/security/PermissionCollection.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/security/PermissionCollection.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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,8 @@
 package java.security;
 
 import java.util.*;
+import java.util.stream.Stream;
+import java.util.stream.StreamSupport;
 
 /**
  * Abstract class representing a collection of Permission objects.
@@ -126,10 +128,35 @@
      * Returns an enumeration of all the Permission objects in the collection.
      *
      * @return an enumeration of all the Permissions.
+     * @see #elementsAsStream()
      */
     public abstract Enumeration<Permission> elements();
 
     /**
+     * Returns a stream of all the Permission objects in the collection.
+     *
+     * <p> The collection should not be modified (see {@link #add}) during the
+     * execution of the terminal stream operation. Otherwise, the result of the
+     * terminal stream operation is undefined.
+     *
+     * @implSpec
+     * The default implementation creates a stream whose source is derived from
+     * the enumeration returned from a call to {@link #elements()}.
+     *
+     * @return a stream of all the Permissions.
+     * @since 1.9
+     */
+    public Stream<Permission> elementsAsStream() {
+        int characteristics = isReadOnly()
+                ? Spliterator.NONNULL | Spliterator.IMMUTABLE
+                : Spliterator.NONNULL;
+        return StreamSupport.stream(
+                Spliterators.spliteratorUnknownSize(
+                        elements().asIterator(), characteristics),
+                false);
+    }
+
+    /**
      * Marks this PermissionCollection object as "readonly". After
      * a PermissionCollection object
      * is marked as readonly, no new Permission objects can be added to it
--- a/jdk/src/java.base/share/classes/java/security/cert/X509CertSelector.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/security/cert/X509CertSelector.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -2238,7 +2238,7 @@
                     + subjectPublicKeyAlgID + ", xcert subjectPublicKeyAlgID = "
                     + algID.getOID());
             }
-            if (!subjectPublicKeyAlgID.equals((Object)algID.getOID())) {
+            if (!subjectPublicKeyAlgID.equals(algID.getOID())) {
                 if (debug != null) {
                     debug.println("X509CertSelector.match: "
                         + "subject public key alg IDs don't match");
--- a/jdk/src/java.base/share/classes/java/text/MergeCollation.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/text/MergeCollation.java	Thu Jul 02 17:50:25 2015 -0700
@@ -329,8 +329,8 @@
                 PatternEntry e = patterns.get(i);
                 if (e.chars.regionMatches(0,entry.chars,0,
                                               e.chars.length())) {
-                    excessChars.append(entry.chars.substring(e.chars.length(),
-                                                            entry.chars.length()));
+                    excessChars.append(entry.chars, e.chars.length(),
+                            entry.chars.length());
                     break;
                 }
             }
--- a/jdk/src/java.base/share/classes/java/text/MessageFormat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/text/MessageFormat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1239,7 +1239,7 @@
         int lastOffset = 0;
         int last = result.length();
         for (int i = 0; i <= maxOffset; ++i) {
-            result.append(pattern.substring(lastOffset, offsets[i]));
+            result.append(pattern, lastOffset, offsets[i]);
             lastOffset = offsets[i];
             int argumentNumber = argumentNumbers[i];
             if (arguments == null || argumentNumber >= arguments.length) {
@@ -1332,7 +1332,7 @@
                 }
             }
         }
-        result.append(pattern.substring(lastOffset, pattern.length()));
+        result.append(pattern, lastOffset, pattern.length());
         if (characterIterators != null && last != result.length()) {
             characterIterators.add(createAttributedCharacterIterator(
                                    result.substring(last)));
--- a/jdk/src/java.base/share/classes/java/util/Collections.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/Collections.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -4268,6 +4268,7 @@
 
         public boolean hasMoreElements() { return false; }
         public E nextElement() { throw new NoSuchElementException(); }
+        public Iterator<E> asIterator() { return emptyIterator(); }
     }
 
     /**
@@ -5199,6 +5200,11 @@
      * interoperability with legacy APIs that require an enumeration
      * as input.
      *
+     * <p>The iterator returned from a call to {@link Enumeration#asIterator()}
+     * does not support removal of elements from the specified collection.  This
+     * is necessary to avoid unintentionally increasing the capabilities of the
+     * returned enumeration.
+     *
      * @param  <T> the class of the objects in the collection
      * @param c the collection for which an enumeration is to be returned.
      * @return an enumeration over the specified collection.
--- a/jdk/src/java.base/share/classes/java/util/LinkedList.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/LinkedList.java	Thu Jul 02 17:50:25 2015 -0700
@@ -88,18 +88,22 @@
 
     /**
      * Pointer to first node.
-     * Invariant: (first == null && last == null) ||
-     *            (first.prev == null && first.item != null)
      */
     transient Node<E> first;
 
     /**
      * Pointer to last node.
-     * Invariant: (first == null && last == null) ||
-     *            (last.next == null && last.item != null)
      */
     transient Node<E> last;
 
+    /*
+    void dataStructureInvariants() {
+        assert (size == 0)
+            ? (first == null && last == null)
+            : (first.prev == null && last.next == null);
+    }
+    */
+
     /**
      * Constructs an empty list.
      */
--- a/jdk/src/java.base/share/classes/java/util/jar/JarFile.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/jar/JarFile.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -265,6 +265,10 @@
         public JarEntry nextElement() {
             return next();
         }
+
+        public Iterator<JarEntry> asIterator() {
+            return this;
+        }
     }
 
     /**
--- a/jdk/src/java.base/share/classes/java/util/zip/ZipFile.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/zip/ZipFile.java	Thu Jul 02 17:50:25 2015 -0700
@@ -526,6 +526,10 @@
                 return ze;
             }
         }
+
+        public Iterator<ZipEntry> asIterator() {
+            return this;
+        }
     }
 
     /**
--- a/jdk/src/java.base/share/classes/sun/invoke/util/BytecodeName.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/invoke/util/BytecodeName.java	Thu Jul 02 17:50:25 2015 -0700
@@ -511,7 +511,7 @@
                 if (s.charAt(0) != ESCAPE_C && i > 0)
                     sb.append(NULL_ESCAPE);
                 // append the string so far, which is unremarkable:
-                sb.append(s.substring(0, i));
+                sb.append(s, 0, i);
             }
 
             // rewrite \ to \-, / to \|, etc.
@@ -544,7 +544,7 @@
                     if (sb == null) {
                         sb = new StringBuilder(s.length());
                         // append the string so far, which is unremarkable:
-                        sb.append(s.substring(stringStart, i));
+                        sb.append(s, stringStart, i);
                     }
                     ++i;  // skip both characters
                     c = oc;
--- a/jdk/src/java.base/share/classes/sun/net/www/ParseUtil.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/net/www/ParseUtil.java	Thu Jul 02 17:50:25 2015 -0700
@@ -451,7 +451,7 @@
                 if (!match(c, lowMask, highMask) && !isEscaped(s, i)) {
                     if (sb == null) {
                         sb = new StringBuffer();
-                        sb.append(s.substring(0, i));
+                        sb.append(s, 0, i);
                     }
                     appendEscape(sb, (byte)c);
                 } else {
@@ -463,7 +463,7 @@
                            || Character.isISOControl(c))) {
                 if (sb == null) {
                     sb = new StringBuffer();
-                    sb.append(s.substring(0, i));
+                    sb.append(s, 0, i);
                 }
                 appendEncoded(sb, c);
             } else {
--- a/jdk/src/java.base/share/classes/sun/nio/fs/AbstractFileTypeDetector.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/nio/fs/AbstractFileTypeDetector.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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
@@ -42,6 +42,27 @@
     }
 
     /**
+     * Returns the extension of a file name, specifically the portion of the
+     * parameter string after the first dot. If the parameter is {@code null},
+     * empty, does not contain a dot, or the dot is the last character, then an
+     * empty string is returned, otherwise the characters after the dot are
+     * returned.
+     *
+     * @param name A file name
+     * @return The characters after the first dot or an empty string.
+     */
+    protected final String getExtension(String name) {
+        String ext = "";
+        if (name != null && !name.isEmpty()) {
+            int dot = name.indexOf('.');
+            if ((dot >= 0) && (dot < name.length() - 1)) {
+                ext = name.substring(dot + 1);
+            }
+        }
+        return ext;
+    }
+
+    /**
      * Invokes the appropriate probe method to guess a file's content type,
      * and checks that the content type's syntax is valid.
      */
--- a/jdk/src/java.base/share/classes/sun/security/pkcs/ContentInfo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/pkcs/ContentInfo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -163,9 +163,9 @@
     }
 
     public byte[] getData() throws IOException {
-        if (contentType.equals((Object)DATA_OID) ||
-            contentType.equals((Object)OLD_DATA_OID) ||
-            contentType.equals((Object)TIMESTAMP_TOKEN_INFO_OID)) {
+        if (contentType.equals(DATA_OID) ||
+            contentType.equals(OLD_DATA_OID) ||
+            contentType.equals(TIMESTAMP_TOKEN_INFO_OID)) {
             if (content == null)
                 return null;
             else
--- a/jdk/src/java.base/share/classes/sun/security/pkcs/PKCS7.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/pkcs/PKCS7.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -182,13 +182,12 @@
         contentType = contentInfo.contentType;
         DerValue content = contentInfo.getContent();
 
-        if (contentType.equals((Object)ContentInfo.SIGNED_DATA_OID)) {
+        if (contentType.equals(ContentInfo.SIGNED_DATA_OID)) {
             parseSignedData(content);
-        } else if (contentType.equals((Object)ContentInfo.OLD_SIGNED_DATA_OID)) {
+        } else if (contentType.equals(ContentInfo.OLD_SIGNED_DATA_OID)) {
             // This is for backwards compatibility with JDK 1.1.x
             parseOldSignedData(content);
-        } else if (contentType.equals((Object)
-                       ContentInfo.NETSCAPE_CERT_SEQUENCE_OID)){
+        } else if (contentType.equals(ContentInfo.NETSCAPE_CERT_SEQUENCE_OID)){
             parseNetscapeCertChain(content);
         } else {
             throw new ParsingException("content type " + contentType +
--- a/jdk/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/pkcs/SignerInfo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -307,7 +307,7 @@
                        authenticatedAttributes.getAttributeValue(
                          PKCS9Attribute.CONTENT_TYPE_OID);
                 if (contentType == null ||
-                    !contentType.equals((Object)content.contentType))
+                    !contentType.equals(content.contentType))
                     return null;  // contentType does not match, bad SignerInfo
 
                 // now, check message digest
--- a/jdk/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/pkcs12/PKCS12KeyStore.java	Thu Jul 02 17:50:25 2015 -0700
@@ -789,7 +789,7 @@
                 }
             }
             if (params != null) {
-                if (algorithm.equals((Object)pbes2_OID)) {
+                if (algorithm.equals(pbes2_OID)) {
                     algParams = AlgorithmParameters.getInstance("PBES2");
                 } else {
                     algParams = AlgorithmParameters.getInstance("PBE");
@@ -926,7 +926,7 @@
     private static String mapPBEParamsToAlgorithm(ObjectIdentifier algorithm,
         AlgorithmParameters algParams) throws NoSuchAlgorithmException {
         // Check for PBES2 algorithms
-        if (algorithm.equals((Object)pbes2_OID) && algParams != null) {
+        if (algorithm.equals(pbes2_OID) && algParams != null) {
             return algParams.toString();
         }
         return algorithm.toString();
@@ -1937,7 +1937,7 @@
         ContentInfo authSafe = new ContentInfo(s);
         ObjectIdentifier contentType = authSafe.getContentType();
 
-        if (contentType.equals((Object)ContentInfo.DATA_OID)) {
+        if (contentType.equals(ContentInfo.DATA_OID)) {
            authSafeData = authSafe.getData();
         } else /* signed data */ {
            throw new IOException("public key protected PKCS12 not supported");
@@ -1965,14 +1965,14 @@
             safeContents = new ContentInfo(sci);
             contentType = safeContents.getContentType();
             safeContentsData = null;
-            if (contentType.equals((Object)ContentInfo.DATA_OID)) {
+            if (contentType.equals(ContentInfo.DATA_OID)) {
 
                 if (debug != null) {
                     debug.println("Loading PKCS#7 data content-type");
                 }
 
                 safeContentsData = safeContents.getData();
-            } else if (contentType.equals((Object)ContentInfo.ENCRYPTED_DATA_OID)) {
+            } else if (contentType.equals(ContentInfo.ENCRYPTED_DATA_OID)) {
                 if (password == null) {
 
                     if (debug != null) {
@@ -2178,12 +2178,12 @@
                                         + bagValue.tag);
             }
             bagValue = bagValue.data.getDerValue();
-            if (bagId.equals((Object)PKCS8ShroudedKeyBag_OID)) {
+            if (bagId.equals(PKCS8ShroudedKeyBag_OID)) {
                 PrivateKeyEntry kEntry = new PrivateKeyEntry();
                 kEntry.protectedPrivKey = bagValue.toByteArray();
                 bagItem = kEntry;
                 privateKeyCount++;
-            } else if (bagId.equals((Object)CertBag_OID)) {
+            } else if (bagId.equals(CertBag_OID)) {
                 DerInputStream cs = new DerInputStream(bagValue.toByteArray());
                 DerValue[] certValues = cs.getSequence(2);
                 ObjectIdentifier certId = certValues[0].getOID();
@@ -2198,7 +2198,7 @@
                         (new ByteArrayInputStream(certValue.getOctetString()));
                 bagItem = cert;
                 certificateCount++;
-            } else if (bagId.equals((Object)SecretBag_OID)) {
+            } else if (bagId.equals(SecretBag_OID)) {
                 DerInputStream ss = new DerInputStream(bagValue.toByteArray());
                 DerValue[] secretValues = ss.getSequence(2);
                 ObjectIdentifier secretId = secretValues[0].getOID();
@@ -2249,12 +2249,12 @@
                         throw new IOException("Attribute " + attrId +
                                 " should have a value " + e.getMessage());
                     }
-                    if (attrId.equals((Object)PKCS9FriendlyName_OID)) {
+                    if (attrId.equals(PKCS9FriendlyName_OID)) {
                         alias = valSet[0].getBMPString();
-                    } else if (attrId.equals((Object)PKCS9LocalKeyId_OID)) {
+                    } else if (attrId.equals(PKCS9LocalKeyId_OID)) {
                         keyId = valSet[0].getOctetString();
                     } else if
-                        (attrId.equals((Object)TrustedKeyUsage_OID)) {
+                        (attrId.equals(TrustedKeyUsage_OID)) {
                         trustedKeyUsage = new ObjectIdentifier[valSet.length];
                         for (int k = 0; k < valSet.length; k++) {
                             trustedKeyUsage[k] = valSet[k].getOID();
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/OCSP.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/OCSP.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -322,7 +322,7 @@
 
         List<AccessDescription> descriptions = aia.getAccessDescriptions();
         for (AccessDescription description : descriptions) {
-            if (description.getAccessMethod().equals((Object)
+            if (description.getAccessMethod().equals(
                 AccessDescription.Ad_OCSP_Id)) {
 
                 GeneralName generalName = description.getAccessLocation();
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/OCSPResponse.java	Thu Jul 02 17:50:25 2015 -0700
@@ -239,7 +239,7 @@
         // responseType
         derIn = tmp.data;
         ObjectIdentifier responseType = derIn.getOID();
-        if (responseType.equals((Object)OCSP_BASIC_RESPONSE_OID)) {
+        if (responseType.equals(OCSP_BASIC_RESPONSE_OID)) {
             if (debug != null) {
                 debug.println("OCSP response type: basic");
             }
@@ -338,8 +338,7 @@
                         debug.println("OCSP extension: " + ext);
                     }
                     // Only the NONCE extension is recognized
-                    if (ext.getExtensionId().equals((Object)
-                        OCSP.NONCE_EXTENSION_OID))
+                    if (ext.getExtensionId().equals(OCSP.NONCE_EXTENSION_OID))
                     {
                         nonce = ext.getExtensionValue();
                     } else if (ext.isCritical())  {
--- a/jdk/src/java.base/share/classes/sun/security/provider/certpath/URICertStore.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/provider/certpath/URICertStore.java	Thu Jul 02 17:50:25 2015 -0700
@@ -202,7 +202,7 @@
      * object of a certificate's Authority Information Access Extension.
      */
     static CertStore getInstance(AccessDescription ad) {
-        if (!ad.getAccessMethod().equals((Object)
+        if (!ad.getAccessMethod().equals(
                 AccessDescription.Ad_CAISSUERS_Id)) {
             return null;
         }
--- a/jdk/src/java.base/share/classes/sun/security/rsa/RSASignature.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/rsa/RSASignature.java	Thu Jul 02 17:50:25 2015 -0700
@@ -232,7 +232,7 @@
             throw new IOException("SEQUENCE length error");
         }
         AlgorithmId algId = AlgorithmId.parse(values[0]);
-        if (algId.getOID().equals((Object)oid) == false) {
+        if (algId.getOID().equals(oid) == false) {
             throw new IOException("ObjectIdentifier mismatch: "
                 + algId.getOID());
         }
--- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1280,7 +1280,7 @@
         Iterator<PKCS10Attribute> attrs = req.getAttributes().getAttributes().iterator();
         while (attrs.hasNext()) {
             PKCS10Attribute attr = attrs.next();
-            if (attr.getAttributeId().equals((Object)PKCS9Attribute.EXTENSION_REQUEST_OID)) {
+            if (attr.getAttributeId().equals(PKCS9Attribute.EXTENSION_REQUEST_OID)) {
                 reqex = (CertificateExtensions)attr.getAttributeValue();
             }
         }
@@ -2338,7 +2338,7 @@
                 req.getSubjectName(), pkey.getFormat(), pkey.getAlgorithm());
         for (PKCS10Attribute attr: req.getAttributes().getAttributes()) {
             ObjectIdentifier oid = attr.getAttributeId();
-            if (oid.equals((Object)PKCS9Attribute.EXTENSION_REQUEST_OID)) {
+            if (oid.equals(PKCS9Attribute.EXTENSION_REQUEST_OID)) {
                 CertificateExtensions exts = (CertificateExtensions)attr.getAttributeValue();
                 if (exts != null) {
                     printExtensions(rb.getString("Extension.Request."), exts, out);
--- a/jdk/src/java.base/share/classes/sun/security/util/ObjectIdentifier.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/util/ObjectIdentifier.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -319,14 +319,6 @@
     }
 
     /**
-     * @deprecated Use equals((Object)oid)
-     */
-    @Deprecated
-    public boolean equals(ObjectIdentifier other) {
-        return equals((Object)other);
-    }
-
-    /**
      * Compares this identifier with another, for equality.
      *
      * @return true iff the names are identical.
--- a/jdk/src/java.base/share/classes/sun/security/x509/AVA.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/AVA.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -364,8 +364,8 @@
 
         // encode as PrintableString unless value contains
         // non-PrintableString chars
-        if (this.oid.equals((Object)PKCS9Attribute.EMAIL_ADDRESS_OID) ||
-            (this.oid.equals((Object)X500Name.DOMAIN_COMPONENT_OID) &&
+        if (this.oid.equals(PKCS9Attribute.EMAIL_ADDRESS_OID) ||
+            (this.oid.equals(X500Name.DOMAIN_COMPONENT_OID) &&
                 PRESERVE_OLD_DC_ENCODING == false)) {
             // EmailAddress and DomainComponent must be IA5String
             return new DerValue(DerValue.tag_IA5String,
@@ -495,8 +495,8 @@
 
         // encode as PrintableString unless value contains
         // non-PrintableString chars
-        if (this.oid.equals((Object)PKCS9Attribute.EMAIL_ADDRESS_OID) ||
-            (this.oid.equals((Object)X500Name.DOMAIN_COMPONENT_OID) &&
+        if (this.oid.equals(PKCS9Attribute.EMAIL_ADDRESS_OID) ||
+            (this.oid.equals(X500Name.DOMAIN_COMPONENT_OID) &&
                 PRESERVE_OLD_DC_ENCODING == false)) {
             // EmailAddress and DomainComponent must be IA5String
             return new DerValue(DerValue.tag_IA5String, temp.toString());
--- a/jdk/src/java.base/share/classes/sun/security/x509/AccessDescription.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/AccessDescription.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, 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
@@ -95,19 +95,19 @@
         if (this == that) {
             return true;
         }
-        return (accessMethod.equals((Object)that.getAccessMethod()) &&
+        return (accessMethod.equals(that.getAccessMethod()) &&
             accessLocation.equals(that.getAccessLocation()));
     }
 
     public String toString() {
         String method = null;
-        if (accessMethod.equals((Object)Ad_CAISSUERS_Id)) {
+        if (accessMethod.equals(Ad_CAISSUERS_Id)) {
             method = "caIssuers";
-        } else if (accessMethod.equals((Object)Ad_CAREPOSITORY_Id)) {
+        } else if (accessMethod.equals(Ad_CAREPOSITORY_Id)) {
             method = "caRepository";
-        } else if (accessMethod.equals((Object)Ad_TIMESTAMPING_Id)) {
+        } else if (accessMethod.equals(Ad_TIMESTAMPING_Id)) {
             method = "timeStamping";
-        } else if (accessMethod.equals((Object)Ad_OCSP_Id)) {
+        } else if (accessMethod.equals(Ad_OCSP_Id)) {
             method = "ocsp";
         } else {
             method = accessMethod.toString();
--- a/jdk/src/java.base/share/classes/sun/security/x509/CertificateExtensions.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/CertificateExtensions.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -241,7 +241,7 @@
 
     public String getNameByOid(ObjectIdentifier oid) throws IOException {
         for (String name: map.keySet()) {
-            if (map.get(name).getExtensionId().equals((Object)oid)) {
+            if (map.get(name).getExtensionId().equals(oid)) {
                 return name;
             }
         }
--- a/jdk/src/java.base/share/classes/sun/security/x509/CertificatePolicyId.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/CertificatePolicyId.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -93,8 +93,7 @@
      */
     public boolean equals(Object other) {
         if (other instanceof CertificatePolicyId)
-            return id.equals((Object)
-                    ((CertificatePolicyId) other).getIdentifier());
+            return id.equals(((CertificatePolicyId) other).getIdentifier());
         else
             return false;
     }
--- a/jdk/src/java.base/share/classes/sun/security/x509/Extension.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/Extension.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -264,7 +264,7 @@
         Extension otherExt = (Extension) other;
         if (critical != otherExt.critical)
             return false;
-        if (!extensionId.equals((Object)otherExt.extensionId))
+        if (!extensionId.equals(otherExt.extensionId))
             return false;
         return Arrays.equals(extensionValue, otherExt.extensionValue);
     }
--- a/jdk/src/java.base/share/classes/sun/security/x509/NameConstraintsExtension.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/NameConstraintsExtension.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -579,7 +579,7 @@
     public boolean verifyRFC822SpecialCase(X500Name subject) throws IOException {
         for (AVA ava : subject.allAvas()) {
             ObjectIdentifier attrOID = ava.getObjectIdentifier();
-            if (attrOID.equals((Object)PKCS9Attribute.EMAIL_ADDRESS_OID)) {
+            if (attrOID.equals(PKCS9Attribute.EMAIL_ADDRESS_OID)) {
                 String attrValue = ava.getValueString();
                 if (attrValue != null) {
                     RFC822Name emailName;
--- a/jdk/src/java.base/share/classes/sun/security/x509/OIDName.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/OIDName.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -120,7 +120,7 @@
 
         OIDName other = (OIDName)obj;
 
-        return oid.equals((Object)other.oid);
+        return oid.equals(other.oid);
     }
 
     /**
--- a/jdk/src/java.base/share/classes/sun/security/x509/OtherName.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/OtherName.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -176,7 +176,7 @@
             return false;
         }
         OtherName otherOther = (OtherName)other;
-        if (!(otherOther.oid.equals((Object)oid))) {
+        if (!(otherOther.oid.equals(oid))) {
             return false;
         }
         GeneralNameInterface otherGNI = null;
--- a/jdk/src/java.base/share/classes/sun/security/x509/RDN.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/RDN.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -321,7 +321,7 @@
      */
     DerValue findAttribute(ObjectIdentifier oid) {
         for (int i = 0; i < assertion.length; i++) {
-            if (assertion[i].oid.equals((Object)oid)) {
+            if (assertion[i].oid.equals(oid)) {
                 return assertion[i].value;
             }
         }
--- a/jdk/src/java.base/share/classes/sun/security/x509/X509CRLEntryImpl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/X509CRLEntryImpl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -414,7 +414,7 @@
                                                  e.hasMoreElements();) {
                     ex = e.nextElement();
                     inCertOID = ex.getExtensionId();
-                    if (inCertOID.equals((Object)findOID)) {
+                    if (inCertOID.equals(findOID)) {
                         crlExt = ex;
                         break;
                     }
--- a/jdk/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/X509CRLImpl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -1039,7 +1039,7 @@
                                                  e.hasMoreElements();) {
                     ex = e.nextElement();
                     inCertOID = ex.getExtensionId();
-                    if (inCertOID.equals((Object)findOID)) {
+                    if (inCertOID.equals(findOID)) {
                         crlExt = ex;
                         break;
                     }
--- a/jdk/src/java.base/share/classes/sun/security/x509/X509CertImpl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/x509/X509CertImpl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -1339,7 +1339,7 @@
                     return ex;
                 }
                 for (Extension ex2: extensions.getAllExtensions()) {
-                    if (ex2.getExtensionId().equals((Object)oid)) {
+                    if (ex2.getExtensionId().equals(oid)) {
                         //XXXX May want to consider cloning this
                         return ex2;
                     }
@@ -1395,7 +1395,7 @@
 
                 for (Extension ex : exts.getAllExtensions()) {
                     ObjectIdentifier inCertOID = ex.getExtensionId();
-                    if (inCertOID.equals((Object)findOID)) {
+                    if (inCertOID.equals(findOID)) {
                         certExt = ex;
                         break;
                     }
--- a/jdk/src/java.base/share/classes/sun/text/normalizer/UnicodeSet.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/text/normalizer/UnicodeSet.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1850,7 +1850,7 @@
             syntaxError(chars, "Invalid property pattern");
         }
         chars.jumpahead(pos.getIndex());
-        rebuiltPat.append(patStr.substring(0, pos.getIndex()));
+        rebuiltPat.append(patStr, 0, pos.getIndex());
     }
 
     //----------------------------------------------------------------
--- a/jdk/src/java.base/share/classes/sun/util/BuddhistCalendar.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/util/BuddhistCalendar.java	Thu Jul 02 17:50:25 2015 -0700
@@ -242,12 +242,13 @@
             return s;
         }
         p += yearField.length();
-        StringBuilder sb = new StringBuilder(s.substring(0, p));
+        StringBuilder sb = new StringBuilder(s.length() + 10);
+        sb.append(s, 0, p);
         // Skip the year number
         while (Character.isDigit(s.charAt(p++)))
             ;
         int year = internalGet(YEAR) + BUDDHIST_YEAR_OFFSET;
-        sb.append(year).append(s.substring(p - 1));
+        sb.append(year).append(s, p - 1, s.length());
         return sb.toString();
     }
 
--- a/jdk/src/java.base/share/native/libjli/java.c	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/share/native/libjli/java.c	Thu Jul 02 17:50:25 2015 -0700
@@ -145,7 +145,7 @@
 static int knownVMsCount = 0;
 static int knownVMsLimit = 0;
 
-static void GrowKnownVMs();
+static void GrowKnownVMs(int minimum);
 static int  KnownVMIndex(const char* name);
 static void FreeKnownVMs();
 static jboolean IsWildCardEnabled();
--- a/jdk/src/java.base/unix/classes/java/io/UnixFileSystem.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/unix/classes/java/io/UnixFileSystem.java	Thu Jul 02 17:50:25 2015 -0700
@@ -65,8 +65,8 @@
         int n = len;
         while ((n > 0) && (pathname.charAt(n - 1) == '/')) n--;
         if (n == 0) return "/";
-        StringBuffer sb = new StringBuffer(pathname.length());
-        if (off > 0) sb.append(pathname.substring(0, off));
+        StringBuilder sb = new StringBuilder(pathname.length());
+        if (off > 0) sb.append(pathname, 0, off);
         char prevChar = 0;
         for (int i = off; i < n; i++) {
             char c = pathname.charAt(i);
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/MimeTypesFileTypeDetector.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/MimeTypesFileTypeDetector.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
@@ -83,18 +83,6 @@
         return mimeType;
     }
 
-    // Get the extension of a file name.
-    private static String getExtension(String name) {
-        String ext = "";
-        if (name != null && !name.isEmpty()) {
-            int dot = name.indexOf('.');
-            if ((dot >= 0) && (dot < name.length() - 1)) {
-                ext = name.substring(dot + 1);
-            }
-        }
-        return ext;
-    }
-
     /**
      * Parse the mime types file, and store the type-extension mappings into
      * mimeTypeMap. The mime types file is not loaded until the first probe
--- a/jdk/src/java.base/windows/classes/java/io/WinNTFileSystem.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.base/windows/classes/java/io/WinNTFileSystem.java	Thu Jul 02 17:50:25 2015 -0700
@@ -104,7 +104,7 @@
         if (off < 3) off = 0;   /* Avoid fencepost cases with UNC pathnames */
         int src;
         char slash = this.slash;
-        StringBuffer sb = new StringBuffer(len);
+        StringBuilder sb = new StringBuilder(len);
 
         if (off == 0) {
             /* Complete normalization, including prefix */
@@ -112,7 +112,7 @@
         } else {
             /* Partial normalization */
             src = off;
-            sb.append(path.substring(0, off));
+            sb.append(path, 0, off);
         }
 
         /* Remove redundant slashes from the remainder of the path, forcing all
@@ -156,8 +156,7 @@
             }
         }
 
-        String rv = sb.toString();
-        return rv;
+        return sb.toString();
     }
 
     /* A normal Win32 pathname contains no duplicate slashes, except possibly
@@ -172,7 +171,7 @@
                 else directory-relative (has form "z:foo")
            3  absolute local pathname (begins with "z:\\")
      */
-    private int normalizePrefix(String path, int len, StringBuffer sb) {
+    private int normalizePrefix(String path, int len, StringBuilder sb) {
         int src = 0;
         while ((src < len) && isSlash(path.charAt(src))) src++;
         char c;
--- a/jdk/src/java.desktop/macosx/classes/apple/laf/JRSUIControl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/apple/laf/JRSUIControl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -275,7 +275,7 @@
     }
 
 
-    Hit getHitForPoint(final double x, final double y, final double w, final double h, final double hitX, final double hitY) {
+    Hit getHitForPoint(final int x, final int y, final int w, final int h, final int hitX, final int hitY) {
         sync();
         // reflect hitY about the midline of the control before sending to native
         final Hit hit = JRSUIConstants.getHit(getNativeHitPart(cfDictionaryPtr, priorEncodedProperties, currentEncodedProperties, x, y, w, h, hitX, 2 * y + h - hitY));
@@ -283,7 +283,7 @@
         return hit;
     }
 
-    void getPartBounds(final double[] rect, final double x, final double y, final double w, final double h, final int part) {
+    void getPartBounds(final double[] rect, final int x, final int y, final int w, final int h, final int part) {
         if (rect == null) throw new NullPointerException("Cannot load null rect");
         if (rect.length != 4) throw new IllegalArgumentException("Rect must have four elements");
 
@@ -292,7 +292,7 @@
         priorEncodedProperties = currentEncodedProperties;
     }
 
-    double getScrollBarOffsetChange(final double x, final double y, final double w, final double h, final int offset, final int visibleAmount, final int extent) {
+    double getScrollBarOffsetChange(final int x, final int y, final int w, final int h, final int offset, final int visibleAmount, final int extent) {
         sync();
         final double offsetChange = getNativeScrollBarOffsetChange(cfDictionaryPtr, priorEncodedProperties, currentEncodedProperties, x, y, w, h, offset, visibleAmount, extent);
         priorEncodedProperties = currentEncodedProperties;
--- a/jdk/src/java.desktop/macosx/classes/apple/laf/JRSUIUtils.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/apple/laf/JRSUIUtils.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, 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
@@ -25,14 +25,15 @@
 
 package apple.laf;
 
-import com.apple.laf.AquaImageFactory.NineSliceMetrics;
+import java.security.AccessController;
 
-import apple.laf.JRSUIConstants.*;
+import apple.laf.JRSUIConstants.Hit;
+import apple.laf.JRSUIConstants.ScrollBarPart;
+import com.apple.laf.AquaImageFactory.NineSliceMetrics;
 import sun.security.action.GetPropertyAction;
 
-import java.security.AccessController;
+public final class JRSUIUtils {
 
-public class JRSUIUtils {
     static boolean isLeopard = isMacOSXLeopard();
     static boolean isSnowLeopardOrBelow = isMacOSXSnowLeopardOrBelow();
 
@@ -48,7 +49,9 @@
         return currentMacOSXVersionMatchesGivenVersionRange(version, true, false, false);
     }
 
-    static boolean currentMacOSXVersionMatchesGivenVersionRange(final int version, final boolean inclusive, final boolean matchBelow, final boolean matchAbove) {
+    static boolean currentMacOSXVersionMatchesGivenVersionRange(
+            final int version, final boolean inclusive,
+            final boolean matchBelow, final boolean matchAbove) {
         // split the "10.x.y" version number
         String osVersion = AccessController.doPrivileged(new GetPropertyAction("os.version"));
         String[] fragments = osVersion.split("\\.");
@@ -99,12 +102,22 @@
             return shouldUseScrollToClick();
         }
 
-        public static void getPartBounds(final double[] rect, final JRSUIControl control, final double x, final double y, final double w, final double h, final ScrollBarPart part) {
+        public static void getPartBounds(final double[] rect,
+                                         final JRSUIControl control,
+                                         final int x, final int y, final int w,
+                                         final int h,
+                                         final ScrollBarPart part) {
             control.getPartBounds(rect, x, y, w, h, part.ordinal);
         }
 
-        public static double getNativeOffsetChange(final JRSUIControl control, final double x, final double y, final double w, final double h, final int offset, final int visibleAmount, final int extent) {
-            return control.getScrollBarOffsetChange(x, y, w, h, offset, visibleAmount, extent);
+        public static double getNativeOffsetChange(final JRSUIControl control,
+                                                   final int x, final int y,
+                                                   final int w, final int h,
+                                                   final int offset,
+                                                   final int visibleAmount,
+                                                   final int extent) {
+            return control.getScrollBarOffsetChange(x, y, w, h, offset,
+                                                    visibleAmount, extent);
         }
     }
 
@@ -115,7 +128,10 @@
     }
 
     public static class HitDetection {
-        public static Hit getHitForPoint(final JRSUIControl control, final double x, final double y, final double w, final double h, final double hitX, final double hitY) {
+        public static Hit getHitForPoint(final JRSUIControl control,
+                                         final int x, final int y, final int w,
+                                         final int h, final int hitX,
+                                         final int hitY) {
             return control.getHitForPoint(x, y, w, h, hitX, hitY);
         }
     }
--- a/jdk/src/java.desktop/share/classes/java/awt/Cursor.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Cursor.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,8 +26,8 @@
 
 import java.beans.ConstructorProperties;
 import java.io.InputStream;
-import java.net.URL;
 import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.security.PrivilegedExceptionAction;
 import java.util.Hashtable;
 import java.util.Properties;
@@ -261,7 +261,7 @@
      * @throws IllegalArgumentException if the specified cursor type is
      *         invalid
      */
-    static public Cursor getPredefinedCursor(int type) {
+    public static Cursor getPredefinedCursor(int type) {
         if (type < Cursor.DEFAULT_CURSOR || type > Cursor.MOVE_CURSOR) {
             throw new IllegalArgumentException("illegal cursor type");
         }
@@ -286,7 +286,7 @@
      * <code>GraphicsEnvironment.isHeadless</code> returns true
      * @exception AWTException in case of erroneous retrieving of the cursor
      */
-    static public Cursor getSystemCustomCursor(final String name)
+    public static Cursor getSystemCustomCursor(final String name)
         throws AWTException, HeadlessException {
         GraphicsEnvironment.checkHeadless();
         Cursor cursor = systemCustomCursors.get(name);
@@ -330,18 +330,15 @@
             } catch (NumberFormatException nfe) {
                 throw new AWTException("failed to parse hotspot property for cursor: " + name);
             }
-
-            try {
-                final Toolkit toolkit = Toolkit.getDefaultToolkit();
-                final String file = RESOURCE_PREFIX + fileName;
-
-                cursor = AccessController.doPrivileged(
-                        (PrivilegedExceptionAction<Cursor>) () -> {
-                            URL url = Cursor.class.getResource(file);
-                            Image image = toolkit.getImage(url);
-                            return toolkit.createCustomCursor(image, hotPoint,
-                                                              localized);
-                        });
+            final Toolkit toolkit = Toolkit.getDefaultToolkit();
+            final String file = RESOURCE_PREFIX + fileName;
+            final InputStream in = AccessController.doPrivileged(
+                    (PrivilegedAction<InputStream>) () -> {
+                        return Cursor.class.getResourceAsStream(file);
+                    });
+            try (in) {
+                Image image = toolkit.createImage(in.readAllBytes());
+                cursor = toolkit.createCustomCursor(image, hotPoint, localized);
             } catch (Exception e) {
                 throw new AWTException(
                     "Exception: " + e.getClass() + " " + e.getMessage() +
@@ -365,7 +362,7 @@
      *
      * @return the default cursor
      */
-    static public Cursor getDefaultCursor() {
+    public static Cursor getDefaultCursor() {
         return getPredefinedCursor(Cursor.DEFAULT_CURSOR);
     }
 
--- a/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java	Thu Jul 02 17:50:25 2015 -0700
@@ -58,6 +58,14 @@
 import sun.awt.SunToolkit;
 import sun.util.CoreResourceBundleControl;
 
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.Arrays;
+import java.util.ServiceLoader;
+import java.util.Set;
+import java.util.stream.Collectors;
+import javax.accessibility.AccessibilityProvider;
+
 /**
  * This class is the abstract superclass of all actual
  * implementations of the Abstract Window Toolkit. Subclasses of
@@ -420,7 +428,7 @@
                     }
                 }
 
-                // Get the names of any assistive technolgies to load.  First
+                // Get the names of any assistive technologies to load.  First
                 // check the system property and then check the properties
                 // file.
                 String classNames = System.getProperty("javax.accessibility.assistive_technologies");
@@ -436,85 +444,125 @@
     }
 
     /**
-     * Loads additional classes into the VM, using the property
-     * 'assistive_technologies' specified in the Sun reference
-     * implementation by a line in the 'accessibility.properties'
-     * file.  The form is "assistive_technologies=..." where
-     * the "..." is a comma-separated list of assistive technology
-     * classes to load.  Each class is loaded in the order given
-     * and a single instance of each is created using
-     * Class.forName(class).newInstance().  All errors are handled
-     * via an AWTError exception.
+     * Rethrow the AWTError but include the cause.
+     *
+     * @param s the error message
+     * @param e the original exception
+     * @throw the new AWTError including the cause (the original exception)
+     */
+    private static void newAWTError(Throwable e, String s) {
+        AWTError newAWTError = new AWTError(s);
+        newAWTError.initCause(e);
+        throw newAWTError;
+    }
+
+    /**
+     * When a service provider for Assistive Technology is not found look for a
+     * supporting class on the class path and instantiate it.
      *
-     * <p>The assumption is made that assistive technology classes are supplied
-     * as part of INSTALLED (as opposed to: BUNDLED) extensions or specified
-     * on the class path
-     * (and therefore can be loaded using the class loader returned by
-     * a call to <code>ClassLoader.getSystemClassLoader</code>, whose
-     * delegation parent is the extension class loader for installed
-     * extensions).
+     * @param atName the name of the class to be loaded
+     */
+    private static void fallbackToLoadClassForAT(String atName) {
+        try {
+            Class.forName(atName, false, ClassLoader.getSystemClassLoader()).newInstance();
+        } catch (ClassNotFoundException e) {
+            newAWTError(e, "Assistive Technology not found: " + atName);
+        } catch (InstantiationException e) {
+            newAWTError(e, "Could not instantiate Assistive Technology: " + atName);
+        } catch (IllegalAccessException e) {
+            newAWTError(e, "Could not access Assistive Technology: " + atName);
+        } catch (Exception e) {
+            newAWTError(e, "Error trying to install Assistive Technology: " + atName);
+        }
+    }
+
+    /**
+     * Loads accessibility support using the property assistive_technologies.
+     * The form is assistive_technologies= followed by a comma-separated list of
+     * assistive technology providers to load.  The order in which providers are
+     * loaded is determined by the order in which the ServiceLoader discovers
+     * implementations of the AccessibilityProvider interface, not by the order
+     * of provider names in the property list.  When a provider is found its
+     * accessibility implementation will be started by calling the provider's
+     * activate method.  All errors are handled via an AWTError exception.
      */
     private static void loadAssistiveTechnologies() {
         // Load any assistive technologies
         if (atNames != null) {
             ClassLoader cl = ClassLoader.getSystemClassLoader();
-            StringTokenizer parser = new StringTokenizer(atNames," ,");
-            String atName;
-            while (parser.hasMoreTokens()) {
-                atName = parser.nextToken();
+            Set<String> names = Arrays.stream(atNames.split(","))
+                                      .map(String::trim)
+                                      .collect(Collectors.toSet());
+            final Map<String, AccessibilityProvider> providers = new HashMap<>();
+            AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
                 try {
-                    Class<?> clazz;
-                    if (cl != null) {
-                        clazz = cl.loadClass(atName);
-                    } else {
-                        clazz = Class.forName(atName);
+                    for (AccessibilityProvider p : ServiceLoader.load(AccessibilityProvider.class, cl)) {
+                        String name = p.getName();
+                        if (names.contains(name) && !providers.containsKey(name)) {
+                            p.activate();
+                            providers.put(name, p);
+                        }
                     }
-                    clazz.newInstance();
-                } catch (ClassNotFoundException e) {
-                    throw new AWTError("Assistive Technology not found: "
-                            + atName);
-                } catch (InstantiationException e) {
-                    throw new AWTError("Could not instantiate Assistive"
-                            + " Technology: " + atName);
-                } catch (IllegalAccessException e) {
-                    throw new AWTError("Could not access Assistive"
-                            + " Technology: " + atName);
-                } catch (Exception e) {
-                    throw new AWTError("Error trying to install Assistive"
-                            + " Technology: " + atName + " " + e);
+                } catch (java.util.ServiceConfigurationError | Exception e) {
+                    newAWTError(e, "Could not load or activate service provider");
                 }
-            }
+                return null;
+            });
+            names.stream()
+                 .filter(n -> !providers.containsKey(n))
+                 .forEach(Toolkit::fallbackToLoadClassForAT);
         }
     }
 
     /**
      * Gets the default toolkit.
      * <p>
-     * If a system property named <code>"java.awt.headless"</code> is set
-     * to <code>true</code> then the headless implementation
-     * of <code>Toolkit</code> is used.
+     * If a system property named {@code "java.awt.headless"} is set
+     * to {@code true} then the headless implementation
+     * of {@code Toolkit} is used.
      * <p>
-     * If there is no <code>"java.awt.headless"</code> or it is set to
-     * <code>false</code> and there is a system property named
-     * <code>"awt.toolkit"</code>,
+     * If there is no {@code "java.awt.headless"} or it is set to
+     * {@code false} and there is a system property named
+     * {@code "awt.toolkit"},
      * that property is treated as the name of a class that is a subclass
-     * of <code>Toolkit</code>;
+     * of {@code Toolkit};
      * otherwise the default platform-specific implementation of
-     * <code>Toolkit</code> is used.
+     * {@code Toolkit} is used.
+     * <p>
+     * If this Toolkit is not a headless implementation and if they exist, service
+     * providers of {@link javax.accessibility.AccessibilityProvider} will be loaded
+     * if specified by the system property
+     * {@code javax.accessibility.assistive_technologies}.
      * <p>
-     * Also loads additional classes into the VM, using the property
-     * 'assistive_technologies' specified in the Sun reference
-     * implementation by a line in the 'accessibility.properties'
-     * file.  The form is "assistive_technologies=..." where
-     * the "..." is a comma-separated list of assistive technology
-     * classes to load.  Each class is loaded in the order given
-     * and a single instance of each is created using
-     * Class.forName(class).newInstance().  This is done just after
-     * the AWT toolkit is created.  All errors are handled via an
-     * AWTError exception.
-     * @return    the default toolkit.
+     * An example of setting this property is to invoke Java with
+     * {@code -Djavax.accessibility.assistive_technologies=MyServiceProvider}.
+     * In addition to MyServiceProvider other service providers can be specified
+     * using a comma separated list.  Service providers are loaded after the AWT
+     * toolkit is created. All errors are handled via an AWTError exception.
+     * <p>
+     * The names specified in the assistive_technologies property are used to query
+     * each service provider implementation.  If the requested name matches the
+     * {@linkplain AccessibilityProvider#getName name} of the service provider, the
+     * {@link AccessibilityProvider#activate} method will be invoked to activate the
+     * matching service provider.
+     *
+     * @implSpec
+     * If assistive technology service providers are not specified with a system
+     * property this implementation will look in a properties file located as follows:
+     * <ul>
+     * <li> {@code ${user.home}/.accessibility.properties}
+     * <li> {@code ${java.home}/conf/accessibility.properties}
+     * </ul>
+     * Only the first of these files to be located will be consulted.  The requested
+     * service providers are specified by setting the {@code assistive_technologies=}
+     * property.  A single provider or a comma separated list of providers can be
+     * specified.
+     *
+     * @return     the default toolkit.
      * @exception  AWTError  if a toolkit could not be found, or
      *                 if one could not be accessed or instantiated.
+     * @see java.util.ServiceLoader
+     * @see javax.accessibility.AccessibilityProvider
      */
     public static synchronized Toolkit getDefaultToolkit() {
         if (toolkit == null) {
@@ -550,7 +598,9 @@
                     return null;
                 }
             });
-            loadAssistiveTechnologies();
+            if (!GraphicsEnvironment.isHeadless()) {
+                loadAssistiveTechnologies();
+            }
         }
         return toolkit;
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.desktop/share/classes/javax/accessibility/AccessibilityProvider.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package javax.accessibility;
+
+/**
+ * Service Provider Interface (SPI) for Assistive Technology.
+ * <p>
+ * This service provider class provides mappings from the platform
+ * specific accessibility APIs to the Java Accessibility API.
+ * <p>
+ * Each service provider implementation is named and can be activated via the
+ * {@link #activate} method. Service providers can be loaded when the default
+ * {@link java.awt.Toolkit toolkit} is initialized.
+ *
+ * @apiNote There will typically be one provider per platform, such as Windows
+ * or Linux, to support accessibility for screen readers and magnifiers.  However,
+ * more than one service provider can be activated.  For example, a test tool
+ * which provides visual results obtained by interrogating the Java Accessibility
+ * API can be activated along with the activation of the support for screen readers
+ * and screen magnifiers.
+ *
+ * @see java.awt.Toolkit#getDefaultToolkit
+ * @see java.util.ServiceLoader
+ * @since 1.9
+ */
+public abstract class AccessibilityProvider {
+
+    /**
+     * Initializes a new accessibility provider.
+     *
+     * @throws  SecurityException
+     *          If a security manager has been installed and it denies
+     *          {@link RuntimePermission} {@code "accessibilityProvider"}
+     */
+    protected AccessibilityProvider() {
+        // Use a permission check when calling a private constructor to check that
+        // the proper security permission has been granted before the Object superclass
+        // is called.  If an exception is thrown before the Object superclass is
+        // constructed a finalizer in a subclass of this class will not be run.
+        // This protects against a finalizer vulnerability.
+        this(checkPermission());
+    }
+
+    private AccessibilityProvider(Void ignore) { }
+
+    /**
+     * If this code is running with a security manager and if the permission
+     * "accessibilityProvider" has not been granted SecurityException will be thrown.
+     *
+     */
+    private static Void checkPermission() {
+        SecurityManager sm = System.getSecurityManager();
+        if (sm != null)
+            sm.checkPermission(new RuntimePermission("accessibilityProvider"));
+        return null;
+    }
+
+    /**
+     * Returns the name of this service provider.  This name is used to locate a
+     * requested service provider.
+     *
+     * @return the name of this service provider
+     */
+    public abstract String getName();
+
+    /**
+     * Activates the support provided by this service provider.
+     */
+    public abstract void activate();
+
+}
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalTabbedPaneUI.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -896,11 +896,12 @@
 
         // Paint the background for the tab area
         if ( tabPane.isOpaque() ) {
-            if (!c.isBackgroundSet() && (tabAreaBackground != null)) {
+            Color background = c.getBackground();
+            if (background instanceof UIResource && tabAreaBackground != null) {
                 g.setColor(tabAreaBackground);
             }
             else {
-                g.setColor( c.getBackground() );
+                g.setColor(background);
             }
             switch ( tabPlacement ) {
             case LEFT:
--- a/jdk/src/java.desktop/share/classes/sun/awt/SunToolkit.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/SunToolkit.java	Thu Jul 02 17:50:25 2015 -0700
@@ -291,7 +291,7 @@
     // Maps from non-Component/MenuComponent to AppContext.
     // WeakHashMap<Component,AppContext>
     private static final Map<Object, AppContext> appContextMap =
-        Collections.synchronizedMap(new WeakHashMap<Object, AppContext>());
+        Collections.synchronizedMap(new WeakIdentityHashMap<Object, AppContext>());
 
     /**
      * Sets the appContext field of target. If target is not a Component or
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.desktop/share/classes/sun/awt/WeakIdentityHashMap.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,195 @@
+package sun.awt;
+
+import java.lang.ref.Reference;
+import java.lang.ref.ReferenceQueue;
+import java.lang.ref.WeakReference;
+import java.util.*;
+
+// A weak key reference hash map that uses System.identityHashCode() and "=="
+// instead of hashCode() and equals(Object)
+class WeakIdentityHashMap<K, V> implements Map<K, V> {
+    private final Map<WeakKey<K>, V> map;
+    private final transient ReferenceQueue<K> queue = new ReferenceQueue<K>();
+
+    /**
+     * Constructs a new, empty identity hash map with a default initial
+     * size (16).
+     */
+    public WeakIdentityHashMap() {
+        map = new HashMap<>(16);
+    }
+
+    /**
+     * Constructs a new, empty identity map with the specified initial size.
+     */
+    public WeakIdentityHashMap(int initialSize) {
+        map = new HashMap<>(initialSize);
+    }
+
+    private Map<WeakKey<K>, V> getMap() {
+        for(Reference<? extends K> ref; (ref = this.queue.poll()) != null;) {
+            map.remove(ref);
+        }
+        return map;
+    }
+
+    @Override
+    public int size() {
+        return getMap().size();
+    }
+
+    @Override
+    public boolean isEmpty() {
+        return getMap().isEmpty();
+    }
+
+    @Override
+    public boolean containsKey(Object key) {
+        return getMap().containsKey(new WeakKey<>(key, null));
+    }
+
+    @Override
+    public boolean containsValue(Object value) {
+        return getMap().containsValue(value);
+    }
+
+    @Override
+    public V get(Object key) {
+        return getMap().get(new WeakKey<>(key, null));
+    }
+
+    @Override
+    public V put(K key, V value) {
+        return getMap().put(new WeakKey<K>(key, queue), value);
+    }
+
+    @Override
+    public V remove(Object key) {
+        return getMap().remove(new WeakKey<>(key, null));
+    }
+
+    @Override
+    public void putAll(Map<? extends K, ? extends V> m) {
+        for (Entry<? extends K, ? extends V> entry : m.entrySet()) {
+            put(entry.getKey(), entry.getValue());
+        }
+    }
+
+    @Override
+    public void clear() {
+        getMap().clear();
+    }
+
+    @Override
+    public Set<K> keySet() {
+        return new AbstractSet<K>() {
+            @Override
+            public Iterator<K> iterator() {
+                return new Iterator<K>() {
+                    private K next;
+                    Iterator<WeakKey<K>> iterator = getMap().keySet().iterator();
+
+                    @Override
+                    public boolean hasNext() {
+                        while (iterator.hasNext()) {
+                            if ((next = iterator.next().get()) != null) {
+                                return true;
+                            }
+                        }
+                        return false;
+                    }
+
+                    @Override
+                    public K next() {
+                        if(next == null && !hasNext()) {
+                            throw new NoSuchElementException();
+                        }
+                        K ret = next;
+                        next = null;
+                        return ret;
+                    }
+                };
+            }
+
+            @Override
+            public int size() {
+                return getMap().keySet().size();
+            }
+        };
+    }
+
+    @Override
+    public Collection<V> values() {
+        return getMap().values();
+    }
+
+    @Override
+    public Set<Entry<K, V>> entrySet() {
+        return new AbstractSet<Entry<K, V>>() {
+            @Override
+            public Iterator<Entry<K, V>> iterator() {
+                final Iterator<Entry<WeakKey<K>, V>> iterator = getMap().entrySet().iterator();
+                return new Iterator<Entry<K, V>>() {
+                    @Override
+                    public boolean hasNext() {
+                        return iterator.hasNext();
+                    }
+
+                    @Override
+                    public Entry<K, V> next() {
+                        return new Entry<K, V>() {
+                            Entry<WeakKey<K>, V> entry = iterator.next();
+
+                            @Override
+                            public K getKey() {
+                                return entry.getKey().get();
+                            }
+
+                            @Override
+                            public V getValue() {
+                                return entry.getValue();
+                            }
+
+                            @Override
+                            public V setValue(V value) {
+                                return null;
+                            }
+                        };
+                    }
+                };
+            }
+
+            @Override
+            public int size() {
+                return getMap().entrySet().size();
+            }
+        };
+    }
+
+    private static class WeakKey<K> extends WeakReference<K>  {
+        private final int hash;
+
+        WeakKey(K key, ReferenceQueue <K> q) {
+            super(key, q);
+            hash = System.identityHashCode(key);
+        }
+
+        @Override
+        public boolean equals(Object o) {
+            if(this == o) {
+                return true;
+            } else if( o instanceof WeakKey ) {
+                return get() == ((WeakKey)o).get();
+            } else {
+                return false;
+            }
+        }
+
+        @Override
+        public int hashCode() {
+            return hash;
+        }
+    }
+
+
+}
--- a/jdk/src/java.desktop/share/native/libfontmanager/layout/LookupProcessor.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/share/native/libfontmanager/layout/LookupProcessor.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -175,7 +175,7 @@
   LEReferenceTo<LangSysTable> langSysTable;
     le_uint16 featureCount = 0;
     le_uint16 lookupListCount = 0;
-    le_uint16 requiredFeatureIndex;
+    le_uint16 requiredFeatureIndex = 0xFFFF;
 
     if (LE_FAILURE(success)) {
         return;
--- a/jdk/src/java.desktop/share/native/liblcms/cmsopt.c	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/share/native/liblcms/cmsopt.c	Thu Jul 02 17:50:25 2015 -0700
@@ -260,7 +260,9 @@
                             cmsStage* Multmat = cmsStageAllocMatrix(Lut->ContextID, 3, 3, (const cmsFloat64Number*) &res, NULL);
 
                             // Recover the chain
-                            Multmat->Next = chain;
+                            if (Multmat != NULL) {
+                                Multmat->Next = chain;
+                            }
                             *pt1 = Multmat;
                      }
 
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java	Thu Jul 02 17:50:25 2015 -0700
@@ -2466,7 +2466,7 @@
 
     private static XEventDispatcher oops_waiter;
     private static boolean oops_updated;
-    private static boolean oops_move;
+    private static int oops_position = 0;
 
     /**
      * @inheritDoc
@@ -2495,9 +2495,12 @@
             oops_updated = false;
             long event_number = getEventNumber();
             // Generate OOPS ConfigureNotify event
-            XlibWrapper.XMoveWindow(getDisplay(), win.getWindow(), oops_move ? 0 : 1, 0);
+            XlibWrapper.XMoveWindow(getDisplay(), win.getWindow(), ++oops_position, 0);
             // Change win position each time to avoid system optimization
-            oops_move = !oops_move;
+            if (oops_position > 50) {
+                oops_position = 0;
+            }
+
             XSync();
 
             eventLog.finer("Generated OOPS ConfigureNotify event");
--- a/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -29,6 +29,7 @@
 import java.awt.Toolkit;
 import java.awt.image.BufferedImage;
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.*;
 import java.util.concurrent.*;
@@ -233,6 +234,7 @@
     private Image smallIcon = null;
     private Image largeIcon = null;
     private Boolean isDir = null;
+    private final boolean isLib;
 
     /*
      * The following is to identify the My Documents folder as being special
@@ -254,6 +256,7 @@
         // Desktop is parent of DRIVES and NETWORK, not necessarily
         // other special shell folders.
         super(null, composePathForCsidl(csidl));
+        isLib = false;
 
         invoke(new Callable<Void>() {
             public Void call() throws InterruptedException {
@@ -279,7 +282,7 @@
                                 // Now we know that parent isn't immediate to 'this' because it
                                 // has a continued ID list. Create a shell folder for this child
                                 // pidl and make it the new 'parent'.
-                                parent = new Win32ShellFolder2((Win32ShellFolder2) parent, childPIDL);
+                                parent = createShellFolder((Win32ShellFolder2) parent, childPIDL);
                             } else {
                                 // No grandchildren means we have arrived at the parent of 'this',
                                 // and childPIDL is directly relative to parent.
@@ -301,8 +304,9 @@
     /**
      * Create a system shell folder
      */
-    Win32ShellFolder2(Win32ShellFolder2 parent, long pIShellFolder, long relativePIDL, String path) {
+    Win32ShellFolder2(Win32ShellFolder2 parent, long pIShellFolder, long relativePIDL, String path, boolean isLib) {
         super(parent, (path != null) ? path : "ShellFolder: ");
+        this.isLib = isLib;
         this.disposer.pIShellFolder = pIShellFolder;
         this.disposer.relativePIDL = relativePIDL;
         sun.java2d.Disposer.addRecord(this, disposer);
@@ -312,16 +316,19 @@
     /**
      * Creates a shell folder with a parent and relative PIDL
      */
-    Win32ShellFolder2(final Win32ShellFolder2 parent, final long relativePIDL) throws InterruptedException {
-        super(parent,
-            invoke(new Callable<String>() {
-                public String call() {
-                    return getFileSystemPath(parent.getIShellFolder(), relativePIDL);
-                }
-            }, RuntimeException.class)
-        );
-        this.disposer.relativePIDL = relativePIDL;
-        sun.java2d.Disposer.addRecord(this, disposer);
+    static Win32ShellFolder2 createShellFolder(Win32ShellFolder2 parent, long pIDL)
+            throws InterruptedException {
+        String path = invoke(new Callable<String>() {
+            public String call() {
+                return getFileSystemPath(parent.getIShellFolder(), pIDL);
+            }
+        }, RuntimeException.class);
+        String libPath = resolveLibrary(path);
+        if (libPath == null) {
+            return new Win32ShellFolder2(parent, 0, pIDL, path, false);
+        } else {
+            return new Win32ShellFolder2(parent, 0, pIDL, libPath, true);
+        }
     }
 
     // Initializes the desktop shell folder
@@ -601,20 +608,24 @@
         }
         String path = getDisplayNameOf(parentIShellFolder, relativePIDL,
                         SHGDN_FORPARSING);
+        return path;
+    }
+
+    private static String resolveLibrary(String path) {
         // if this is a library its default save location is taken as a path
         // this is a temp fix until java.io starts support Libraries
         if( path != null && path.startsWith("::{") &&
                 path.toLowerCase().endsWith(".library-ms")) {
             for (KnownFolderDefinition kf : KnownFolderDefinition.libraries) {
-                if( path.toLowerCase().endsWith(
-                            kf.relativePath.toLowerCase()) &&
-                            path.toUpperCase().startsWith(
-                            kf.parsingName.substring(0, 40).toUpperCase()) ) {
+                if (path.toLowerCase().endsWith(
+                        "\\" + kf.relativePath.toLowerCase()) &&
+                        path.toUpperCase().startsWith(
+                        kf.parsingName.substring(0, 40).toUpperCase())) {
                     return kf.saveLocation;
                 }
             }
         }
-        return path;
+        return null;
     }
 
     // Needs to be accessible to Win32ShellFolderManager2
@@ -750,7 +761,7 @@
                                             && pidlsEqual(pIShellFolder, childPIDL, personal.disposer.relativePIDL)) {
                                         childFolder = personal;
                                     } else {
-                                        childFolder = new Win32ShellFolder2(Win32ShellFolder2.this, childPIDL);
+                                        childFolder = createShellFolder(Win32ShellFolder2.this, childPIDL);
                                         releasePIDL = false;
                                     }
                                     list.add(childFolder);
@@ -790,10 +801,11 @@
                 while ((childPIDL = getNextChild(pEnumObjects)) != 0) {
                     if (getAttributes0(pIShellFolder, childPIDL, ATTRIB_FILESYSTEM) != 0) {
                         String path = getFileSystemPath(pIShellFolder, childPIDL);
+                        if(isLib) path = resolveLibrary( path );
                         if (path != null && path.equalsIgnoreCase(filePath)) {
                             long childIShellFolder = bindToObject(pIShellFolder, childPIDL);
                             child = new Win32ShellFolder2(Win32ShellFolder2.this,
-                                    childIShellFolder, childPIDL, path);
+                                    childIShellFolder, childPIDL, path, isLib);
                             break;
                         }
                     }
@@ -839,14 +851,14 @@
         return getLinkLocation(true);
     }
 
-    private ShellFolder getLinkLocation(final boolean resolve) {
-        return invoke(new Callable<ShellFolder>() {
-            public ShellFolder call() {
+    private Win32ShellFolder2 getLinkLocation(final boolean resolve) {
+        return invoke(new Callable<Win32ShellFolder2>() {
+            public Win32ShellFolder2 call() {
                 if (!isLink()) {
                     return null;
                 }
 
-                ShellFolder location = null;
+                Win32ShellFolder2 location = null;
                 long linkLocationPIDL = getLinkLocation(getParentIShellFolder(),
                         getRelativePIDL(), resolve);
                 if (linkLocationPIDL != 0) {
@@ -956,7 +968,7 @@
 
     // NOTE: this method uses COM and must be called on the 'COM thread'. See ComInvoker for the details
     private static native long extractIcon(long parentIShellFolder, long relativePIDL,
-                                           boolean getLargeIcon);
+                                           boolean getLargeIcon, boolean getDefaultIcon);
 
     // Returns an icon from the Windows system icon list in the form of an HICON
     private static native long getSystemIcon(int iconID);
@@ -1007,7 +1019,13 @@
                 invoke(new Callable<Image>() {
                     public Image call() {
                         Image newIcon = null;
-                        if (isFileSystem()) {
+                        if (isLink()) {
+                            Win32ShellFolder2 folder = getLinkLocation(false);
+                            if (folder != null && folder.isLibrary()) {
+                                return folder.getIcon(getLargeIcon);
+                            }
+                        }
+                        if (isFileSystem() || isLibrary()) {
                             long parentIShellIcon = (parent != null)
                                 ? ((Win32ShellFolder2) parent).getIShellIcon()
                                 : 0L;
@@ -1037,7 +1055,19 @@
                         if (newIcon == null) {
                             // These are only cached per object
                             long hIcon = extractIcon(getParentIShellFolder(),
-                                getRelativePIDL(), getLargeIcon);
+                                    getRelativePIDL(), getLargeIcon, false);
+                            // E_PENDING: loading can take time so get the default
+                            if(hIcon <= 0) {
+                                hIcon = extractIcon(getParentIShellFolder(),
+                                         getRelativePIDL(), getLargeIcon, true);
+                                if(hIcon <= 0) {
+                                    if (isDirectory()) {
+                                        return getShell32Icon(4, getLargeIcon);
+                                    } else {
+                                        return getShell32Icon(1, getLargeIcon);
+                                    }
+                                }
+                            }
                             newIcon = makeIcon(hIcon, getLargeIcon);
                             disposeIcon(hIcon);
                         }
@@ -1129,6 +1159,8 @@
     private static final int LVCFMT_CENTER = 2;
 
     public ShellFolderColumnInfo[] getFolderColumns() {
+        ShellFolder library = resolveLibrary();
+        if (library != null) return library.getFolderColumns();
         return invoke(new Callable<ShellFolderColumnInfo[]>() {
             public ShellFolderColumnInfo[] call() {
                 ShellFolderColumnInfo[] columns = doGetColumnInfo(getIShellFolder());
@@ -1159,6 +1191,10 @@
     }
 
     public Object getFolderColumnValue(final int column) {
+        if(!isLibrary()) {
+            ShellFolder library = resolveLibrary();
+            if (library != null) return library.getFolderColumnValue(column);
+        }
         return invoke(new Callable<Object>() {
             public Object call() {
                 return doGetColumnValue(getParentIShellFolder(), getRelativePIDL(), column);
@@ -1166,6 +1202,26 @@
         });
     }
 
+    boolean isLibrary() {
+        return isLib;
+    }
+
+    private ShellFolder resolveLibrary() {
+        for (ShellFolder f = this; f != null; f = f.parent) {
+            if (!f.isFileSystem()) {
+                if (f instanceof Win32ShellFolder2 &&
+                                           ((Win32ShellFolder2)f).isLibrary()) {
+                    try {
+                        return getShellFolder(new File(getPath()));
+                    } catch (FileNotFoundException e) {
+                    }
+                }
+                break;
+            }
+        }
+        return null;
+    }
+
     // NOTE: this method uses COM and must be called on the 'COM thread'. See ComInvoker for the details
     private native ShellFolderColumnInfo[] doGetColumnInfo(long iShellFolder2);
 
--- a/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, 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
@@ -94,7 +94,7 @@
         while (pIDL != 0) {
             long curPIDL = Win32ShellFolder2.copyFirstPIDLEntry(pIDL);
             if (curPIDL != 0) {
-                parent = new Win32ShellFolder2(parent, curPIDL);
+                parent = Win32ShellFolder2.createShellFolder(parent, curPIDL);
                 pIDL = Win32ShellFolder2.getNextPIDLEntry(pIDL);
             } else {
                 // The list is empty if the parent is Desktop and pIDL is a shortcut to Desktop
--- a/jdk/src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/ShellFolder2.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -868,10 +868,11 @@
 /*
  * Class:     sun_awt_shell_Win32ShellFolder2
  * Method:    extractIcon
- * Signature: (JJZ)J
+ * Signature: (JJZZ)J
  */
 JNIEXPORT jlong JNICALL Java_sun_awt_shell_Win32ShellFolder2_extractIcon
-    (JNIEnv* env, jclass cls, jlong pIShellFolderL, jlong relativePIDL, jboolean getLargeIcon)
+    (JNIEnv* env, jclass cls, jlong pIShellFolderL, jlong relativePIDL,
+                                jboolean getLargeIcon, jboolean getDefaultIcon)
 {
     IShellFolder* pIShellFolder = (IShellFolder*)pIShellFolderL;
     LPITEMIDLIST pidl = (LPITEMIDLIST)relativePIDL;
@@ -889,7 +890,8 @@
         WCHAR szBuf[MAX_PATH];
         INT index;
         UINT flags;
-        hres = pIcon->GetIconLocation(GIL_FORSHELL, szBuf, MAX_PATH, &index, &flags);
+        UINT uFlags = getDefaultIcon ? GIL_DEFAULTICON : GIL_FORSHELL | GIL_ASYNC;
+        hres = pIcon->GetIconLocation(uFlags, szBuf, MAX_PATH, &index, &flags);
         if (SUCCEEDED(hres)) {
             HICON hIconLarge;
             hres = pIcon->Extract(szBuf, index, &hIconLarge, &hIcon, (16 << 16) + 32);
@@ -901,6 +903,9 @@
                     fn_DestroyIcon((HICON)hIconLarge);
                 }
             }
+        } else if (hres == E_PENDING) {
+            pIcon->Release();
+            return E_PENDING;
         }
         pIcon->Release();
     }
@@ -1284,7 +1289,6 @@
 JNIEXPORT jobjectArray JNICALL Java_sun_awt_shell_Win32ShellFolder2_loadKnownFolders
     (JNIEnv* env, jclass cls )
 {
-    CoInitialize(NULL);
     IKnownFolderManager* pkfm = NULL;
     HRESULT hr = CoCreateInstance(CLSID_KnownFolderManager, NULL,
                                 CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pkfm));
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt.rc	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt.rc	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 // 
-// Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+// Copyright (c) 1997, 2015, 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
@@ -31,7 +31,6 @@
 
 LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
 
-HAND_CURSOR  CURSOR  DISCARDABLE "hand.cur"
 AWT_ICON     ICON    DISCARDABLE "awt.ico"
 CHECK_BITMAP BITMAP  DISCARDABLE "check.bmp"
 
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Cursor.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Cursor.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -144,7 +144,7 @@
         winCursor = IDC_SIZEWE;
         break;
       case java_awt_Cursor_HAND_CURSOR:
-        winCursor = TEXT("HAND_CURSOR");
+        winCursor = IDC_HAND;
         break;
       case java_awt_Cursor_MOVE_CURSOR:
         winCursor = IDC_SIZEALL;
Binary file jdk/src/java.desktop/windows/native/libawt/windows/hand.cur has changed
--- a/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/Oid.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.security.jgss/share/classes/org/ietf/jgss/Oid.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -157,7 +157,7 @@
             return (true);
 
         if (other instanceof Oid)
-            return this.oid.equals((Object)((Oid) other).oid);
+            return this.oid.equals(((Oid) other).oid);
         else if (other instanceof ObjectIdentifier)
             return this.oid.equals(other);
         else
--- a/jdk/src/java.security.jgss/share/classes/sun/security/jgss/GSSContextImpl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.security.jgss/share/classes/sun/security/jgss/GSSContextImpl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -252,7 +252,7 @@
                 } else {
                     // parse GSS header
                     gssHeader = new GSSHeader(inStream);
-                    if (!gssHeader.getOid().equals((Object) objId))
+                    if (!gssHeader.getOid().equals(objId))
                         throw new GSSExceptionImpl
                             (GSSException.DEFECTIVE_TOKEN,
                              "Mechanism not equal to " +
@@ -346,7 +346,7 @@
                 } else {
                     // parse GSS Header
                     gssHeader = new GSSHeader(inStream);
-                    if (!gssHeader.getOid().equals((Object) objId))
+                    if (!gssHeader.getOid().equals(objId))
                         throw new GSSExceptionImpl
                             (GSSException.DEFECTIVE_TOKEN,
                              "Mechanism not equal to " +
--- a/jdk/src/java.security.jgss/share/classes/sun/security/jgss/krb5/MessageToken.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.security.jgss/share/classes/sun/security/jgss/krb5/MessageToken.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, 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
@@ -182,7 +182,7 @@
         try {
             gssHeader = new GSSHeader(is);
 
-            if (!gssHeader.getOid().equals((Object)OID)) {
+            if (!gssHeader.getOid().equals(OID)) {
                 throw new GSSException(GSSException.DEFECTIVE_TOKEN, -1,
                                        getTokenName(tokenId));
             }
--- a/jdk/src/java.sql/share/classes/java/sql/DriverManager.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/java.sql/share/classes/java/sql/DriverManager.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015, 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
@@ -25,11 +25,17 @@
 
 package java.sql;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Enumeration;
 import java.util.Iterator;
+import java.util.List;
 import java.util.ServiceLoader;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.stream.Stream;
+
 import sun.reflect.CallerSensitive;
 import sun.reflect.Reflection;
 
@@ -429,29 +435,44 @@
      * <CODE>d.getClass().getName()</CODE>
      *
      * @return the list of JDBC Drivers loaded by the caller's class loader
+     * @see #drivers()
      */
     @CallerSensitive
-    public static java.util.Enumeration<Driver> getDrivers() {
-        java.util.Vector<Driver> result = new java.util.Vector<>();
-
+    public static Enumeration<Driver> getDrivers() {
         ensureDriversInitialized();
 
-        Class<?> callerClass = Reflection.getCallerClass();
+        return Collections.enumeration(getDrivers(Reflection.getCallerClass()));
+    }
 
+    /**
+     * Retrieves a Stream with all of the currently loaded JDBC drivers
+     * to which the current caller has access.
+     *
+     * @return the stream of JDBC Drivers loaded by the caller's class loader
+     * @since 1.9
+     */
+    @CallerSensitive
+    public static Stream<Driver> drivers() {
+        ensureDriversInitialized();
+
+        return getDrivers(Reflection.getCallerClass()).stream();
+    }
+
+    private static List<Driver> getDrivers(Class<?> callerClass) {
+        List<Driver> result = new ArrayList<>();
         // Walk through the loaded registeredDrivers.
         for (DriverInfo aDriver : registeredDrivers) {
             // If the caller does not have permission to load the driver then
             // skip it.
             if (isDriverAllowed(aDriver.driver, callerClass)) {
-                result.addElement(aDriver.driver);
+                result.add(aDriver.driver);
             } else {
                 println("    skipping: " + aDriver.getClass().getName());
             }
         }
-        return (result.elements());
+        return result;
     }
 
-
     /**
      * Sets the maximum time in seconds that a driver will wait
      * while attempting to connect to a database once the driver has
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/jdk.accessibility/windows/classes/META-INF/services/javax.accessibility.AccessibilityProvider	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,26 @@
+# Copyright (c) 2015, 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
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+
+
+com.sun.java.accessibility.ProviderImpl
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/ProviderImpl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package com.sun.java.accessibility;
+
+import javax.accessibility.AccessibilityProvider;
+
+/* This class provided methods to identify and activate the mapping from the
+ * JavaAccessBridge API to the Java Accessibility API.
+ */
+public final class ProviderImpl extends AccessibilityProvider {
+    /**
+     * Typically the service name returned by the name() method would be a simple
+     * name such as JavaAccessBridge, but the following name is used for compatibility
+     * with prior versions of ${user.home}/.accessibility.properties and
+     * ${java.home}/conf/accessibility.properties where the text on the
+     * assistive.technologies= line is a fully qualified class name. As of Java 9
+     * class names are no longer used to identify assistive technology implementations.
+     * If the properties file exists the installer will not replace it thus the
+     * need for compatibility.
+     */
+    private final String name = "com.sun.java.accessibility.AccessBridge";
+
+    public ProviderImpl() {}
+
+    public String getName() {
+        return name;
+    }
+
+    public void activate() {
+        /**
+         * Note that the AccessBridge is instantiated here rather than in the
+         * constructor.  If the caller determines that this object is named
+         * "com.sun.java.accessibility.AccessBridge" then the caller will call
+         * start to instantiate the AccessBridge which will in turn activate it.
+         */
+        new AccessBridge();
+    }
+
+}
--- a/jdk/src/jdk.accessibility/windows/conf/accessibility.properties	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-#
-# Load the Java Access Bridge class into the JVM
-#
-#assistive_technologies=com.sun.java.accessibility.AccessBridge
-#screen_magnifier_present=true
-
--- a/jdk/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/jdk.crypto.mscapi/windows/native/libsunmscapi/security.cpp	Thu Jul 02 17:50:25 2015 -0700
@@ -30,6 +30,7 @@
 
 #include <jni.h>
 #include <stdlib.h>
+#include <string.h>
 #include <windows.h>
 #include <BaseTsd.h>
 #include <wincrypt.h>
@@ -58,11 +59,16 @@
     char szMessage[1024];
     szMessage[0] = '\0';
 
-    FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, NULL, szMessage,
-        1024, NULL);
+    DWORD res = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError,
+        NULL, szMessage, sizeof(szMessage), NULL);
+    if (res == 0) {
+        strcpy(szMessage, "Unknown error");
+    }
 
     jclass exceptionClazz = env->FindClass(exceptionName);
-    env->ThrowNew(exceptionClazz, szMessage);
+    if (exceptionClazz != NULL) {
+        env->ThrowNew(exceptionClazz, szMessage);
+    }
 }
 
 
@@ -295,22 +301,42 @@
 
         // Determine clazz and method ID to generate certificate
         jclass clazzArrayList = env->FindClass("java/util/ArrayList");
+        if (clazzArrayList == NULL) {
+            __leave;
+        }
 
         jmethodID mNewArrayList = env->GetMethodID(clazzArrayList, "<init>", "()V");
+        if (mNewArrayList == NULL) {
+            __leave;
+        }
 
-        jmethodID mGenCert = env->GetMethodID(env->GetObjectClass(obj),
+        jclass clazzOfThis = env->GetObjectClass(obj);
+        if (clazzOfThis == NULL) {
+            __leave;
+        }
+
+        jmethodID mGenCert = env->GetMethodID(clazzOfThis,
                                               "generateCertificate",
                                               "([BLjava/util/Collection;)V");
+        if (mGenCert == NULL) {
+            __leave;
+        }
 
         // Determine method ID to generate certificate chain
-        jmethodID mGenCertChain = env->GetMethodID(env->GetObjectClass(obj),
+        jmethodID mGenCertChain = env->GetMethodID(clazzOfThis,
                                                    "generateCertificateChain",
                                                    "(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;)V");
+        if (mGenCertChain == NULL) {
+            __leave;
+        }
 
         // Determine method ID to generate RSA certificate chain
-        jmethodID mGenRSAKeyAndCertChain = env->GetMethodID(env->GetObjectClass(obj),
+        jmethodID mGenRSAKeyAndCertChain = env->GetMethodID(clazzOfThis,
                                                    "generateRSAKeyAndCertificateChain",
                                                    "(Ljava/lang/String;JJILjava/util/Collection;Ljava/util/Collection;)V");
+        if (mGenRSAKeyAndCertChain == NULL) {
+            __leave;
+        }
 
         // Use CertEnumCertificatesInStore to get the certificates
         // from the open store. pCertContext must be reset to
@@ -590,9 +616,6 @@
     }
     __finally
     {
-        if (hCryptProvAlt)
-            ::CryptReleaseContext(hCryptProvAlt, 0);
-
         if (pSignedHashBuffer)
             delete [] pSignedHashBuffer;
 
@@ -601,6 +624,9 @@
 
         if (hHash)
             ::CryptDestroyHash(hHash);
+
+        if (hCryptProvAlt)
+            ::CryptReleaseContext(hCryptProvAlt, 0);
     }
 
     return jSignedHash;
@@ -688,9 +714,6 @@
 
     __finally
     {
-        if (hCryptProvAlt)
-            ::CryptReleaseContext(hCryptProvAlt, 0);
-
         if (pSignedHashBuffer)
             delete [] pSignedHashBuffer;
 
@@ -699,6 +722,9 @@
 
         if (hHash)
             ::CryptDestroyHash(hHash);
+
+        if (hCryptProvAlt)
+            ::CryptReleaseContext(hCryptProvAlt, 0);
     }
 
     return result;
@@ -763,9 +789,15 @@
         // Get the method ID for the RSAKeyPair constructor
         jclass clazzRSAKeyPair =
             env->FindClass("sun/security/mscapi/RSAKeyPair");
+        if (clazzRSAKeyPair == NULL) {
+            __leave;
+        }
 
         jmethodID mNewRSAKeyPair =
             env->GetMethodID(clazzRSAKeyPair, "<init>", "(JJI)V");
+        if (mNewRSAKeyPair == NULL) {
+            __leave;
+        }
 
         // Create a new RSA keypair
         keypair = env->NewObject(clazzRSAKeyPair, mNewRSAKeyPair,
@@ -1948,9 +1980,15 @@
         // Get the method ID for the RSAPrivateKey constructor
         jclass clazzRSAPrivateKey =
             env->FindClass("sun/security/mscapi/RSAPrivateKey");
+        if (clazzRSAPrivateKey == NULL) {
+            __leave;
+        }
 
         jmethodID mNewRSAPrivateKey =
             env->GetMethodID(clazzRSAPrivateKey, "<init>", "(JJI)V");
+        if (mNewRSAPrivateKey == NULL) {
+            __leave;
+        }
 
         // Create a new RSA private key
         privateKey = env->NewObject(clazzRSAPrivateKey, mNewRSAPrivateKey,
@@ -2035,9 +2073,15 @@
         // Get the method ID for the RSAPublicKey constructor
         jclass clazzRSAPublicKey =
             env->FindClass("sun/security/mscapi/RSAPublicKey");
+        if (clazzRSAPublicKey == NULL) {
+            __leave;
+        }
 
         jmethodID mNewRSAPublicKey =
             env->GetMethodID(clazzRSAPublicKey, "<init>", "(JJI)V");
+        if (mNewRSAPublicKey == NULL) {
+            __leave;
+        }
 
         // Create a new RSA public key
         publicKey = env->NewObject(clazzRSAPublicKey, mNewRSAPublicKey,
--- a/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/TimestampedSigner.java	Thu Jul 02 17:50:25 2015 -0700
@@ -169,7 +169,7 @@
             for (int i = 0; i < derValue.length; i++) {
                 description = new AccessDescription(derValue[i]);
                 if (description.getAccessMethod()
-                        .equals((Object)AD_TIMESTAMPING_Id)) {
+                        .equals(AD_TIMESTAMPING_Id)) {
                     location = description.getAccessLocation();
                     if (location.getType() == GeneralNameInterface.NAME_URI) {
                         uri = (URIName) location.getName();
--- a/jdk/test/ProblemList.txt	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/ProblemList.txt	Thu Jul 02 17:50:25 2015 -0700
@@ -116,6 +116,12 @@
 
 # jdk_beans
 
+# 8060027
+java/beans/XMLEncoder/Test4903007.java                        generic-all
+java/beans/XMLEncoder/java_awt_GridBagLayout.java             generic-all
+java/beans/XMLDecoder/8028054/TestConstructorFinder.java      generic-all
+java/beans/XMLDecoder/8028054/TestMethodFinder.java           generic-all
+
 ############################################################################
 
 # jdk_lang
@@ -221,9 +227,6 @@
 # 7164518: no PortUnreachableException on Mac
 sun/security/krb5/auto/Unreachable.java                         macosx-all
 
-# 8058849
-sun/security/krb5/config/dns.sh                                 generic-all
-
 # 7041639: Solaris DSA keypair generation bug
 java/security/KeyPairGenerator/SolarisShortDSA.java             solaris-all
 sun/security/tools/keytool/standard.sh                          solaris-all
@@ -292,10 +295,16 @@
 sun/security/pkcs11/tls/TestPRF.java                            windows-all
 sun/security/pkcs11/tls/TestPremaster.java                      windows-all
 
+# 8051770
+sun/security/provider/SecureRandom/StrongSecureRandom.java      macosx-10.10
+
 ############################################################################
 
 # jdk_sound
 
+# 8059743
+javax/sound/midi/Gervill/SoftProvider/GetDevice.java            generic-all
+
 ############################################################################
 
 # jdk_swing
--- a/jdk/test/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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 @@
  * @bug 8007267
  * @summary [macosx] com.apple.eawt.Application.setDefaultMenuBar is not working
  * @author leonid.romanov@oracle.com
+ * @modules java.desktop/sun.awt
  * @run main DefaultMenuBarTest
  */
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/com/apple/eawt/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -27,6 +27,8 @@
   @summary The size returned by SecurityWarning.getSize() should not be zero
   @author anthony.petrov@sun.com: area=awt.toplevel
   @library ../../../../java/awt/regtesthelpers
+  @modules java.desktop/com.sun.awt
+           java.desktop/sun.awt
   @build Util CustomSecurityManager CopyClassFile
   @run main CopyClassFile CustomSecurityManager bootcp/
   @run main/othervm/secure=CustomSecurityManager -Xbootclasspath/a:bootcp GetSizeShouldNotReturnZero
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/com/sun/awt/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/com/sun/awt/Translucency/WindowOpacity.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/awt/Translucency/WindowOpacity.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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 @@
   @bug 6594131
   @summary Tests the AWTUtilities.get/setWindowOpacity() methods
   @author anthony.petrov@...: area=awt.toplevel
+  @modules java.desktop/com.sun.awt
   @run main WindowOpacity
 */
 
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4511676.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4511676.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -34,7 +34,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.security.Provider;
-import com.sun.crypto.provider.*;
 
 public class Test4511676 {
     private static final String ALGO = "AES";
@@ -59,7 +58,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
 
         Test4511676 test = new Test4511676();
         String testName = test.getClass().getName() + "[" + ALGO +
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4512524.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4512524.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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,7 +35,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.security.Provider;
-import com.sun.crypto.provider.*;
 
 public class Test4512524 {
 
@@ -65,8 +64,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4512524 test = new Test4512524();
         test.execute("CBC");
         test.execute("GCM");
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4512704.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4512704.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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,7 +35,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.security.Provider;
-import com.sun.crypto.provider.*;
 
 public class Test4512704 {
     private static final String ALGO = "AES";
@@ -61,8 +60,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4512704 test = new Test4512704();
         test.execute("CBC");
         test.execute("GCM");
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4513830.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4513830.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -85,8 +85,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4513830 test = new Test4513830();
         String testName = test.getClass().getName() + "[" + ALGO +
             "/" + MODE + "/" + PADDING + "]";
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4517355.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4517355.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -37,7 +37,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.security.Provider;
-import com.sun.crypto.provider.*;
 
 public class Test4517355 {
 
@@ -93,8 +92,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4517355 test = new Test4517355();
         Random rdm = new Random();
         rdm.nextBytes(test.plainText);
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4626070.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/Test4626070.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -60,8 +60,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4626070 test = new Test4626070();
         test.execute("CBC", "PKCS5Padding");
         test.execute("GCM", "NoPadding");
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_IV.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_IV.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -118,8 +118,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         TestKATForECB_IV test = new TestKATForECB_IV();
         String testName = test.getClass().getName() + "[" + ALGO +
             "/" + MODE + "/" + PADDING + "]";
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VK.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VK.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -34,7 +34,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.math.*;
-import com.sun.crypto.provider.*;
 
 import java.util.*;
 
@@ -746,8 +745,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         TestKATForECB_VK test = new TestKATForECB_VK();
         String testName = test.getClass().getName() + "[" + ALGO +
             "/" + MODE + "/" + PADDING + "]";
--- a/jdk/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VT.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/AES/TestKATForECB_VT.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -34,7 +34,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import java.math.*;
-import com.sun.crypto.provider.*;
 
 import java.util.*;
 
@@ -555,8 +554,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         TestKATForECB_VT test = new TestKATForECB_VT();
         String testName = test.getClass().getName() + "[" + ALGO +
             "/" + MODE + "/" + PADDING + "]";
--- a/jdk/test/com/sun/crypto/provider/Cipher/Blowfish/BlowfishTestVector.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/Blowfish/BlowfishTestVector.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -68,10 +68,8 @@
 
     public static void main(String[] argv) throws Exception {
 
-        Provider p = new com.sun.crypto.provider.SunJCE();
-        Security.addProvider(p);
         String transformation = "Blowfish/ECB/NoPadding";
-        Cipher cipher = Cipher.getInstance(transformation);
+        Cipher cipher = Cipher.getInstance(transformation, "SunJCE");
         int MAX_KEY_SIZE = Cipher.getMaxAllowedKeyLength(transformation);
         //
         // test 1
--- a/jdk/test/com/sun/crypto/provider/Cipher/DES/DESSecretKeySpec.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/DES/DESSecretKeySpec.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -46,11 +46,11 @@
         System.out.println("Testing DES key");
         SecretKeySpec skey = new SecretKeySpec(key, "DES");
         c = Cipher.getInstance("DES/CBC/PKCS5Padding", "SunJCE");
-        SecretKeyFactory.getInstance("DES").generateSecret(skey);
+        SecretKeyFactory.getInstance("DES", "SunJCE").generateSecret(skey);
 
         System.out.println("Testing DESede key");
         skey = new SecretKeySpec(key, "DESede");
         c = Cipher.getInstance("DESede/CBC/PKCS5Padding", "SunJCE");
-        SecretKeyFactory.getInstance("TripleDES").generateSecret(skey);
+        SecretKeyFactory.getInstance("TripleDES", "SunJCE").generateSecret(skey);
     }
 }
--- a/jdk/test/com/sun/crypto/provider/Cipher/DES/DesAPITest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/DES/DesAPITest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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,7 +32,6 @@
 import java.security.spec.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.*;
 
 public class DesAPITest {
 
@@ -87,9 +86,6 @@
     public void init(String crypt, String mode, String padding)
         throws Exception {
 
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
-
         KeySpec desKeySpec = null;
         SecretKeyFactory factory = null;
 
@@ -99,7 +95,7 @@
         if (padding.length() != 0)
             cipherName.append("/" + padding);
 
-        cipher = Cipher.getInstance(cipherName.toString());
+        cipher = Cipher.getInstance(cipherName.toString(), "SunJCE");
         if (crypt.endsWith("ede")) {
             desKeySpec = new DESedeKeySpec(key3);
             factory = SecretKeyFactory.getInstance("DESede", "SunJCE");
--- a/jdk/test/com/sun/crypto/provider/Cipher/DES/DoFinalReturnLen.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/DES/DoFinalReturnLen.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -85,9 +85,7 @@
         IvParameterSpec IvParamSpec = null;
         SecretKey sKey = null;
 
-        // Step 0: add providers
-        Provider sun = new com.sun.crypto.provider.SunJCE();
-        Security.addProvider(sun);
+        // Step 0: list providers
         Provider[] theProviders = Security.getProviders();
         for (int index = 0; index < theProviders.length; index++) {
             System.out.println(theProviders[index].getName());
--- a/jdk/test/com/sun/crypto/provider/Cipher/DES/FlushBug.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/DES/FlushBug.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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,18 +32,13 @@
 import java.security.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.SunJCE;
 
 public class FlushBug {
     public static void main(String[] args) throws Exception {
-
-        Provider prov = new com.sun.crypto.provider.SunJCE();
-        Security.addProvider(prov);
-
         SecureRandom sr = new SecureRandom();
 
         // Create new DES key.
-        KeyGenerator kg = KeyGenerator.getInstance("DES");
+        KeyGenerator kg = KeyGenerator.getInstance("DES", "SunJCE");
         kg.init(sr);
         Key key = kg.generateKey();
 
@@ -53,13 +48,13 @@
         IvParameterSpec iv = new IvParameterSpec(iv_bytes);
 
         // Create the consumer
-        Cipher decrypter = Cipher.getInstance("DES/CFB8/NoPadding");
+        Cipher decrypter = Cipher.getInstance("DES/CFB8/NoPadding", "SunJCE");
         decrypter.init(Cipher.DECRYPT_MODE, key, iv);
         PipedInputStream consumer = new PipedInputStream();
         InputStream in = new CipherInputStream(consumer, decrypter);
 
         // Create the producer
-        Cipher encrypter = Cipher.getInstance("DES/CFB8/NoPadding");
+        Cipher encrypter = Cipher.getInstance("DES/CFB8/NoPadding", "SunJCE");
         encrypter.init(Cipher.ENCRYPT_MODE, key, iv);
         PipedOutputStream producer = new PipedOutputStream();
         OutputStream out = new CipherOutputStream(producer, encrypter);
--- a/jdk/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/DES/PaddingTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -118,7 +118,7 @@
         if (padding.length() != 0)
             cipherName.append("/" + padding);
 
-        cipher = Cipher.getInstance(cipherName.toString());
+        cipher = Cipher.getInstance(cipherName.toString(), "SunJCE");
         if (crypt.endsWith("ede")) {
             desKeySpec = new DESedeKeySpec(key3);
             factory = SecretKeyFactory.getInstance("DESede", "SunJCE");
--- a/jdk/test/com/sun/crypto/provider/Cipher/DES/PerformanceTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/DES/PerformanceTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -152,7 +152,7 @@
         if (padding.length() != 0)
             cipherName.append("/" + padding);
 
-        cipher = Cipher.getInstance(cipherName.toString());
+        cipher = Cipher.getInstance(cipherName.toString(), "SunJCE");
         if (crypt.endsWith("ede")) {
             desKeySpec = new DESedeKeySpec(key3);
             factory = SecretKeyFactory.getInstance("DESede", "SunJCE");
--- a/jdk/test/com/sun/crypto/provider/Cipher/DES/Sealtest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/DES/Sealtest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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,19 +35,17 @@
 
     public static void main(String[] args) throws Exception {
 
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         // create DSA keypair
         KeyPairGenerator kpgen = KeyPairGenerator.getInstance("DSA");
         kpgen.initialize(512);
         KeyPair kp = kpgen.generateKeyPair();
 
         // create DES key
-        KeyGenerator kg = KeyGenerator.getInstance("DES");
+        KeyGenerator kg = KeyGenerator.getInstance("DES", "SunJCE");
         SecretKey skey = kg.generateKey();
 
         // create cipher
-        Cipher c = Cipher.getInstance("DES/CFB16/PKCS5Padding");
+        Cipher c = Cipher.getInstance("DES/CFB16/PKCS5Padding", "SunJCE");
         c.init(Cipher.ENCRYPT_MODE, skey);
 
         // seal the DSA private key
--- a/jdk/test/com/sun/crypto/provider/Cipher/UTIL/SunJCEGetInstance.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Cipher/UTIL/SunJCEGetInstance.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -30,6 +30,7 @@
  */
 
 import java.security.Security;
+import java.security.Provider;
 import javax.crypto.Cipher;
 import javax.crypto.spec.SecretKeySpec;
 
@@ -40,13 +41,12 @@
 
         try{
             // Remove SunJCE from Provider list
+            Provider prov = Security.getProvider("SunJCE");
             Security.removeProvider("SunJCE");
-
             // Create our own instance of SunJCE provider.  Purposefully not
             // using SunJCE.getInstance() so we can have our own instance
             // for the test.
-            jce = Cipher.getInstance("AES/CBC/PKCS5Padding",
-                new com.sun.crypto.provider.SunJCE());
+            jce = Cipher.getInstance("AES/CBC/PKCS5Padding", prov);
 
             jce.init(Cipher.ENCRYPT_MODE,
                 new SecretKeySpec("1234567890abcedf".getBytes(), "AES"));
--- a/jdk/test/com/sun/crypto/provider/KeyAgreement/DHGenSharedSecret.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/KeyAgreement/DHGenSharedSecret.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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,7 +32,6 @@
 import java.security.interfaces.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.*;
 import java.math.BigInteger;
 
 public class DHGenSharedSecret {
@@ -69,8 +68,6 @@
     };
 
     public static void main(String[] args) throws Exception {
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
         DHGenSharedSecret test = new DHGenSharedSecret();
         test.run();
     }
--- a/jdk/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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
@@ -25,6 +25,7 @@
  * @test
  * @bug 7146728
  * @summary DHKeyAgreement2
+ * @modules java.base/sun.misc
  * @author Jan Luehe
  */
 
@@ -36,7 +37,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import javax.crypto.interfaces.*;
-import com.sun.crypto.provider.SunJCE;
 
 import sun.misc.HexDumpEncoder;
 
--- a/jdk/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement3.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/KeyAgreement/DHKeyAgreement3.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -36,7 +36,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import javax.crypto.interfaces.*;
-import com.sun.crypto.provider.SunJCE;
 
 /**
  * This test utility executes the Diffie-Hellman key agreement protocol
@@ -51,10 +50,6 @@
     private DHKeyAgreement3() {}
 
     public static void main(String argv[]) throws Exception {
-            // Add JCE to the list of providers
-            SunJCE jce = new SunJCE();
-            Security.addProvider(jce);
-
             DHKeyAgreement3 keyAgree = new DHKeyAgreement3();
             keyAgree.run();
             System.out.println("Test Passed");
@@ -69,36 +64,36 @@
 
         // Alice creates her own DH key pair
         System.err.println("ALICE: Generate DH keypair ...");
-        KeyPairGenerator aliceKpairGen = KeyPairGenerator.getInstance("DH");
+        KeyPairGenerator aliceKpairGen = KeyPairGenerator.getInstance("DH", "SunJCE");
         aliceKpairGen.initialize(dhSkipParamSpec);
         KeyPair aliceKpair = aliceKpairGen.generateKeyPair();
 
         // Bob creates his own DH key pair
         System.err.println("BOB: Generate DH keypair ...");
-        KeyPairGenerator bobKpairGen = KeyPairGenerator.getInstance("DH");
+        KeyPairGenerator bobKpairGen = KeyPairGenerator.getInstance("DH", "SunJCE");
         bobKpairGen.initialize(dhSkipParamSpec);
         KeyPair bobKpair = bobKpairGen.generateKeyPair();
 
         // Carol creates her own DH key pair
         System.err.println("CAROL: Generate DH keypair ...");
-        KeyPairGenerator carolKpairGen = KeyPairGenerator.getInstance("DH");
+        KeyPairGenerator carolKpairGen = KeyPairGenerator.getInstance("DH", "SunJCE");
         carolKpairGen.initialize(dhSkipParamSpec);
         KeyPair carolKpair = carolKpairGen.generateKeyPair();
 
 
         // Alice initialize
         System.err.println("ALICE: Initialize ...");
-        KeyAgreement aliceKeyAgree = KeyAgreement.getInstance("DH");
+        KeyAgreement aliceKeyAgree = KeyAgreement.getInstance("DH", "SunJCE");
         aliceKeyAgree.init(aliceKpair.getPrivate());
 
         // Bob initialize
         System.err.println("BOB: Initialize ...");
-        KeyAgreement bobKeyAgree = KeyAgreement.getInstance("DH");
+        KeyAgreement bobKeyAgree = KeyAgreement.getInstance("DH", "SunJCE");
         bobKeyAgree.init(bobKpair.getPrivate());
 
         // Carol initialize
         System.err.println("CAROL: Initialize ...");
-        KeyAgreement carolKeyAgree = KeyAgreement.getInstance("DH");
+        KeyAgreement carolKeyAgree = KeyAgreement.getInstance("DH", "SunJCE");
         carolKeyAgree.init(carolKpair.getPrivate());
 
 
--- a/jdk/test/com/sun/crypto/provider/KeyAgreement/DHKeyFactory.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/KeyAgreement/DHKeyFactory.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -36,7 +36,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import javax.crypto.interfaces.*;
-import com.sun.crypto.provider.SunJCE;
 
 /**
  * This test creates a DH keypair, retrieves the encodings of the DH public and
@@ -49,10 +48,6 @@
     private DHKeyFactory() {}
 
     public static void main(String argv[]) throws Exception {
-            // Add JCE to the list of providers
-            SunJCE jce = new SunJCE();
-            Security.addProvider(jce);
-
             DHKeyFactory test = new DHKeyFactory();
             test.run();
             System.out.println("Test Passed");
@@ -67,7 +62,7 @@
         dhSkipParamSpec = new DHParameterSpec(skip1024Modulus,
                                               skip1024Base);
 
-        KeyPairGenerator kpgen = KeyPairGenerator.getInstance("DH");
+        KeyPairGenerator kpgen = KeyPairGenerator.getInstance("DH", "SunJCE");
         kpgen.initialize(dhSkipParamSpec);
         KeyPair kp = kpgen.generateKeyPair();
 
@@ -77,7 +72,7 @@
         // get the private key encoding
         byte[] privKeyEnc = kp.getPrivate().getEncoded();
 
-        KeyFactory kfac = KeyFactory.getInstance("DH");
+        KeyFactory kfac = KeyFactory.getInstance("DH", "SunJCE");
 
         X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(pubKeyEnc);
         PublicKey pubKey = kfac.generatePublic(x509KeySpec);
--- a/jdk/test/com/sun/crypto/provider/KeyAgreement/DHKeyGenSpeed.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/KeyAgreement/DHKeyGenSpeed.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, 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,7 +32,6 @@
 import java.security.interfaces.*;
 import javax.crypto.*;
 import javax.crypto.spec.*;
-import com.sun.crypto.provider.*;
 import java.math.*;
 
 public class DHKeyGenSpeed {
@@ -71,8 +70,6 @@
     };
 
     public static void main(String[] args) throws Exception {
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
         DHKeyGenSpeed test = new DHKeyGenSpeed();
         test.run();
         System.out.println("Test Passed");
--- a/jdk/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java	Thu Jul 02 17:50:25 2015 -0700
@@ -66,15 +66,17 @@
                 megaByte = new byte [MB];
                 data.add(megaByte);
             } catch (OutOfMemoryError e) {
-                System.out.println("OOME is thrown when allocating "
-                        + data.size() + "MB memory.");
-                megaByte = null;
+                megaByte = null;    // Free memory ASAP
+
+                int size = data.size();
 
                 for (int j = 0; j < RESERVATION && !data.isEmpty(); j++) {
                     data.removeLast();
                 }
                 System.gc();
                 hasException = true;
+                System.out.println("OOME is thrown when allocating "
+                        + size + "MB memory.");
             }
         }
         dumpMemoryStats("After memory allocation");
--- a/jdk/test/com/sun/crypto/provider/KeyGenerator/Test4628062.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/KeyGenerator/Test4628062.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -78,8 +78,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
-
         Test4628062 test = new Test4628062();
         String testName = test.getClass().getName();
         if (test.execute("AES", AES_SIZES)) {
--- a/jdk/test/com/sun/crypto/provider/KeyGenerator/TestExplicitKeyLength.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/KeyGenerator/TestExplicitKeyLength.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, 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
@@ -52,7 +52,6 @@
     }
 
     public static void main (String[] args) throws Exception {
-        Security.addProvider(new com.sun.crypto.provider.SunJCE());
         for (int i = 0; i < ALGOS.length; i++) {
             System.out.println("Testing " + ALGOS[i] + " KeyGenerator with " +
                                KEY_SIZES[i] + "-bit keysize");
--- a/jdk/test/com/sun/crypto/provider/Mac/HmacMD5.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/Mac/HmacMD5.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, 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
@@ -39,9 +39,6 @@
             int i, j, n;
             Mac mac;
 
-            Provider jce = new com.sun.crypto.provider.SunJCE();
-            Security.addProvider(jce);
-
             byte[][][] test_data = {
                 {
                     { (byte)0x0b, (byte)0x0b, (byte)0x0b, (byte)0x0b,
@@ -92,7 +89,7 @@
                 }
             };
 
-            mac = Mac.getInstance("HmacMD5");
+            mac = Mac.getInstance("HmacMD5", "SunJCE");
             for (i=0; i<3; i++) {
                 j=0;
 
@@ -109,7 +106,7 @@
             }
 
             // now test multiple-part operation, using the 2nd test vector
-            mac = Mac.getInstance("HmacMD5");
+            mac = Mac.getInstance("HmacMD5", "SunJCE");
             mac.init(new SecretKeySpec("Jefe".getBytes(), "HMAC"));
             mac.update("what do ya ".getBytes());
             mac.update("want for ".getBytes());
--- a/jdk/test/com/sun/crypto/provider/TLS/TestLeadingZeroes.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/crypto/provider/TLS/TestLeadingZeroes.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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,7 +35,6 @@
 import javax.crypto.*;
 import javax.crypto.spec.*;
 import javax.crypto.interfaces.*;
-import com.sun.crypto.provider.SunJCE;
 
 /**
  * Test that leading zeroes are stripped in TlsPremasterSecret case,
@@ -52,10 +51,6 @@
     private TestLeadingZeroes() {}
 
     public static void main(String argv[]) throws Exception {
-        // Add JCE to the list of providers
-        SunJCE jce = new SunJCE();
-        Security.addProvider(jce);
-
         TestLeadingZeroes keyAgree = new TestLeadingZeroes();
         keyAgree.run();
         System.out.println("Test Passed");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/com/sun/java/swing/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/com/sun/java/swing/plaf/windows/Test6824600.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/com/sun/java/swing/plaf/windows/Test6824600.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -25,6 +25,7 @@
    @bug 6824600
    @summary OOM occurs when setLookAndFeel() is executed in Windows L&F(XP style)
    @author Pavel Porvatov
+   @modules java.desktop/com.sun.java.swing.plaf.windows
    @run main Test6824600
 */
 
--- a/jdk/test/java/awt/Choice/ItemStateChangeTest/ItemStateChangeTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Choice/ItemStateChangeTest/ItemStateChangeTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -28,6 +28,7 @@
   @author Oleg Pekhovskiy: area=awt-choice
   @library ../../regtesthelpers
   @library ../../../../lib/testlibrary
+  @modules java.desktop/sun.awt
   @build Util
   @build jdk.testlibrary.OSInfo
   @run main ItemStateChangeTest
--- a/jdk/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Cursor/MultiResolutionCursorTest/MultiResolutionCursorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -45,6 +45,7 @@
  * @summary [macosx] Custom Cursor HiDPI support
  * @author Alexander Scherbatiy
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt.image
  * @build jdk.testlibrary.OSInfo
  * @run applet/manual=yesno MultiResolutionCursorTest.html
  */
--- a/jdk/test/java/awt/Desktop/8064934/bug8064934.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Desktop/8064934/bug8064934.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,6 +26,7 @@
  * @summary Incorrect Exception message from java.awt.Desktop.open()
  * @author Dmitry Markov
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @run main bug8064934
  */
--- a/jdk/test/java/awt/Dialog/CloseDialog/CloseDialogTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Dialog/CloseDialog/CloseDialogTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +32,7 @@
  * @test
  * @bug 8043705
  * @summary Can't exit color chooser dialog when running as an applet
+ * @modules java.desktop/sun.awt
  * @run main CloseDialogTest
  */
 public class CloseDialogTest {
--- a/jdk/test/java/awt/EventDispatchThread/EDTShutdownTest/EDTShutdownTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/EventDispatchThread/EDTShutdownTest/EDTShutdownTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 8031694
   @summary [macosx] TwentyThousandTest test intermittently hangs
   @author Oleg Pekhovskiy
+  @modules java.desktop/sun.awt
   @run main EDTShutdownTest
  */
 
--- a/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 <!--
- Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1998, 2015, 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
@@ -28,6 +28,7 @@
         loop does not crash AWT.
         @author Andrei Dmitriev: area=awt.event
         @library ../../regtesthelpers
+        @modules java.desktop/sun.awt
         @build Util
         @run main LoopRobustness
   -->
--- a/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011,2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011,2015 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 @@
  * @bug 8004584
  * @summary Tests 8004584
  * @author anthony.petrov@oracle.com, petr.pchelko@oracle.com
+ * @modules java.desktop/sun.awt
  */
 
 import java.awt.*;
--- a/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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 @@
  * @bug 4171596 6699589
  * @summary Checks that the posting of events between the PostEventQueue
  * @summary and the EventQueue maintains proper ordering.
+ * @modules java.desktop/sun.awt
  * @run main PostEventOrderingTest
  * @author fredx
  */
--- a/jdk/test/java/awt/EventQueue/PushPopDeadlock2/PushPopTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/EventQueue/PushPopDeadlock2/PushPopTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -25,6 +25,7 @@
   @test
   @bug 4913324
   @author Oleg Sukhodolsky: area=eventqueue
+  @modules java.desktop/sun.awt
   @run main/timeout=30 PushPopTest
 */
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/FileDialog/8017487/bug8017487.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+   @bug 8017487
+   @summary filechooser in Windows-Libraries folder: columns are mixed up
+   @author Semyon Sadetsky
+   @library /lib/testlibrary
+   @build jdk.testlibrary.OSInfo
+   @run main bug8017487
+  */
+
+
+import jdk.testlibrary.OSInfo;
+
+import sun.awt.shell.ShellFolder;
+import sun.awt.shell.ShellFolderColumnInfo;
+import javax.swing.filechooser.FileSystemView;
+import java.io.File;
+
+public class bug8017487
+{
+    public static void main(String[] p_args) throws Exception {
+        if (OSInfo.getOSType() == OSInfo.OSType.WINDOWS &&
+                OSInfo.getWindowsVersion().compareTo(OSInfo.WINDOWS_VISTA) > 0 ) {
+            test();
+            System.out.println("ok");
+        }
+    }
+
+    private static void test() throws Exception {
+        FileSystemView fsv = FileSystemView.getFileSystemView();
+        File def = new File(fsv.getDefaultDirectory().getAbsolutePath());
+        ShellFolderColumnInfo[] defColumns =
+                ShellFolder.getShellFolder(def).getFolderColumns();
+
+        File[] files = fsv.getHomeDirectory().listFiles();
+        for (File file : files) {
+            if( "Libraries".equals(ShellFolder.getShellFolder( file ).getDisplayName())) {
+                File[] libs = file.listFiles();
+                for (File lib : libs) {
+                    ShellFolder libFolder =
+                            ShellFolder.getShellFolder(lib);
+                    if( "Library".equals(libFolder.getFolderType() ) ) {
+                        ShellFolderColumnInfo[] folderColumns =
+                                libFolder.getFolderColumns();
+
+                        for (int i = 0; i < defColumns.length; i++) {
+                            if (!defColumns[i].getTitle()
+                                    .equals(folderColumns[i].getTitle()))
+                                throw new RuntimeException("Columnn " +
+                                        folderColumns[i].getTitle() +
+                                        " doesn't match " +
+                                        defColumns[i].getTitle());
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/FileDialog/FileDialogOpenDirTest/FileDialogOpenDirTest.html	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,43 @@
+<!--
+ Copyright (c) 2004, 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
+ under the terms of the GNU General Public License version 2 only, as
+ published by the Free Software Foundation.
+
+ This code is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ version 2 for more details (a copy is included in the LICENSE file that
+ accompanied this code).
+
+ You should have received a copy of the GNU General Public License version
+ 2 along with this work; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ or visit www.oracle.com if you need additional information or have any
+ questions.
+-->
+
+<html>
+<!--
+  @test
+  @bug 4974135
+  @summary FileDialog should open current directory by default.
+  @author tav@sparc.spb.su: area=awt.filedialog
+  @run applet/manual=yesno FileDialogOpenDirTest.html
+  -->
+<head>
+<title>FileDialogOpenDirTest</title>
+</head>
+<body>
+
+<h1>FileDialogOpenDirTest<br>Bug ID: 4974135</h1>
+
+<p>See the dialog box (usually in upper left corner) for instructions</p>
+
+<APPLET CODE="FileDialogOpenDirTest.class" WIDTH=200 HEIGHT=200></APPLET>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/FileDialog/FileDialogOpenDirTest/FileDialogOpenDirTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,239 @@
+/*
+ * Copyright (c) 2004, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ test
+ @bug 4974135
+ @summary FileDialog should open current directory by default.
+ @author tav@sparc.spb.su area=awt.filedialog
+ @run applet/manual=yesno FileDialogOpenDirTest.html
+*/
+
+import java.awt.*;
+import java.awt.event.*;
+import java.applet.*;
+
+public class FileDialogOpenDirTest extends Applet {
+
+    public static void main(String[] args) {
+        Applet a = new FileDialogOpenDirTest();
+        a.init();
+        a.start();
+    }
+
+    public void init()
+    {
+        System.setProperty("sun.awt.disableGtkFileDialogs","true");
+        //Create instructions for the user here, as well as set up
+        // the environment -- set the layout manager, add buttons,
+        // etc.
+        this.setLayout (new BorderLayout ());
+
+        String curdir = System.getProperty("user.dir");
+
+        String[] instructions1 =
+        {
+            "After test started you will see 'Test Frame' with a button inside.",
+            "Click the button to open FileDialog.",
+            "Verify that the directory opened is current directory, that is:",
+            curdir,
+            "If so press PASSED, otherwise FAILED."
+        };
+
+        String[] instructions2 =
+        {
+            "The test is not applicable for current platform. Press PASSED."
+        };
+
+        Sysout.createDialogWithInstructions(Toolkit.getDefaultToolkit().getClass().getName().
+                                            equals("sun.awt.X11.XToolkit") ?
+                                            instructions1 : instructions2);
+    }
+
+    public void start() {
+        Frame frame = new Frame("Test Frame");
+        Button open = new Button("Open File Dialog");
+
+        open.addActionListener(new ActionListener() {
+                public void actionPerformed(ActionEvent e) {
+                    new FileDialog(new Frame()).show();
+                }
+            });
+
+        frame.setLayout(new FlowLayout());
+        frame.add(open);
+
+        int x = 0;
+        int y = 0;
+        Component dlg = null;
+
+        if ((dlg = Sysout.getDialog()) != null) {
+            x = dlg.getBounds().x + dlg.getBounds().width;
+            y = dlg.getBounds().y;
+        }
+        frame.setBounds(x, y, 150, 70);
+        frame.setVisible(true);
+    }
+}
+
+
+/****************************************************
+ Standard Test Machinery
+ DO NOT modify anything below -- it's a standard
+  chunk of code whose purpose is to make user
+  interaction uniform, and thereby make it simpler
+  to read and understand someone else's test.
+ ****************************************************/
+
+/**
+ This is part of the standard test machinery.
+ It creates a dialog (with the instructions), and is the interface
+  for sending text messages to the user.
+ To print the instructions, send an array of strings to Sysout.createDialog
+  WithInstructions method.  Put one line of instructions per array entry.
+ To display a message for the tester to see, simply call Sysout.println
+  with the string to be displayed.
+ This mimics System.out.println but works within the test harness as well
+  as standalone.
+ */
+
+class Sysout
+{
+    private static TestDialog dialog;
+
+    public static void createDialogWithInstructions( String[] instructions )
+    {
+        dialog = new TestDialog( new Frame(), "Instructions" );
+        dialog.printInstructions( instructions );
+        dialog.setVisible(true);
+        println( "Any messages for the tester will display here." );
+    }
+
+    public static void createDialog( )
+    {
+        dialog = new TestDialog( new Frame(), "Instructions" );
+        String[] defInstr = { "Instructions will appear here. ", "" } ;
+        dialog.printInstructions( defInstr );
+        dialog.setVisible(true);
+        println( "Any messages for the tester will display here." );
+    }
+
+
+    public static void printInstructions( String[] instructions )
+    {
+        dialog.printInstructions( instructions );
+    }
+
+
+    public static void println( String messageIn )
+    {
+        dialog.displayMessage( messageIn );
+    }
+
+    public static Component getDialog() {
+        return dialog;
+    }
+
+}// Sysout  class
+
+/**
+  This is part of the standard test machinery.  It provides a place for the
+   test instructions to be displayed, and a place for interactive messages
+   to the user to be displayed.
+  To have the test instructions displayed, see Sysout.
+  To have a message to the user be displayed, see Sysout.
+  Do not call anything in this dialog directly.
+  */
+class TestDialog extends Dialog
+{
+
+    TextArea instructionsText;
+    TextArea messageText;
+    int maxStringLength = 80;
+
+    //DO NOT call this directly, go through Sysout
+    public TestDialog( Frame frame, String name )
+    {
+        super( frame, name );
+        int scrollBoth = TextArea.SCROLLBARS_BOTH;
+        instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
+        add( "North", instructionsText );
+
+        messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
+        add("Center", messageText);
+
+        pack();
+
+        setVisible(true);
+    }// TestDialog()
+
+    //DO NOT call this directly, go through Sysout
+    public void printInstructions( String[] instructions )
+    {
+        //Clear out any current instructions
+        instructionsText.setText( "" );
+
+        //Go down array of instruction strings
+
+        String printStr, remainingStr;
+        for( int i=0; i < instructions.length; i++ )
+        {
+            //chop up each into pieces maxSringLength long
+            remainingStr = instructions[ i ];
+            while( remainingStr.length() > 0 )
+            {
+                //if longer than max then chop off first max chars to print
+                if( remainingStr.length() >= maxStringLength )
+                {
+                    //Try to chop on a word boundary
+                    int posOfSpace = remainingStr.
+                        lastIndexOf( ' ', maxStringLength - 1 );
+
+                    if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
+
+                    printStr = remainingStr.substring( 0, posOfSpace + 1 );
+                    remainingStr = remainingStr.substring( posOfSpace + 1 );
+                }
+                //else just print
+                else
+                {
+                    printStr = remainingStr;
+                    remainingStr = "";
+                }
+
+                instructionsText.append( printStr + "\n" );
+
+            }// while
+
+        }// for
+
+    }//printInstructions()
+
+    //DO NOT call this directly, go through Sysout
+    public void displayMessage( String messageIn )
+    {
+        messageText.append( messageIn + "\n" );
+        System.out.println(messageIn);
+    }
+
+}// TestDialog  class
--- a/jdk/test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -36,7 +36,6 @@
 import java.applet.Applet;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.lang.reflect.InvocationTargetException;
-import sun.awt.SunToolkit;
 import test.java.awt.regtesthelpers.Util;
 
 public class ActualFocusedWindowBlockingTest extends Applet {
--- a/jdk/test/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Focus/ModalExcludedWindowClickTest/ModalExcludedWindowClickTest.html	Thu Jul 02 17:50:25 2015 -0700
@@ -27,6 +27,7 @@
   @bug        6271849
   @summary    Tests that component in modal excluded Window which parent is blocked responses to mouse clicks.
   @author     anton.tarasov@sun.com: area=awt.focus
+  @modules java.desktop/sun.awt
   @run        applet ModalExcludedWindowClickTest.html
   -->
 <head>
--- a/jdk/test/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.html	Thu Jul 02 17:50:25 2015 -0700
@@ -27,6 +27,7 @@
   @bug        6272324
   @summary    Modal excluded Window which decorated parent is blocked should be non-focusable.
   @author     anton.tarasov@sun.com: area=awt.focus
+  @modules java.desktop/sun.awt
   @run        applet NonFocusableBlockedOwnerTest.html
   -->
 <head>
--- a/jdk/test/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.html	Thu Jul 02 17:50:25 2015 -0700
@@ -27,6 +27,7 @@
   @bug        6253913
   @summary    Tests that a Window shown before its owner is focusable.
   @author     anton.tarasov@sun.com: area=awt-focus
+  @modules java.desktop/sun.awt
   @run        applet WindowUpdateFocusabilityTest.html
   -->
 <head>
--- a/jdk/test/java/awt/Graphics2D/Test8004859/Test8004859.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Graphics2D/Test8004859/Test8004859.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -34,6 +34,8 @@
  * @bug 8004859
  * @summary getClipBounds/getClip should return equivalent bounds.
  * @author Sergey Bylokhov
+ * @modules java.desktop/sun.java2d
+ *          java.desktop/sun.java2d.pipe
  */
 public final class Test8004859 {
 
--- a/jdk/test/java/awt/Graphics2D/TransformSetGet/TransformSetGet.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Graphics2D/TransformSetGet/TransformSetGet.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -33,6 +33,7 @@
  * @bug 8000629
  * @summary Set/get transform should work on constrained graphics.
  * @author Sergey Bylokhov
+ * @modules java.desktop/sun.java2d
  */
 public class TransformSetGet {
 
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 <!--
- Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2003, 2015, 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
@@ -28,6 +28,7 @@
   @summary Tests that type-ahead for dialog works and doesn't block program
   @author  area=awt.focus
   @library    ../../regtesthelpers
+  @modules java.desktop/sun.awt
   @build      Util        
   @run applet TestDialogTypeAhead.html
   -->
--- a/jdk/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Menu/OpensWithNoGrab/OpensWithNoGrab.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, 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
@@ -28,6 +28,7 @@
   @author andrei.dmitriev: area=awt.menu
   @library ../../regtesthelpers
   @library ../../../../lib/testlibrary
+  @modules java.desktop/sun.awt
   @build jdk.testlibrary.OSInfo
   @build Util
   @run main OpensWithNoGrab
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JButtonInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JButtonInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JButton
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JButtonInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JButtonOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JButtonOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JButton
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JButtonOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JColorChooserOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JColorChooserOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +32,7 @@
 @summary Simple Overlapping test for javax.swing.JColorChooser
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JColorChooserOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -43,6 +43,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JComboBoxOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JEditorPaneInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JEditorPaneInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JEditorPaneInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JEditorPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JEditorPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +32,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JEditorPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JGlassPaneInternalFrameOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JGlassPaneInternalFrameOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -45,6 +45,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JGlassPaneInternalFrameOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JGlassPaneMoveOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JGlassPaneMoveOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -46,6 +46,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JGlassPaneMoveOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JInternalFrameMoveOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JInternalFrameMoveOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -42,6 +42,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JInternalFrameMoveOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JInternalFrameOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JInternalFrameOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -41,6 +41,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JInternalFrameOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JLabelInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JLabelInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JLabelInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JLabelOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JLabelOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JLabelOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JListInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JListInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JList
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JListInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JListOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JListOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +32,7 @@
 @summary Simple Overlapping test for javax.swing.JList
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JListOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JMenuBarOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JMenuBarOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -48,6 +48,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JMenuBarOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JPanelInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JPanelInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JPanel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JPanelInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JPanelOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JPanelOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JPanel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JPanelOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JPopupMenuOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JPopupMenuOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -45,6 +45,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JPopupMenuOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JProgressBarInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JProgressBarInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JProgressBar
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JProgressBarInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JProgressBarOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JProgressBarOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JProgressBar
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JProgressBarOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JScrollBarInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JScrollBarInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -37,6 +37,7 @@
 @summary Simple Overlapping test for javax.swing.JScrollBar
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JScrollBarInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JScrollBarOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JScrollBarOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -36,6 +36,7 @@
 @summary Simple Overlapping test for javax.swing.JScrollBar
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JScrollBarOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JScrollPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JScrollPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -43,6 +43,7 @@
 @summary Overlapping test for javax.swing.JScrollPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JScrollPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JSliderInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JSliderInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JSlider
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSliderInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JSliderOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JSliderOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JSlider
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSliderOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JSpinnerInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JSpinnerInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -36,6 +36,7 @@
 @summary Simple Overlapping test for javax.swing.JSpinner
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSpinnerInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JSpinnerOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JSpinnerOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +35,7 @@
 @summary Simple Overlapping test for javax.swing.JSpinner
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSpinnerOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +49,7 @@
 @summary Overlapping test for javax.swing.JSplitPane
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JSplitPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JTableInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JTableInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -36,6 +36,7 @@
 @summary Simple Overlapping test for JTable
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTableInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JTableOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JTableOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +32,7 @@
 @summary Simple Overlapping test for JTable
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTableOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JTextAreaInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JTextAreaInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTextAreaInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JTextAreaOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JTextAreaOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTextAreaOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JTextFieldInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JTextFieldInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -34,6 +34,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTextFieldInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JTextFieldOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JTextFieldOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JLabel
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JTextFieldOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JToggleButtonInGlassPaneOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JToggleButtonInGlassPaneOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -33,6 +33,7 @@
 @summary Simple Overlapping test for javax.swing.JToggleButton
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JToggleButtonInGlassPaneOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/JToggleButtonOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/JToggleButtonOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +32,7 @@
 @summary Simple Overlapping test for javax.swing.JToggleButton
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main JToggleButtonOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -42,6 +42,7 @@
 @summary Issues when resizing the JFrame with HW components
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main MixingFrameResizing
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/OpaqueOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/OpaqueOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -46,6 +46,8 @@
 @bug 6776743
 @summary Opaque overlapping test for each AWT component
 @library ../../regtesthelpers
+@modules java.desktop/com.sun.awt
+         java.desktop/sun.awt
 @build Util
 @run main OpaqueOverlapping
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/OpaqueOverlappingChoice.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/OpaqueOverlappingChoice.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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,6 +32,8 @@
 @bug 6994264
 @summary Opaque overlapping test for Choice AWT component
 @library ../../regtesthelpers
+@modules java.desktop/com.sun.awt
+         java.desktop/sun.awt
 @build Util
 @run main OpaqueOverlappingChoice
  */
--- a/jdk/test/java/awt/Mixing/AWT_Mixing/ViewportOverlapping.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/AWT_Mixing/ViewportOverlapping.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -51,6 +51,7 @@
 @summary Viewport overlapping test for each AWT component
 @author sergey.grinev@oracle.com: area=awt.mixing
 @library ../../regtesthelpers
+@modules java.desktop/sun.awt
 @build Util
 @run main ViewportOverlapping
  */
--- a/jdk/test/java/awt/Mixing/OpaqueTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mixing/OpaqueTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -27,6 +27,7 @@
   @summary Tests whether opaque and non-opaque components mix correctly
   @author anthony.petrov@...: area=awt.mixing
   @library ../regtesthelpers
+  @modules java.desktop/com.sun.awt
   @build Util
   @run main OpaqueTest
 */
--- a/jdk/test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -21,7 +21,6 @@
 * questions.
 */
 
-import sun.misc.OSEnvironment;
 import test.java.awt.regtesthelpers.Util;
 
 import javax.swing.*;
--- a/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java	Thu Jul 02 17:50:25 2015 -0700
@@ -38,7 +38,6 @@
 
 import java.awt.*;
 import java.awt.event.*;
-import sun.awt.SunToolkit;
 import test.java.awt.regtesthelpers.Util;
 
 public class AcceptExtraMouseButtons extends Frame {
--- a/jdk/test/java/awt/SplashScreen/FullscreenAfterSplash/FullScreenAfterSplash.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/SplashScreen/FullscreenAfterSplash/FullScreenAfterSplash.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+* Copyright (c) 2013, 2015, 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
@@ -38,6 +38,7 @@
  * @summary Native Mac OS X full screen does not work after showing the splash
  * @library ../
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @build GenerateTestImage
  * @run main GenerateTestImage
--- a/jdk/test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -44,6 +44,7 @@
  * @author Alexander Scherbatiy
  * @summary [macosx] java -splash does not honor 2x hi dpi notation for retina
  * support
+ * @modules java.desktop/sun.java2d
  * @run main MultiResolutionSplashTest GENERATE_IMAGES
  * @run main/othervm -splash:splash1.png MultiResolutionSplashTest TEST_SPLASH 0
  * @run main/othervm -splash:splash2 MultiResolutionSplashTest TEST_SPLASH 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/java/awt/Toolkit/RealSync/RealSyncOnEDT.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Toolkit/RealSync/RealSyncOnEDT.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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 @@
   @bug 6541903
   @summary Tests if the realSync() throws the IllegalThreadException while invoked on the EDT
   @author anthony.petrov: area=awt.toolkit
+  @modules java.desktop/sun.awt
   @run main/timeout=10 RealSyncOnEDT
 */
 
--- a/jdk/test/java/awt/Toolkit/RealSync/Test.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Toolkit/RealSync/Test.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, 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 @@
   @bug 6252005
   @summary Tests that realSync feature works
   @author denis.mikhalkin: area=awt.toolkit
+  @modules java.desktop/sun.awt
   @run main/timeout=6000 Test
 */
 
--- a/jdk/test/java/awt/Window/AlwaysOnTop/AutoTestOnTop.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Window/AlwaysOnTop/AutoTestOnTop.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,6 +26,7 @@
   @bug 4632143
   @summary Unit test for the RFE window/frame/dialog always on top
   @author dom@sparc.spb.su: area=awt.toplevel
+  @modules java.desktop/sun.awt
   @run main AutoTestOnTop
 */
 
--- a/jdk/test/java/awt/Window/Grab/GrabTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Window/Grab/GrabTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -27,6 +27,7 @@
   @summary Tests that SunToolkit.grab API works
   @author anton.tarasov@oracle.com: area=awt.toolkit
   @library ../../regtesthelpers
+  @modules java.desktop/sun.awt
   @build Util
   @run main GrabTest
 */
--- a/jdk/test/java/awt/Window/WindowsLeak/WindowsLeak.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/Window/WindowsLeak/WindowsLeak.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -25,6 +25,7 @@
  * @test
  * @bug 8013563
  * @summary Tests that windows are removed from windows list
+ * @modules java.desktop/sun.awt
  * @run main/othervm -Xms32M -Xmx32M WindowsLeak
 */
 
--- a/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2008, 2015, 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
@@ -27,6 +27,8 @@
 #   @bug     6193279 6619458
 #   @summary REGRESSION: AppletViewer throws IOException when path is encoded URL
 #   @author  Dmitry Cherepanov: area=appletviewer
+#   @modules java.base/sun.net.www
+#            java.desktop
 #   @run compile IOExceptionIfEncodedURLTest.java
 #   @run main IOExceptionIfEncodedURLTest
 #   @run shell IOExceptionIfEncodedURLTest.sh
--- a/jdk/test/java/awt/datatransfer/Clipboard/BasicClipboardTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/Clipboard/BasicClipboardTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2015, 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
@@ -29,6 +29,7 @@
  * @test
  * @summary To test the basic Clipboard functions
  * @author Kanishk Jethi (kanishk.jethi@sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main BasicClipboardTest
  */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorCloneTest/DataFlavorCloneTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorCloneTest/DataFlavorCloneTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4181601
   @summary tests that DataFlavor.clone method doesn't throw exception
   @author xianfa: area=
+  @modules java.datatransfer
   @run main DataFlavorCloneTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorEqualsNullTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorEqualsNullTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4175731
   @summary DataFlavor.equals(null) throws NullPointerException
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DataFlavorEqualsNullTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorEqualsTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorEqualsTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4175341
   @summary DataFlavor.equals throws NullPointerException
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DataFlavorEqualsTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorFileListTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorFileListTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4172848
   @summary DataFlavor.isFlavorJavaFileListType works wrong
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DataFlavorFileListTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorSerializedTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/DataFlavorSerializedTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4174020
   @summary DataFlavor.isMimeTypeSerializedObject works wrong
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DataFlavorSerializedTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/DefaultMatchTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/DefaultMatchTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4250750
   @summary tests that DataFlavor.match() does not throw NPE.
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main DefaultMatchTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/EqualsHashCodeSymmetryTest/EqualsHashCodeSymmetryTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/EqualsHashCodeSymmetryTest/EqualsHashCodeSymmetryTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -28,6 +28,7 @@
  * @bug 8038999
  * @summary DataFlavor.equals is not symmetric
  * @author Petr Pchelko <petr.pchelko@oracle.com>
+ * @modules java.datatransfer
  */
 public class EqualsHashCodeSymmetryTest {
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/ExternalizeTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/ExternalizeTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4274267
   @summary Tests that externalized DataFlavor is restored properly
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main ExternalizeTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/GetReaderForTextIAEForStringSelectionTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/GetReaderForTextIAEForStringSelectionTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4260874
   @summary Tests that DataFlavor.getReaderForText do not throw NPE when transferObject is null
   @author tdv@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main GetReaderForTextIAEForStringSelectionTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/GetReaderForTextNPETest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/GetReaderForTextNPETest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4260874
   @summary Tests that DataFlavor.getReaderForText do not throw NPE when transferObject is null
   @author tdv@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main GetReaderForTextNPETest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/MimeTypeSerializationTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/MimeTypeSerializationTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -27,6 +27,7 @@
   @summary Tests that long (more than 64K) MimeType can be serialized
            and deserialized.
   @author gas@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main MimeTypeSerializationTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/NoClassParameterTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/NoClassParameterTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4212613
   @summary tests that DataFlavor(String) doesn't through Exception if no "class=" specified.
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main NoClassParameterTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/NormalizeMimeTypeParameter.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/NormalizeMimeTypeParameter.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4260860
   @summary tests that DataFlavor.normalizeMimeTypeParameter() returns parm value
   @author ssi@sparc.spb.su area=
+  @modules java.datatransfer
   @run main NormalizeMimeTypeParameter
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/ReaderForUnicodeText.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/ReaderForUnicodeText.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4274234
   @summary Tests that DataFlavor.getReaderForText() doesn't throw UnsupportedEncodingException for unicode text
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main ReaderForUnicodeText
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/SelectBestFlavorNPETest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/SelectBestFlavorNPETest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4370469
   @summary tests that selectBestTextFlavor doesn't throw NPE
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main SelectBestFlavorNPETest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/SelectBestTextFlavorBadArrayTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/SelectBestTextFlavorBadArrayTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -28,6 +28,7 @@
            is a null array or an empty array or an array which doesn't contain
            a text flavor in a supported encoding.
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main SelectBestTextFlavorBadArrayTest
 */
 
--- a/jdk/test/java/awt/datatransfer/DataFlavor/ToStringNullPointerTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/DataFlavor/ToStringNullPointerTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
   @bug 4250768
   @summary tests that DataFlavor.toString() does not throw NPE
   @author prs@sparc.spb.su: area=
+  @modules java.datatransfer
   @run main ToStringNullPointerTest
 */
 
--- a/jdk/test/java/awt/datatransfer/Headless/HeadlessClipboard.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/Headless/HeadlessClipboard.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -27,6 +27,7 @@
  * @test
  * @summary Check Clipboard constructor and getName() method do not throw
  *          exceptions in headless mode
+ * @modules java.datatransfer
  * @run main/othervm -Djava.awt.headless=true HeadlessClipboard
  */
 
--- a/jdk/test/java/awt/datatransfer/Headless/HeadlessDataFlavor.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/Headless/HeadlessDataFlavor.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -27,6 +27,7 @@
  * @test
  * @summary Check that DataFlavor constructors do not throw unexpected exceptions
  *          in headless mode
+ * @modules java.datatransfer
  * @run main/othervm -Djava.awt.headless=true HeadlessDataFlavor
  */
 
--- a/jdk/test/java/awt/datatransfer/Headless/HeadlessSystemFlavorMap.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/Headless/HeadlessSystemFlavorMap.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -28,6 +28,7 @@
  * @test
  * @summary Check that SystemFlavorMap constructor does not throw unexpected
  *          exceptions in headless mode
+ * @modules java.datatransfer
  * @run main/othervm -Djava.awt.headless=true HeadlessSystemFlavorMap
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/AddFlavorForNativeTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/AddFlavorForNativeTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -37,6 +37,7 @@
  *          adding new mappings, one-way and two-way, and to update
  *          existing mappings.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main AddFlavorForNativeTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/AddFlavorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/AddFlavorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -38,6 +38,7 @@
  *          that all entries are present, and order is maintained.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
  * @author dmitriy.ermashov@oracle.com
+ * @modules java.datatransfer
  * @run main AddFlavorTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/AddNativeForFlavorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/AddNativeForFlavorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -37,6 +37,7 @@
  *          adding new mappings, one-way and two-way, and to update
  *          existing mappings.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main AddNativeForFlavorTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/AddNativeTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/AddNativeTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -36,6 +36,7 @@
  *          DataFlavors.  The mappings will be verified by examining
  *          that all entries are present.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main AddNativeTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/DuplicateMappingTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/DuplicateMappingTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -27,6 +27,7 @@
   @summary tests that addUnencodedNativeForFlavor()/addFlavorForUnencodedNative()
            do not allow to duplicate mappings
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main DuplicateMappingTest
 */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/DuplicatedNativesTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/DuplicatedNativesTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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,6 +32,7 @@
  * @bug 8028230
  * @summary Checks that SystemFlavorMap.getNativesForFlavor returns a list without duplicates
  * @author Petr Pchelko
+ * @modules java.datatransfer
  * @run main DuplicatedNativesTest
  */
 public class DuplicatedNativesTest {
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/GetFlavorsForNewNativeTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/GetFlavorsForNewNativeTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -38,6 +38,7 @@
  *          returned, and with unknown Encoded String native where
  *          two-way mapping should be established.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main GetFlavorsForNewNativeTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/GetNativesForFlavorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/GetNativesForFlavorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -28,6 +28,7 @@
            only if there are no mappings for the DataFlavor and the mappings
            were not explicitly removed
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main GetNativesForFlavorTest
 */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/GetNativesForNewFlavorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/GetNativesForNewFlavorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -37,6 +37,7 @@
  *          passing an unknown DataFlavor where two-way mapping
  *          should be established.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main GetNativesForNewFlavorTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/InvalidMapArgumentsTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/InvalidMapArgumentsTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -36,6 +36,7 @@
  *          - setNativesForFlavor(DataFlavor flav, String[] natives)
  *          - setFlavorsForNative(String nat, DataFlavor[] flavors)
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main InvalidMapArgumentsTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/ManyFlavorMapTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/ManyFlavorMapTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -37,6 +37,7 @@
  *          include all entries and that the correct order is
  *          maintained.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main ManyFlavorMapTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/MappingGenerationTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/MappingGenerationTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -30,6 +30,7 @@
   @bug 4512530 8027148
   @summary tests that mappings for text flavors are generated properly
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
 */
 
 public class MappingGenerationTest {
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetDataFlavorsTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetDataFlavorsTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, 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
@@ -39,6 +39,7 @@
  *          DataFlavors.  The mappings will be verified by examining
  *          that all entries are present, and order is maintained.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main SetDataFlavorsTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetFlavorsForNativeTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetFlavorsForNativeTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -37,6 +37,7 @@
  *          adding new mappings, one-way and two-way, and to update
  *          existing mappings.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main SetFlavorsForNativeTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetNativesForFlavor.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetNativesForFlavor.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -37,6 +37,7 @@
  *          adding new mappings, one-way and two-way, and to update
  *          existing mappings.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main SetNativesForFlavorTest
  */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetNativesForFlavorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetNativesForFlavorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -27,6 +27,7 @@
   @summary tests that getNativesForFlavor()/getFlavorsForNative() return the
            same list as was set with setNativesForFlavor()/setFlavorsForNative()
   @author das@sparc.spb.su area=datatransfer
+  @modules java.datatransfer
   @run main SetNativesForFlavorTest
 */
 
--- a/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetNativesTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/datatransfer/SystemFlavorMap/SetNativesTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2015, 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
@@ -39,6 +39,7 @@
  *          DataFlavors.  The mappings will be verified by examining
  *          that all entries are present, and order is maintained.
  * @author Rick Reynaga (rick.reynaga@eng.sun.com) area=Clipboard
+ * @modules java.datatransfer
  * @run main SetNativesTest
  */
 
--- a/jdk/test/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/event/ComponentEvent/MovedResizedTardyEventTest/MovedResizedTardyEventTest.html	Thu Jul 02 17:50:25 2015 -0700
@@ -27,6 +27,7 @@
   @bug          4985250
   @summary      COMPONENT_MOVED/RESIZED tardy events shouldn't be generated.
   @author       tav@sparc.spb.su
+  @modules java.desktop/sun.awt
   @run applet MovedResizedTardyEventTest.html
   -->
 <head>
--- a/jdk/test/java/awt/event/KeyEvent/AltCharAcceleratorTest/AltCharAcceleratorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/event/KeyEvent/AltCharAcceleratorTest/AltCharAcceleratorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,6 +26,7 @@
 @bug 8068283
 @summary Checks that <Alt>+Char accelerators work when pressed in a text component
 @author Anton Nashatyrev
+@modules java.desktop/sun.awt
 @run main AltCharAcceleratorTest
 */
 
--- a/jdk/test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -28,6 +28,7 @@
   @author    anton.tarasov: area=awt.focus
   @library   ../../../regtesthelpers
   @library ../../../../../lib/testlibrary
+  @modules java.desktop/sun.awt
   @build jdk.testlibrary.OSInfo
   @build     Util
   @run       main SwallowKeyEvents
--- a/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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 @@
   @bug 6960516
   @summary check if the ungrab event has the ID < AWTEvent.RESERVED_ID_MAX
   @author Andrei Dmitriev : area=awt.event
+  @modules java.desktop/sun.awt
   @run main UngrabID
 */
 
--- a/jdk/test/java/awt/im/8041990/bug8041990.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/im/8041990/bug8041990.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -27,6 +27,7 @@
   @bug 8041990
   @summary Language specific keys does not work in applets when opened outside the browser
   @author Petr Pchelko
+  @modules java.desktop/sun.awt
 */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/java/awt/image/MultiResolutionImage/NSImageToMultiResolutionImageTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/image/MultiResolutionImage/NSImageToMultiResolutionImageTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -30,6 +30,8 @@
  * @bug 8033534 8035069
  * @summary [macosx] Get MultiResolution image from native system
  * @author Alexander Scherbatiy
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.awt.image
  * @run main NSImageToMultiResolutionImageTest
  */
 
--- a/jdk/test/java/awt/image/MultiResolutionImageTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/image/MultiResolutionImageTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -47,6 +47,8 @@
  * @bug 8011059
  * @author Alexander Scherbatiy
  * @summary [macosx] Make JDK demos look perfect on retina displays
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.awt.image
  * @run main MultiResolutionImageTest CUSTOM
  * @run main MultiResolutionImageTest TOOLKIT_PREPARE
  * @run main MultiResolutionImageTest TOOLKIT_LOAD
--- a/jdk/test/java/awt/image/mlib/MlibOpsTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/image/mlib/MlibOpsTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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 @@
  * @bug     6556332 8011992 8012112
  * @summary Test verifies that on-demnad loading of medialib library does
  *          not break imageing ops based on this library.
+ * @modules java.desktop/sun.awt.image
  * @run     main MlibOpsTest
  * @run     main/othervm/policy=mlib.security.policy MlibOpsTest
  */
--- a/jdk/test/java/awt/image/multiresolution/MultiResolutionToolkitImageTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/image/multiresolution/MultiResolutionToolkitImageTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -39,6 +39,8 @@
  * @bug 8040291
  * @author Alexander Scherbatiy
  * @summary [macosx] Http-Images are not fully loaded when using ImageIcon
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.awt.image
  * @run main MultiResolutionToolkitImageTest
  */
 public class MultiResolutionToolkitImageTest {
--- a/jdk/test/java/awt/keyboard/EqualKeyCode/EqualKeyCode.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/keyboard/EqualKeyCode/EqualKeyCode.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,6 +26,7 @@
   @bug 6799551
   @summary Extended key codes for small letters undefined
   @author Andrei Dmitriev: area=awt.keyboard
+  @modules java.desktop/sun.awt
   @run main EqualKeyCode
 */
 
--- a/jdk/test/java/awt/print/bug8023392/bug8023392.html	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/print/bug8023392/bug8023392.html	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 <!--
- Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2013, 2015, 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
@@ -27,6 +27,7 @@
   @bug 8023392
   @summary Swing text components printed with spaces between chars
   @author Anton Nashatyrev
+  @modules java.desktop/sun.swing
   @run applet/manual=yesno bug8023392.html
   -->
 <head>
--- a/jdk/test/java/awt/xembed/server/RunTestXEmbed.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/xembed/server/RunTestXEmbed.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2015, 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 @@
  * @bug 4931668
  * @summary Tests XEmbed server/client functionality
  * @author Denis Mikhalkin: area=awt.xembed
+ * @modules java.desktop/sun.awt
  * @compile JavaClient.java TesterClient.java TestXEmbedServer.java
  * @run main/timeout=6000 RunTestXEmbed
  */
--- a/jdk/test/java/awt/xembed/server/TestXEmbedServerJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/awt/xembed/server/TestXEmbedServerJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2015, 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 @@
  * @bug 4931668
  * @summary Tests XEmbed server/client functionality
  * @author denis mikhalkin: area=awt.xembed
+ * @modules java.desktop/sun.awt
  * @compile JavaClient.java TesterClient.java TestXEmbedServer.java
  * @run main/manual TestXEmbedServerJava
  */
--- a/jdk/test/java/beans/Introspector/Test6277246.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/Introspector/Test6277246.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2015, 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
@@ -25,6 +25,8 @@
  * @test
  * @bug 6277246
  * @summary Tests problem with java.beans use of reflection
+ * @modules java.base/sun.misc
+ *          java.desktop
  * @run main/othervm Test6277246
  * @author Jeff Nisewanger
  */
--- a/jdk/test/java/beans/Introspector/TestCacheRecursion.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/Introspector/TestCacheRecursion.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -28,6 +28,7 @@
  * @bug 8039137
  * @summary Tests Cache recursion
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.util
  * @compile -XDignore.symbol.file TestCacheRecursion.java
  * @run main TestCacheRecursion
  */
--- a/jdk/test/java/beans/Introspector/TestTypeResolver.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/Introspector/TestTypeResolver.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -25,6 +25,8 @@
  * @test
  * @summary Tests com.sun.beans.TypeResolver
  * @author Eamonn McManus
+ * @modules java.base/sun.reflect.generics.reflectiveObjects
+ *          java.desktop/com.sun.beans
  */
 
 import com.sun.beans.TypeResolver;
--- a/jdk/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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,8 +26,10 @@
  * @bug 6380849
  * @summary Tests PropertyEditor finder
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.editors
  * @compile -XDignore.symbol.file TestPropertyEditor.java
  * @run main TestPropertyEditor
+ * @key headful
  */
 
 import editors.SecondBeanEditor;
--- a/jdk/test/java/beans/PropertyEditor/Test6397609.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/Test6397609.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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,9 @@
  * @bug 6397609
  * @summary Tests autocleaning
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.beans.PropertyEditorManager;
--- a/jdk/test/java/beans/PropertyEditor/Test6963811.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/Test6963811.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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 @@
  * @bug 6963811
  * @summary Tests deadlock in PropertyEditorManager
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.editors
  * @compile -XDignore.symbol.file Test6963811.java
  * @run main Test6963811
  */
--- a/jdk/test/java/beans/PropertyEditor/TestBooleanClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestBooleanClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510 6498158
  * @summary Tests PropertyEditor for value of type Boolean with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanClass {
--- a/jdk/test/java/beans/PropertyEditor/TestBooleanClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestBooleanClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498158
  * @summary Tests PropertyEditor for value of type Boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestBooleanClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestBooleanClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498158 6498171
  * @summary Tests PropertyEditor for null value of type Boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestBooleanClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestBooleanClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596 6498158
  * @summary Tests PropertyEditor for value of type Boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanClassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestBooleanType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestBooleanType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type boolean with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanType {
--- a/jdk/test/java/beans/PropertyEditor/TestBooleanTypeJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestBooleanTypeJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanTypeJava {
--- a/jdk/test/java/beans/PropertyEditor/TestBooleanTypeNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestBooleanTypeNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanTypeNull {
--- a/jdk/test/java/beans/PropertyEditor/TestBooleanTypeValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestBooleanTypeValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type boolean
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestBooleanTypeValue {
--- a/jdk/test/java/beans/PropertyEditor/TestByteClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestByteClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Byte with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteClass {
--- a/jdk/test/java/beans/PropertyEditor/TestByteClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestByteClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestByteClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestByteClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestByteClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestByteClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteClassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestByteType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestByteType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type byte with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteType {
--- a/jdk/test/java/beans/PropertyEditor/TestByteTypeJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestByteTypeJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteTypeJava {
--- a/jdk/test/java/beans/PropertyEditor/TestByteTypeNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestByteTypeNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteTypeNull {
--- a/jdk/test/java/beans/PropertyEditor/TestByteTypeValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestByteTypeValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type byte
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestByteTypeValue {
--- a/jdk/test/java/beans/PropertyEditor/TestColorClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestColorClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,10 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Color with security manager
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Color;
--- a/jdk/test/java/beans/PropertyEditor/TestColorClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestColorClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,10 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Color
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Color;
--- a/jdk/test/java/beans/PropertyEditor/TestColorClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestColorClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,10 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Color
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Color;
--- a/jdk/test/java/beans/PropertyEditor/TestColorClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestColorClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,10 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Color
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Color;
--- a/jdk/test/java/beans/PropertyEditor/TestDoubleClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestDoubleClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Double with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleClass {
--- a/jdk/test/java/beans/PropertyEditor/TestDoubleClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestDoubleClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestDoubleClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestDoubleClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestDoubleClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestDoubleClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleClassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestDoubleType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestDoubleType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type double with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleType {
--- a/jdk/test/java/beans/PropertyEditor/TestDoubleTypeJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestDoubleTypeJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleTypeJava {
--- a/jdk/test/java/beans/PropertyEditor/TestDoubleTypeNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestDoubleTypeNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleTypeNull {
--- a/jdk/test/java/beans/PropertyEditor/TestDoubleTypeValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestDoubleTypeValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type double
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestDoubleTypeValue {
--- a/jdk/test/java/beans/PropertyEditor/TestEnumClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestEnumClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6219769 6258510
  * @summary Tests PropertyEditor for value of type Enum with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumClass {
--- a/jdk/test/java/beans/PropertyEditor/TestEnumClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestEnumClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6219769
  * @summary Tests PropertyEditor for value of type Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestEnumClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestEnumClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6219769 6498171
  * @summary Tests PropertyEditor for null value of type Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestEnumClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestEnumClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4222827 4506596 6219769
  * @summary Tests PropertyEditor for value of type Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumClassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestEnumSubclass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestEnumSubclass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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,9 @@
  * @bug 6736248
  * @summary Tests PropertyEditor for value of subtype Enum with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumSubclass {
--- a/jdk/test/java/beans/PropertyEditor/TestEnumSubclassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestEnumSubclassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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,9 @@
  * @bug 6736248
  * @summary Tests PropertyEditor for value of subtype Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumSubclassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestEnumSubclassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestEnumSubclassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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,9 @@
  * @bug 6736248
  * @summary Tests PropertyEditor for null value of subtype Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumSubclassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestEnumSubclassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestEnumSubclassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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,9 @@
  * @bug 6736248
  * @summary Tests PropertyEditor for value of subtype Enum
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestEnumSubclassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestFloatClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFloatClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Float with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatClass {
--- a/jdk/test/java/beans/PropertyEditor/TestFloatClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFloatClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestFloatClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFloatClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestFloatClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFloatClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatClassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestFloatType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFloatType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type float with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatType {
--- a/jdk/test/java/beans/PropertyEditor/TestFloatTypeJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFloatTypeJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatTypeJava {
--- a/jdk/test/java/beans/PropertyEditor/TestFloatTypeNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFloatTypeNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatTypeNull {
--- a/jdk/test/java/beans/PropertyEditor/TestFloatTypeValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFloatTypeValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type float
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestFloatTypeValue {
--- a/jdk/test/java/beans/PropertyEditor/TestFontClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFontClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,10 @@
  * @bug 4506596 6258510 6538853
  * @summary Tests PropertyEditor for value of type Font with security manager
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Font;
--- a/jdk/test/java/beans/PropertyEditor/TestFontClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFontClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,10 @@
  * @bug 4506596 6538853
  * @summary Tests PropertyEditor for value of type Font
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Font;
--- a/jdk/test/java/beans/PropertyEditor/TestFontClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFontClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,10 @@
  * @bug 4506596 6498171 6538853
  * @summary Tests PropertyEditor for null value of type Font
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Font;
--- a/jdk/test/java/beans/PropertyEditor/TestFontClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestFontClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,10 @@
  * @bug 4222827 4506596 6538853
  * @summary Tests PropertyEditor for value of type Font
  * @author Sergey Malenkov
+ * @key headful
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 import java.awt.Font;
--- a/jdk/test/java/beans/PropertyEditor/TestIntegerClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestIntegerClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510 6498158
  * @summary Tests PropertyEditor for value of type Integer with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerClass {
--- a/jdk/test/java/beans/PropertyEditor/TestIntegerClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestIntegerClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498158
  * @summary Tests PropertyEditor for value of type Integer
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestIntegerClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestIntegerClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498158 6498171
  * @summary Tests PropertyEditor for null value of type Integer
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestIntegerClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestIntegerClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596 6498158
  * @summary Tests PropertyEditor for value of type Integer
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerClassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestIntegerType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestIntegerType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type int with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerType {
--- a/jdk/test/java/beans/PropertyEditor/TestIntegerTypeJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestIntegerTypeJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type int
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerTypeJava {
--- a/jdk/test/java/beans/PropertyEditor/TestIntegerTypeNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestIntegerTypeNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type int
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerTypeNull {
--- a/jdk/test/java/beans/PropertyEditor/TestIntegerTypeValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestIntegerTypeValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type int
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestIntegerTypeValue {
--- a/jdk/test/java/beans/PropertyEditor/TestLongClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestLongClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Long with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongClass {
--- a/jdk/test/java/beans/PropertyEditor/TestLongClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestLongClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestLongClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestLongClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestLongClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestLongClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongClassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestLongType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestLongType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type long with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongType {
--- a/jdk/test/java/beans/PropertyEditor/TestLongTypeJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestLongTypeJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongTypeJava {
--- a/jdk/test/java/beans/PropertyEditor/TestLongTypeNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestLongTypeNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongTypeNull {
--- a/jdk/test/java/beans/PropertyEditor/TestLongTypeValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestLongTypeValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type long
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestLongTypeValue {
--- a/jdk/test/java/beans/PropertyEditor/TestShortClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestShortClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type Short with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortClass {
--- a/jdk/test/java/beans/PropertyEditor/TestShortClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestShortClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type Short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestShortClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestShortClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type Short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestShortClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestShortClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type Short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortClassValue {
--- a/jdk/test/java/beans/PropertyEditor/TestShortType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestShortType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510
  * @summary Tests PropertyEditor for value of type short with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortType {
--- a/jdk/test/java/beans/PropertyEditor/TestShortTypeJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestShortTypeJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596
  * @summary Tests PropertyEditor for value of type short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortTypeJava {
--- a/jdk/test/java/beans/PropertyEditor/TestShortTypeNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestShortTypeNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6498171
  * @summary Tests PropertyEditor for null value of type short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortTypeNull {
--- a/jdk/test/java/beans/PropertyEditor/TestShortTypeValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestShortTypeValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4222827 4506596
  * @summary Tests PropertyEditor for value of type short
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestShortTypeValue {
--- a/jdk/test/java/beans/PropertyEditor/TestStringClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestStringClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6258510 6457659
  * @summary Tests PropertyEditor for value of type String with security manager
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestStringClass {
--- a/jdk/test/java/beans/PropertyEditor/TestStringClassJava.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestStringClassJava.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6457659
  * @summary Tests PropertyEditor for value of type String
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestStringClassJava {
--- a/jdk/test/java/beans/PropertyEditor/TestStringClassNull.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestStringClassNull.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,9 @@
  * @bug 4506596 6457659 6498171
  * @summary Tests PropertyEditor for null value of type String
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestStringClassNull {
--- a/jdk/test/java/beans/PropertyEditor/TestStringClassValue.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/PropertyEditor/TestStringClassValue.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -28,6 +28,9 @@
  * @bug 6457659
  * @summary Tests PropertyEditor for value of type String
  * @author Sergey Malenkov
+ * @modules java.compiler
+ *          java.desktop
+ *          jdk.compiler
  */
 
 public class TestStringClassValue {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/beans/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/java/beans/XMLDecoder/8028054/TestConstructorFinder.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/XMLDecoder/8028054/TestConstructorFinder.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -33,6 +33,7 @@
  * @bug 8028054
  * @summary Tests that cached constructors have synchronized access
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.finder
  * @compile -XDignore.symbol.file TestConstructorFinder.java
  * @run main TestConstructorFinder
  */
--- a/jdk/test/java/beans/XMLDecoder/8028054/TestMethodFinder.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/XMLDecoder/8028054/TestMethodFinder.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -33,6 +33,7 @@
  * @bug 8028054
  * @summary Tests that cached methods have synchronized access
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.beans.finder
  * @compile -XDignore.symbol.file TestMethodFinder.java
  * @run main TestMethodFinder
  */
--- a/jdk/test/java/beans/XMLEncoder/java_awt_ScrollPane.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/XMLEncoder/java_awt_ScrollPane.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,6 +25,7 @@
  * @test
  * @bug 6402062 6487891
  * @summary Tests ScrollPane encoding
+ * @key headful
  * @author Sergey Malenkov
  */
 
--- a/jdk/test/java/beans/XMLEncoder/java_sql_Date.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/XMLEncoder/java_sql_Date.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,8 @@
  * @bug 4733558 6471539
  * @summary Tests Date encoding
  * @author Sergey Malenkov
+ * @modules java.desktop
+ *          java.sql
  */
 
 import java.sql.Date;
--- a/jdk/test/java/beans/XMLEncoder/java_sql_Time.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/XMLEncoder/java_sql_Time.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,8 @@
  * @bug 4733558 6471539
  * @summary Tests Time encoding
  * @author Sergey Malenkov
+ * @modules java.desktop
+ *          java.sql
  */
 
 import java.sql.Time;
--- a/jdk/test/java/beans/XMLEncoder/java_sql_Timestamp.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/XMLEncoder/java_sql_Timestamp.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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,8 @@
  * @bug 4733558 6471539
  * @summary Tests Timestamp encoding
  * @author Sergey Malenkov
+ * @modules java.desktop
+ *          java.sql
  */
 
 import java.sql.Timestamp;
--- a/jdk/test/java/beans/XMLEncoder/sun_swing_PrintColorUIResource.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/beans/XMLEncoder/sun_swing_PrintColorUIResource.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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 @@
  * @bug 6589532
  * @summary Tests PrintColorUIResource value encoding
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.swing
  */
 
 import java.awt.Color;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/io/FilterOutputStream/SuppressedException.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+import java.io.BufferedOutputStream;
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+/*
+ * @test
+ * @bug 8042377
+ * @summary Ensure suppressed exceptions are properly handled in close()
+ */
+public class SuppressedException {
+    private static final String CLOSE_MESSAGE = "Close exception";
+    private static final String FLUSH_MESSAGE = "Flush exception";
+    private static final String SAME_MESSAGE = "Same exception";
+
+    public static void main(String[] args) throws java.io.IOException {
+        SuppressedException test = new SuppressedException();
+        test.test();
+    }
+
+    private FilterOutputStream createOutputStream(OutputStream out,
+        boolean isBuffered) {
+        return isBuffered ? new BufferedOutputStream(out) :
+            new FilterOutputStream(out);
+    }
+
+    private void test() {
+        int failures = 0;
+        FilterOutputStream buf;
+
+        boolean[] isBuffered = new boolean[] {false, true};
+        for (boolean buffered : isBuffered) {
+            System.err.println("\n>>> Buffered: " + buffered + " <<<");
+            System.err.flush();
+
+            try {
+                buf = createOutputStream(new OutputStreamFailsWithException(),
+                        buffered);
+                buf.close();
+                System.err.println("\nNo IOException thrown for same exception");
+                failures++;
+            } catch (IOException expected) {
+                if (!expected.getMessage().equals(SAME_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    expected.printStackTrace();
+                    failures++;
+                }
+            } catch (IllegalArgumentException unexpected) {
+                System.err.println("\nUnexpected IllegalArgumentException thrown");
+                unexpected.printStackTrace();
+                failures++;
+            }
+
+            try {
+                buf = createOutputStream(
+                        new OutputStreamFailsWithException(false, false),
+                        buffered);
+                buf.close();
+            } catch (IOException e) {
+                System.err.println("\nUnexpected IOException thrown");
+                e.printStackTrace();
+                failures++;
+            }
+
+            try {
+                buf = createOutputStream(
+                        new OutputStreamFailsWithException(true, false),
+                        buffered);
+                buf.close();
+            } catch (IOException e) {
+                if (!e.getMessage().equals(CLOSE_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    e.printStackTrace();
+                    failures++;
+                }
+            }
+
+            try {
+                buf = createOutputStream(
+                        new OutputStreamFailsWithException(false, true),
+                        buffered);
+                buf.close();
+            } catch (IOException e) {
+                if (!e.getMessage().equals(FLUSH_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    e.printStackTrace();
+                    failures++;
+                }
+            }
+
+            try {
+                buf = createOutputStream(
+                        new OutputStreamFailsWithException(true, true),
+                        buffered);
+                buf.close();
+            } catch (IOException e) {
+                if (!e.getMessage().equals(CLOSE_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    e.printStackTrace();
+                    failures++;
+                }
+
+                Throwable[] suppressed = e.getSuppressed();
+                if (suppressed == null) {
+                    System.err.println("\nExpected suppressed exception not present");
+                    e.printStackTrace();
+                    failures++;
+                } else if (suppressed.length != 1) {
+                    System.err.println("\nUnexpected number of suppressed exceptions");
+                    e.printStackTrace();
+                    failures++;
+                } else if (!(suppressed[0] instanceof IOException)) {
+                    System.err.println("\nSuppressed exception is not an IOException");
+                    e.printStackTrace();
+                    failures++;
+                } else if (!suppressed[0].getMessage().equals(FLUSH_MESSAGE)) {
+                    System.err.println("\nIOException with unexpected message thrown");
+                    e.printStackTrace();
+                    failures++;
+                }
+            }
+        }
+
+        if (failures > 0) {
+            throw new RuntimeException("Test failed with " + failures + " errors");
+        } else {
+            System.out.println("Test succeeded.");
+        }
+    }
+
+    class OutputStreamFailsWithException extends OutputStream {
+        private final IOException sameException = new IOException(SAME_MESSAGE);
+
+        private final Boolean throwSeparateCloseException;
+        private final Boolean throwSeparateFlushException;
+
+        OutputStreamFailsWithException() {
+            throwSeparateCloseException = null;
+            throwSeparateFlushException = null;
+        }
+
+        OutputStreamFailsWithException(boolean throwCloseException,
+                boolean throwFlushException) {
+            throwSeparateCloseException = throwCloseException;
+            throwSeparateFlushException = throwFlushException;
+        }
+
+        @Override
+        public void write(int i) throws IOException {
+            throw new UnsupportedOperationException("");
+        }
+
+        @Override
+        public void flush() throws IOException {
+            System.out.println("flush()");
+            if (throwSeparateFlushException == null) {
+                throw sameException;
+            } else if (throwSeparateFlushException) {
+                throw new IOException(FLUSH_MESSAGE);
+            }
+        }
+
+        @Override
+        public void close() throws IOException {
+            System.out.println("close()");
+            if (throwSeparateCloseException == null) {
+                throw sameException;
+            } else if (throwSeparateCloseException) {
+                throw new IOException(CLOSE_MESSAGE);
+            }
+        }
+    }
+}
--- a/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,6 +25,7 @@
  * @test
  * @bug 6371401
  * @summary Tests of shiftLeft and shiftRight on Integer.MIN_VALUE
+ * @requires os.maxMemory >= 1g
  * @run main/othervm -Xmx512m ExtremeShiftingTests
  * @author Joseph D. Darcy
  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/net/NetworkInterface/NetworkInterfaceStreamTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 8081678
+ * @summary Tests for stream returning methods
+ * @library ../../util/stream/bootlib
+ * @build java.util.stream.OpTestCase
+ * @run testng/othervm NetworkInterfaceStreamTest
+ * @run testng/othervm -Djava.net.preferIPv4Stack=true NetworkInterfaceStreamTest
+ */
+
+import org.testng.annotations.Test;
+
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.function.Supplier;
+import java.util.stream.OpTestCase;
+import java.util.stream.Stream;
+import java.util.stream.TestData;
+
+public class NetworkInterfaceStreamTest extends OpTestCase {
+
+    @Test
+    public void testNetworkInterfaces() throws SocketException {
+        Supplier<Stream<NetworkInterface>> ss = () -> {
+            try {
+                return NetworkInterface.networkInterfaces();
+            }
+            catch (SocketException e) {
+                throw new RuntimeException(e);
+            }
+        };
+
+        Collection<NetworkInterface> expected = Collections.list(NetworkInterface.getNetworkInterfaces());
+        withData(TestData.Factory.ofSupplier("Top-level network interfaces", ss))
+                .stream(s -> s)
+                .expectedResult(expected)
+                .exercise();
+    }
+
+
+    private Collection<NetworkInterface> getAllNetworkInterfaces() throws SocketException {
+        Collection<NetworkInterface> anis = new ArrayList<>();
+        for (NetworkInterface ni : Collections.list(NetworkInterface.getNetworkInterfaces())) {
+            getAllSubNetworkInterfaces(ni, anis);
+        }
+        return anis;
+    }
+
+    private void getAllSubNetworkInterfaces(NetworkInterface ni, Collection<NetworkInterface> result) {
+        result.add(ni);
+
+        for (NetworkInterface sni : Collections.list(ni.getSubInterfaces())) {
+            getAllSubNetworkInterfaces(sni, result);
+        }
+    }
+
+    private Stream<NetworkInterface> allNetworkInterfaces() throws SocketException {
+        return NetworkInterface.networkInterfaces().flatMap(this::allSubNetworkInterfaces);
+    }
+
+    private Stream<NetworkInterface> allSubNetworkInterfaces(NetworkInterface ni) {
+        return Stream.concat(
+                Stream.of(ni),
+                ni.subInterfaces().flatMap(this::allSubNetworkInterfaces));
+    }
+
+    @Test
+    public void testSubNetworkInterfaces() throws SocketException {
+        Supplier<Stream<NetworkInterface>> ss = () -> {
+            try {
+                return allNetworkInterfaces();
+            }
+            catch (SocketException e) {
+                throw new RuntimeException(e);
+            }
+        };
+
+        Collection<NetworkInterface> expected = getAllNetworkInterfaces();
+        withData(TestData.Factory.ofSupplier("All network interfaces", ss))
+                .stream(s -> s)
+                .expectedResult(expected)
+                .exercise();
+    }
+
+
+    @Test
+    public void testInetAddresses() throws SocketException {
+        Supplier<Stream<InetAddress>> ss = () -> {
+            try {
+                return NetworkInterface.networkInterfaces().flatMap(NetworkInterface::inetAddresses);
+            }
+            catch (SocketException e) {
+                throw new RuntimeException(e);
+            }
+        };
+
+        Collection<NetworkInterface> nis = Collections.list(NetworkInterface.getNetworkInterfaces());
+        Collection<InetAddress> expected = new ArrayList<>();
+        for (NetworkInterface ni : nis) {
+            expected.addAll(Collections.list(ni.getInetAddresses()));
+        }
+        withData(TestData.Factory.ofSupplier("All inet addresses", ss))
+                .stream(s -> s)
+                .expectedResult(expected)
+                .exercise();
+    }
+
+
+}
--- a/jdk/test/java/nio/file/Files/probeContentType/Basic.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/nio/file/Files/probeContentType/Basic.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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,7 +22,7 @@
  */
 
 /* @test
- * @bug 4313887
+ * @bug 4313887 8129632
  * @summary Unit test for probeContentType method
  * @library ../..
  * @build Basic SimpleFileTypeDetector
@@ -33,9 +33,9 @@
 import java.io.*;
 
 /**
- * Uses Files.probeContentType to probe html file and custom file type.
+ * Uses Files.probeContentType to probe html file, custom file type, and minimal
+ * set of file extension to content type mappings.
  */
-
 public class Basic {
 
     static Path createHtmlFile() throws IOException {
@@ -51,6 +51,39 @@
         return Files.createTempFile("red", ".grape");
     }
 
+    static void checkContentTypes(String[] extensions, String[] expectedTypes)
+        throws IOException {
+        if (extensions.length != expectedTypes.length) {
+            throw new IllegalArgumentException("Parameter array lengths differ");
+        }
+
+        int failures = 0;
+        for (int i = 0; i < extensions.length; i++) {
+            String extension = extensions[i];
+            Path file = Files.createTempFile("foo", "." + extension);
+            try {
+                String type = Files.probeContentType(file);
+                if (type == null) {
+                    System.err.println("Content type of " + extension
+                            + " cannot be determined");
+                    failures++;
+                } else {
+                    if (!type.equals(expectedTypes[i])) {
+                        System.err.println("Content type: " + type
+                                + "; expected: " + expectedTypes[i]);
+                        failures++;
+                    }
+                }
+            } finally {
+                Files.delete(file);
+            }
+        }
+
+        if (failures > 0) {
+            throw new RuntimeException("Test failed!");
+        }
+    }
+
     public static void main(String[] args) throws IOException {
 
         // exercise default file type detector
@@ -79,5 +112,17 @@
             Files.delete(file);
         }
 
+        // Verify that common file extensions are mapped to the correct content
+        // types on Mac OS X only which has consistent Uniform Type Identifiers.
+        if (System.getProperty("os.name").contains("OS X")) {
+            String[] extensions = new String[]{
+                "jpg", "mp3", "mp4", "pdf", "png"
+            };
+            String[] expectedTypes = new String[]{
+                "image/jpeg", "audio/mpeg", "video/mp4", "application/pdf",
+                "image/png"
+            };
+            checkContentTypes(extensions, expectedTypes);
+        }
     }
 }
--- a/jdk/test/java/security/KeyStore/EntryMethods.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/security/KeyStore/EntryMethods.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, 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
@@ -348,96 +348,140 @@
 
     public static class Pre15 extends KeyStoreSpi {
 
-        private static KeyStoreSpi jks = getJKS();
+        private static KeyStore jks = getJKS();
 
-        // javac does not allow direct access to class (javac bug?)
-        // use reflection instead
-        private static KeyStoreSpi getJKS() {
+        private static KeyStore getJKS() {
             try {
-                Class clazz = Class.forName("sun.security.provider.JavaKeyStore$JKS");
-                return (KeyStoreSpi)clazz.newInstance();
+                return (KeyStore) KeyStore.getInstance("JKS");
             } catch (Exception e) {
                 e.printStackTrace();
                 throw new RuntimeException(e);
             }
         }
+        public Pre15() {
+        }
 
         public Key engineGetKey(String alias, char[] password)
             throws NoSuchAlgorithmException, UnrecoverableKeyException {
-            return jks.engineGetKey(alias, password);
+            try {
+                return jks.getKey(alias, password);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public java.security.cert.Certificate[] engineGetCertificateChain
                 (String alias) {
-            return jks.engineGetCertificateChain(alias);
+            try {
+                return jks.getCertificateChain(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public java.security.cert.Certificate engineGetCertificate
                 (String alias) {
-            return jks.engineGetCertificate(alias);
+            try {
+                return jks.getCertificate(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public Date engineGetCreationDate(String alias) {
-            return jks.engineGetCreationDate(alias);
+            try {
+                return jks.getCreationDate(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public void engineSetKeyEntry(String alias, Key key,
                                    char[] password,
                                    java.security.cert.Certificate[] chain)
             throws KeyStoreException {
-            jks.engineSetKeyEntry(alias, key, password, chain);
+            jks.setKeyEntry(alias, key, password, chain);
         }
 
         public void engineSetKeyEntry(String alias, byte[] key,
                                    java.security.cert.Certificate[] chain)
             throws KeyStoreException {
-            jks.engineSetKeyEntry(alias, key, chain);
+            jks.setKeyEntry(alias, key, chain);
         }
 
         public void engineSetCertificateEntry(String alias,
                                            java.security.cert.Certificate cert)
             throws KeyStoreException {
-            jks.engineSetCertificateEntry(alias, cert);
+            jks.setCertificateEntry(alias, cert);
         }
 
         public void engineDeleteEntry(String alias)
             throws KeyStoreException {
-            jks.engineDeleteEntry(alias);
+            jks.deleteEntry(alias);
         }
 
         public Enumeration engineAliases() {
-            return jks.engineAliases();
+            try {
+                return jks.aliases();
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
+
         }
 
         public boolean engineContainsAlias(String alias) {
-            return jks.engineContainsAlias(alias);
+            try {
+                return jks.containsAlias(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public int engineSize() {
-            return jks.engineSize();
+            try {
+                return jks.size();
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public boolean engineIsKeyEntry(String alias) {
-            return jks.engineIsKeyEntry(alias);
+            try {
+                return jks.isKeyEntry(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public boolean engineIsCertificateEntry(String alias) {
-            return jks.engineIsCertificateEntry(alias);
+            try {
+                return jks.isCertificateEntry(alias);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public String engineGetCertificateAlias
                 (java.security.cert.Certificate cert) {
-            return jks.engineGetCertificateAlias(cert);
+            try {
+                return jks.getCertificateAlias(cert);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public void engineStore(OutputStream stream, char[] password)
             throws IOException, NoSuchAlgorithmException, CertificateException {
-            jks.engineStore(stream, password);
+            try {
+                jks.store(stream, password);
+            } catch (KeyStoreException ke) {
+                throw new RuntimeException("Unexpected exception", ke);
+            }
         }
 
         public void engineLoad(InputStream stream, char[] password)
             throws IOException, NoSuchAlgorithmException, CertificateException {
-            jks.engineLoad(stream, password);
+            jks.load(stream, password);
         }
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/security/PermissionCollection/PermissionCollectionStreamTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/* @test
+ * @bug 8081678
+ * @summary Tests for stream returning methods
+ * @library ../../util/stream/bootlib
+ * @build java.util.stream.OpTestCase
+ * @run testng/othervm PermissionCollectionStreamTest
+ */
+
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import java.io.FilePermission;
+import java.security.Permission;
+import java.security.PermissionCollection;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.function.Supplier;
+import java.util.stream.OpTestCase;
+import java.util.stream.Stream;
+import java.util.stream.TestData;
+
+public class PermissionCollectionStreamTest extends OpTestCase {
+
+    @DataProvider
+    public static Object[][] permissions() {
+        return new Object[][]{
+                {
+                        "FilePermission",
+                        new Permission[]{
+                                new FilePermission("/home/foobar", "read"),
+                                new FilePermission("/home/foo", "write"),
+                                new FilePermission("/home/foobar", "read,write"),
+                        }
+                },
+        };
+    }
+
+
+    private PermissionCollection create(Permission[] pa) {
+        PermissionCollection pc = pa[0].newPermissionCollection();
+        for (Permission p : pa) {
+            pc.add(p);
+        }
+        return pc;
+    }
+
+    @Test(dataProvider = "permissions")
+    public void testElementsAsStream(String description, Permission[] pa) {
+        PermissionCollection pc = create(pa);
+
+        Supplier<Stream<Permission>> ss = pc::elementsAsStream;
+
+        Collection<Permission> expected = Collections.list(pc.elements());
+        withData(TestData.Factory.ofSupplier(description, ss))
+                .stream(s -> s)
+                .expectedResult(expected)
+                .exercise();
+    }
+}
--- a/jdk/test/java/sql/testng/test/sql/DriverManagerTests.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/sql/testng/test/sql/DriverManagerTests.java	Thu Jul 02 17:50:25 2015 -0700
@@ -34,7 +34,11 @@
 import java.sql.Driver;
 import java.sql.DriverManager;
 import java.sql.SQLException;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.Properties;
+import java.util.stream.Collectors;
+
 import static org.testng.Assert.*;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.AfterMethod;
@@ -351,4 +355,24 @@
             assertTrue(result.equals(reader.readLine()));
         }
     }
+
+    /**
+     * Register some driver implementations and validate that the driver
+     * elements covered by the Enumeration obtained from
+     * {@link DriverManager#getDrivers()} are the same as driver elements
+     * covered by the stream obtained from {@link DriverManager#drivers()}}
+     */
+    @Test
+    public void tests19() throws Exception {
+        int n = 8;
+        for (int i = 0; i < n; i++) {
+            DriverManager.registerDriver(new StubDriver());
+        }
+
+        Collection<Driver> expectedDrivers = Collections.list(DriverManager.getDrivers());
+        assertEquals(expectedDrivers.size(), n);
+        Collection<Driver> drivers = DriverManager.drivers().collect(Collectors.toList());
+
+        assertEquals(drivers, expectedDrivers);
+    }
 }
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -171,7 +171,7 @@
         assertSorted(result);
     }
 
-    @Test
+    @Test(groups = { "serialization-hostile" })
     public void testStable() {
         // Create N instances of Integer all with the same value
         List<Integer> input = IntStream.rangeClosed(0, 1000)
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/SliceOpTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -190,6 +190,7 @@
         }
     }
 
+    @Test(groups = { "serialization-hostile" })
     public void testSkipLimitOpsWithNonSplittingSpliterator() {
         class NonSplittingNotSubsizedOrderedSpliterator<T> implements Spliterator<T> {
             Spliterator<T> s;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/accessibility/AccessibilityProvider/BarProvider.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.UncheckedIOException;
+import javax.accessibility.AccessibilityProvider;
+
+public final class BarProvider extends AccessibilityProvider {
+    private final String name = "BarProvider";
+
+    public String getName() {
+        return name;
+    }
+
+    public void activate() {
+        // Write to log to indicate activate was called.
+        try (PrintWriter writer = new PrintWriter("BarProvider.txt")) {
+            writer.println(" BarProvider-activated");
+        } catch (IOException e) {
+            throw new UncheckedIOException(e);
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/accessibility/AccessibilityProvider/FooProvider.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import javax.accessibility.AccessibilityProvider;
+import java.io.UncheckedIOException;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+public final class FooProvider extends AccessibilityProvider {
+
+    private final String name = "FooProvider";
+
+    public String getName() {
+        return name;
+    }
+
+    public void activate() {
+        // Write to log to indicate activate was called.
+        try (PrintWriter writer = new PrintWriter("FooProvider.txt")) {
+            writer.println("FooProvider-activated");
+        } catch (IOException e) {
+            throw new UncheckedIOException(e);
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/accessibility/AccessibilityProvider/Load.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.awt.AWTError;
+import java.awt.Toolkit;
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+import javax.accessibility.AccessibilityProvider;
+
+public class Load {
+
+    public static void main(String[] args) {
+        // args[0]: "pass" or "fail" (the expected result)
+        // args[1]: "<first provider name>"
+        // args[2]: "<optional second provider name>"
+
+        boolean passExpected = args[0].equals("pass");
+
+        // Fill Set with provider names that were requested.
+        // The providers may or may not be available:
+        // - available: FooProvider, BarProvider
+        // - not available: NoProvider
+        List<String> requestedNames = new ArrayList<>();
+        for (int i = 1; i < args.length; ++i) {
+            requestedNames.add(args[i]);
+        }
+        // cleanup files from any prior run
+        for (String name : requestedNames) {
+            File f = new File(name + ".txt");
+            f.delete();
+        }
+        // Activate getDefaultToolkit which will in turn activate the providers
+        try {
+            Toolkit.getDefaultToolkit();
+        } catch (AWTError e) {
+            if (passExpected) {
+                throw new RuntimeException(e.getMessage());
+            }
+        }
+        // Toolkit.getDefaultToolkit() already went through all the service
+        // providers, loading and activating the requested ones, but now we need
+        // to see if they actually got activated.
+        // Go through the providers that were requested, for each one:
+        //   If it was activated pass
+        //   else fail (throw exception)
+        boolean failure = false;
+        String failingName = "";
+        for (String name : requestedNames) {
+            File f = new File(name + ".txt");
+            if (!f.exists()) {
+                failure = true;
+                failingName = name;
+                break;
+            }
+        } // if get to here, no issues, so try next provider
+        if (failure && passExpected) {
+            throw new RuntimeException(failingName + " was not activated");
+        }
+        if (!failure && !passExpected) {
+            String s = "Test passed but a failure was expected.  ";
+            s += "The requested providers were:\n";
+            for (String name : requestedNames) {
+                s += ("  " + name + "\n");
+            }
+            throw new RuntimeException(s);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/accessibility/AccessibilityProvider/UnusedProvider.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.UncheckedIOException;
+import javax.accessibility.AccessibilityProvider;
+
+public final class UnusedProvider extends AccessibilityProvider {
+
+    private static final String name = "UnusedProvider";
+
+    public String getName() {
+        return name;
+    }
+
+    public void activate() {
+        // Write to log to indicate activate was called.
+        try (PrintWriter writer = new PrintWriter("UnusedProvider.txt")) {
+            writer.println("UnusedProvider-activated");
+        } catch (IOException e) {
+            throw new UncheckedIOException(e);
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/accessibility/AccessibilityProvider/accessibilityProvider.sp	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,4 @@
+grant { 
+    permission java.lang.RuntimePermission "accessibilityProvider";
+    permission java.io.FilePermission "*", "read,write,delete";
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/accessibility/AccessibilityProvider/basic.sh	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,114 @@
+#
+# Copyright (c) 2015, 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
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+# @test
+# @bug 8055160
+# @summary Unit test for javax.accessibility.AccessibilitySPI
+#
+# @build Load FooProvider BarProvider UnusedProvider
+# @run shell basic.sh
+
+# Command-line usage: sh basic.sh /path/to/build
+
+if [ -z "$TESTJAVA" ]; then
+  if [ $# -lt 1 ]; then exit 1; fi
+  TESTJAVA="$1"
+  TESTSRC=`pwd`
+  TESTCLASSES="`pwd`"
+fi
+
+JAVA="$TESTJAVA/bin/java"
+
+OS=`uname -s`
+case "$OS" in
+    SunOS | Darwin | AIX )
+      FS='/'
+      SEP=':' ;;
+    Linux )
+      FS='/'
+      SEP=':' ;;
+    * )
+      FS='\\'
+      SEP='\;' ;;
+esac
+
+TESTD=x.test
+rm -rf $TESTD
+mkdir -p $TESTD
+
+mv $TESTCLASSES/FooProvider.class $TESTD
+mv $TESTCLASSES/BarProvider.class $TESTD
+mv $TESTCLASSES/UnusedProvider.class $TESTD
+mkdir -p $TESTD/META-INF/services
+echo FooProvider >$TESTD/META-INF/services/javax.accessibility.AccessibilityProvider
+echo BarProvider >>$TESTD/META-INF/services/javax.accessibility.AccessibilityProvider
+echo UnusedProvider >>$TESTD/META-INF/services/javax.accessibility.AccessibilityProvider
+
+
+failures=0
+
+go() {
+  CP="$TESTCLASSES$SEP$TESTD"
+  echo ''
+  sh -xc "$JAVA $SECURITY_MANAGER -Djavax.accessibility.assistive_technologies=$PROVIDER1$COMMA$PROVIDER2 -cp $CP Load $1 $2 $3" 2>&1
+  if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
+}
+
+# find one provider
+PROVIDER1="FooProvider"
+go pass $PROVIDER1
+
+# start using security manager
+SECURITY_MANAGER="-Djava.security.manager -Djava.security.policy=$TESTSRC/accessibilityProvider.sp"
+
+# find one provider (with security manager)
+go pass $PROVIDER1
+SECURITY_MANAGER=
+
+# fail if no provider found
+PROVIDER1="NoProvider"
+go fail $PROVIDER1
+
+# setup for two providers
+COMMA=","
+
+# find two providers, both exist
+PROVIDER1="FooProvider"
+PROVIDER2="BarProvider"
+go pass $PROVIDER1 $PROVIDER2
+
+# find two providers, where second one doesn't exist
+PROVIDER1="FooProvider"
+PROVIDER2="NoProvider"
+go fail $PROVIDER1 $PROVIDER2
+
+# find two providers, where first one doesn't exist
+PROVIDER1="NoProvider"
+PROVIDER2="BarProvider"
+go fail $PROVIDER1 $PROVIDER2
+
+echo ''
+if [ $failures -gt 0 ];
+  then echo "$failures case(s) failed";
+  else echo "All cases passed"; fi
+exit $failures
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/accessibility/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/imageio/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,1 @@
+modules=java.desktop
--- a/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh	Thu Jul 02 17:50:25 2015 -0700
@@ -1,6 +1,6 @@
 #!/bin/ksh -p
 #
-# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2015, 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
@@ -29,6 +29,7 @@
 #               the same VM and verifies that ImageIO shutdown hook
 #               StreamCloser does not cause a leak of classloaders.
 #
+#   @modules java.desktop/sun.awt
 #   @build      test.Main
 #   @build      testapp.Main
 #   @run shell  run_test.sh
--- a/jdk/test/javax/net/ssl/TLS/CipherTestUtils.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/net/ssl/TLS/CipherTestUtils.java	Thu Jul 02 17:50:25 2015 -0700
@@ -47,6 +47,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Base64;
+import java.util.Collections;
 import java.util.List;
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLEngine;
@@ -70,7 +71,8 @@
     public static final SecureRandom secureRandom = new SecureRandom();
     public static char[] PASSWORD = "passphrase".toCharArray();
     private static final List<TestParameters> TESTS = new ArrayList<>(3);
-    private static final List<Exception> EXCEPTIONS = new ArrayList<>(1);
+    private static final List<Exception> EXCEPTIONS
+            = Collections.synchronizedList(new ArrayList<>(1));
     private static final String CLIENT_PUBLIC_KEY
         = "-----BEGIN CERTIFICATE-----\n"
         + "MIICtTCCAh4CCQDkYJ46DMcGRjANBgkqhkiG9w0BAQUFADCBnDELMAkGA1UEBhMC\n"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/print/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/sound/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatConverter getFormat method */
+   @summary Test AudioFloatConverter getFormat method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 import com.sun.media.sound.*;
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatConverter toFloatArray method */
+   @summary Test AudioFloatConverter toFloatArray method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test skip method returned from AudioFloatFormatConverter.getAudioInputStream */
+ @summary Test skip method returned from AudioFloatFormatConverter.getAudioInputStream
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayInputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream available method */
+   @summary Test AudioFloatInputStream available method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream close method */
+   @summary Test AudioFloatInputStream close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream getFormat method */
+   @summary Test AudioFloatInputStream getFormat method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream getFrameLength method */
+   @summary Test AudioFloatInputStream getFrameLength method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream markSupported method */
+   @summary Test AudioFloatInputStream markSupported method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream read method */
+   @summary Test AudioFloatInputStream read method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream read(float[]) method */
+   @summary Test AudioFloatInputStream read(float[]) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream read(float[], int, int) method */
+   @summary Test AudioFloatInputStream read(float[], int, int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream reset method */
+   @summary Test AudioFloatInputStream reset method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test AudioFloatInputStream skip method */
+   @summary Test AudioFloatInputStream skip method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test DLSSoundbankReader getSoundbank(File) method */
+ @summary Test DLSSoundbankReader getSoundbank(File) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test DLSSoundbankReader getSoundbank(InputStream) method */
+ @summary Test DLSSoundbankReader getSoundbank(InputStream) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.BufferedInputStream;
 import java.io.File;
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -23,7 +23,9 @@
 
 /* @test
  @summary Test DLSSoundbankReader getSoundbank(InputStream) method using
-     very bad InputStream which can only read 1 byte at time */
+     very bad InputStream which can only read 1 byte at time
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.BufferedInputStream;
 import java.io.File;
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test DLSSoundbankReader getSoundbank(File) method */
+ @summary Test DLSSoundbankReader getSoundbank(File) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.net.URL;
--- a/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test EmergencySoundbank createSoundbank() method */
+ @summary Test EmergencySoundbank createSoundbank() method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer getInputStream method */
+   @summary Test ModelByteBuffer getInputStream method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer getRoot method */
+   @summary Test ModelByteBuffer getRoot method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer load method */
+   @summary Test ModelByteBuffer load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer loadAll method */
+   @summary Test ModelByteBuffer loadAll method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer(byte[]) constructor */
+   @summary Test ModelByteBuffer(byte[]) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer(byte[],int,int) constructor */
+   @summary Test ModelByteBuffer(byte[],int,int) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer(File) constructor */
+   @summary Test ModelByteBuffer(File) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer(File,long,long) constructor */
+   @summary Test ModelByteBuffer(File,long,long) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream available() method */
+   @summary Test ModelByteBuffer.RandomFileInputStream available() method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream close method */
+   @summary Test ModelByteBuffer.RandomFileInputStream close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream mark and reset methods */
+   @summary Test ModelByteBuffer.RandomFileInputStream mark and reset methods
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream markSupported() method */
+   @summary Test ModelByteBuffer.RandomFileInputStream markSupported() method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream read() method */
+   @summary Test ModelByteBuffer.RandomFileInputStream read() method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream read(byte[]) method */
+   @summary Test ModelByteBuffer.RandomFileInputStream read(byte[]) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream read(byte[], int, int) method */
+   @summary Test ModelByteBuffer.RandomFileInputStream read(byte[], int, int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer.RandomFileInputStream skip(long) method */
+   @summary Test ModelByteBuffer.RandomFileInputStream skip(long) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer subbuffer(long) method */
+   @summary Test ModelByteBuffer subbuffer(long) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer subbuffer(long,long) method */
+   @summary Test ModelByteBuffer subbuffer(long,long) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer subbuffer(long,long,boolean) method */
+   @summary Test ModelByteBuffer subbuffer(long,long,boolean) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer unload method */
+   @summary Test ModelByteBuffer unload method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBuffer writeTo method */
+   @summary Test ModelByteBuffer writeTo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getAttenuation method */
+   @summary Test ModelByteBufferWavetable getAttenuation method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getChannels method */
+   @summary Test ModelByteBufferWavetable getChannels method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getLoopLength method */
+   @summary Test ModelByteBufferWavetable getLoopLength method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getLoopStart method */
+   @summary Test ModelByteBufferWavetable getLoopStart method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable getPitchCorrect method */
+   @summary Test ModelByteBufferWavetable getPitchCorrect method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable(ModelByteBuffer)  method */
+   @summary Test ModelByteBufferWavetable(ModelByteBuffer)  method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat)  method */
+   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat)  method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat)  method */
+   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat)  method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat, float)  method */
+   @summary Test ModelByteBufferWavetable(ModelByteBuffer, AudioFormat, float)  method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable open method */
+   @summary Test ModelByteBufferWavetable open method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -23,7 +23,9 @@
 
 /* @test
  @summary Test AudioFloatInputStream.getFrameLength() returned from
- ModelByteBufferWavetable openStream method */
+ ModelByteBufferWavetable openStream method
+ @modules java.desktop/com.sun.media.sound
+ */
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable set8BitExtensionBuffer method */
+   @summary Test ModelByteBufferWavetable set8BitExtensionBuffer method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable SetLoopType method */
+   @summary Test ModelByteBufferWavetable SetLoopType method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayOutputStream;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelDestination constructor */
+   @summary Test ModelDestination constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelDestination(ModelIdentifier) constructor */
+   @summary Test ModelDestination(ModelIdentifier) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable setIdentifier(ModelIdentifier) method */
+   @summary Test ModelByteBufferWavetable setIdentifier(ModelIdentifier) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelByteBufferWavetable setTransform(ModelTransform) method */
+   @summary Test ModelByteBufferWavetable setTransform(ModelTransform) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier equals method */
+   @summary Test ModelIdentifier equals method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier(String) constructor */
+   @summary Test ModelIdentifier(String) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier(String, integer) constructor */
+   @summary Test ModelIdentifier(String, integer) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier(String,String) constructor */
+   @summary Test ModelIdentifier(String,String) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier(String,String,int) constructor */
+   @summary Test ModelIdentifier(String,String,int) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier setInstance method */
+   @summary Test ModelIdentifier setInstance method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier setObject method */
+   @summary Test ModelIdentifier setObject method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelIdentifier setVariable method */
+   @summary Test ModelIdentifier setVariable method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer getOscillators method */
+   @summary Test ModelPerformer getOscillators method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setConnectionBlocks method */
+   @summary Test ModelPerformer setConnectionBlocks method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setDefaultConnectionsEnabled method */
+   @summary Test ModelPerformer setDefaultConnectionsEnabled method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setExclusiveClass method */
+   @summary Test ModelPerformer setExclusiveClass method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setKeyFrom method */
+   @summary Test ModelPerformer setKeyFrom method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setKeyTo method */
+   @summary Test ModelPerformer setKeyTo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setName method */
+   @summary Test ModelPerformer setName method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setSelfNonExclusive method */
+   @summary Test ModelPerformer setSelfNonExclusive method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setVelFrom method */
+   @summary Test ModelPerformer setVelFrom method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelPerformer setVelTo method */
+   @summary Test ModelPerformer setVelTo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource() constructor */
+   @summary Test ModelSource() constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier) constructor */
+   @summary Test ModelSource(ModelIdentifier) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier,boolean) constructor */
+   @summary Test ModelSource(ModelIdentifier,boolean) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier,boolean,boolean) constructor */
+   @summary Test ModelSource(ModelIdentifier,boolean,boolean) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier,boolean,boolean,int) constructor */
+   @summary Test ModelSource(ModelIdentifier,boolean,boolean,int) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource(ModelIdentifier,ModelTransform) constructor */
+   @summary Test ModelSource(ModelIdentifier,ModelTransform) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource setIdentifier method */
+   @summary Test ModelSource setIdentifier method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelSource setTransform method */
+   @summary Test ModelSource setTransform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardIndexedDirector class */
+   @summary Test ModelStandardIndexedDirector class
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.ArrayList;
 import java.util.List;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform constructor */
+   @summary Test ModelStandardTransform constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform(boolean) constructor */
+   @summary Test ModelStandardTransform(boolean) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform(boolean,boolean) constructor */
+   @summary Test ModelStandardTransform(boolean,boolean) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform(boolean,boolean,int) constructor */
+   @summary Test ModelStandardTransform(boolean,boolean,int) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform setDirection method */
+   @summary Test ModelStandardTransform setDirection method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform setPolarity method */
+   @summary Test ModelStandardTransform setPolarity method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform setTransform method */
+   @summary Test ModelStandardTransform setTransform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test ModelStandardTransform transform method */
+   @summary Test ModelStandardTransform transform method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.ModelStandardTransform;
 
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader available method */
+   @summary Test RiffReader available method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader close method */
+   @summary Test RiffReader close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader getFilePointer method */
+   @summary Test RiffReader getFilePointer method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader getSize method */
+   @summary Test RiffReader getSize method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader hasNextChunk method */
+   @summary Test RiffReader hasNextChunk method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader read method */
+   @summary Test RiffReader read method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader read(byte) method */
+   @summary Test RiffReader read(byte) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader read(byte[], int, int) method */
+   @summary Test RiffReader read(byte[], int, int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readInt method */
+   @summary Test RiffReader readInt method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readLong method */
+   @summary Test RiffReader readLong method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readShort method */
+   @summary Test RiffReader readShort method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readString method */
+   @summary Test RiffReader readString method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readUnsignedByte method */
+   @summary Test RiffReader readUnsignedByte method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readUnsignedInt method */
+   @summary Test RiffReader readUnsignedInt method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader readUnsignedShort method */
+   @summary Test RiffReader readUnsignedShort method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffReader skip method */
+   @summary Test RiffReader skip method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test RiffWriter(OutputStream) constructor */
+   @summary Test RiffWriter(OutputStream) constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SF2SoundbankReader getSoundbank(File) method */
+ @summary Test SF2SoundbankReader getSoundbank(File) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SF2SoundbankReader getSoundbank(InputStream) method */
+ @summary Test SF2SoundbankReader getSoundbank(InputStream) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.BufferedInputStream;
 import java.io.File;
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -23,7 +23,9 @@
 
 /* @test
  @summary Test SF2SoundbankReader getSoundbank(InputStream) method using
-     very bad InputStream which can only read 1 byte at time */
+     very bad InputStream which can only read 1 byte at time
+ @modules java.desktop/com.sun.media.sound
+ */
 
 import java.io.BufferedInputStream;
 import java.io.File;
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SF2SoundbankReader getSoundbank(File) method */
+ @summary Test SF2SoundbankReader getSoundbank(File) method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.net.URL;
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelInstrument) method */
+   @summary Test SimpleInstrument add(ModelInstrument) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelInstrument,int,int) method */
+   @summary Test SimpleInstrument add(ModelInstrument,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelInstrument,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelInstrument,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelInstrument,int,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelInstrument,int,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer) method */
+   @summary Test SimpleInstrument add(ModelPerformer) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer[]) method */
+   @summary Test SimpleInstrument add(ModelPerformer[]) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer[],int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer[],int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer[],int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer[],int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer[],int,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer[],int,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument add(ModelPerformer,int,int,int,int,int) method */
+   @summary Test SimpleInstrument add(ModelPerformer,int,int,int,int,int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument clear method */
+   @summary Test SimpleInstrument clear method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument setName(String) method */
+   @summary Test SimpleInstrument setName(String) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleInstrument setPatch(Patch) method */
+   @summary Test SimpleInstrument setPatch(Patch) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank addInstrument method */
+   @summary Test SimpleSoundbank addInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank addResource method */
+   @summary Test SimpleSoundbank addResource method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.SoundbankResource;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank getInstrument method */
+   @summary Test SimpleSoundbank getInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank removeInstrument method */
+   @summary Test SimpleSoundbank removeInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank setDescription method */
+   @summary Test SimpleSoundbank setDescription method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank setName method */
+   @summary Test SimpleSoundbank setName method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank setVendor method */
+   @summary Test SimpleSoundbank setVendor method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SimpleSoundbank setVersion method */
+   @summary Test SimpleSoundbank setVersion method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.sampled.*;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioBuffer array method */
+   @summary Test SoftAudioBuffer array method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioBuffer clear method */
+   @summary Test SoftAudioBuffer clear method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioBuffer get method */
+   @summary Test SoftAudioBuffer get method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioBuffer constructor */
+   @summary Test SoftAudioBuffer constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioSynthesizer getFormat method */
+   @summary Test SoftAudioSynthesizer getFormat method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioSynthesizer getPropertyInfo method */
+   @summary Test SoftAudioSynthesizer getPropertyInfo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioSynthesizer open method */
+   @summary Test SoftAudioSynthesizer open method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftAudioSynthesizer openStream method */
+   @summary Test SoftAudioSynthesizer openStream method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Patch;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel allNotesOff method */
+   @summary Test SoftChannel allNotesOff method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel allSoundOff method */
+   @summary Test SoftChannel allSoundOff method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel channelPressure method */
+   @summary Test SoftChannel channelPressure method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel controller method */
+   @summary Test SoftChannel controller method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel localControl method */
+   @summary Test SoftChannel localControl method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel mono method */
+   @summary Test SoftChannel mono method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel mute method */
+   @summary Test SoftChannel mute method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel noteOff method */
+   @summary Test SoftChannel noteOff method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel noteOff method */
+   @summary Test SoftChannel noteOff method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel noteOn method */
+   @summary Test SoftChannel noteOn method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel noteOn/noteOff overflow test */
+   @summary Test SoftChannel noteOn/noteOff overflow test
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiChannel;
 import javax.sound.midi.VoiceStatus;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel overflow test 2 */
+   @summary Test SoftChannel overflow test 2
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.HashMap;
 import java.util.Map;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel omni method */
+   @summary Test SoftChannel omni method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel pitchBend method */
+   @summary Test SoftChannel pitchBend method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel polyPressure method */
+   @summary Test SoftChannel polyPressure method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel program and bank change */
+   @summary Test SoftChannel program and bank change
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.IOException;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel programChange method */
+   @summary Test SoftChannel programChange method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel resetAllControllers method */
+   @summary Test SoftChannel resetAllControllers method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftChannel solo method */
+   @summary Test SoftChannel solo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftCubicResampler interpolate method */
+   @summary Test SoftCubicResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftFilter processAudio method */
+   @summary Test SoftFilter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLanczosResampler interpolate method */
+   @summary Test SoftLanczosResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLimiter processAudio method */
+   @summary Test SoftLimiter processAudio method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLinearResampler interpolate method */
+   @summary Test SoftLinearResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftLinearResampler2 interpolate method */
+   @summary Test SoftLinearResampler2 interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftLowFrequencyOscillator processControlLogic method */
+ @summary Test SoftLowFrequencyOscillator processControlLogic method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import com.sun.media.sound.AudioSynthesizerPropertyInfo;
 import com.sun.media.sound.SoftLowFrequencyOscillator;
--- a/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftPointResampler interpolate method */
+   @summary Test SoftPointResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftProvider getDevice method */
+   @summary Test SoftProvider getDevice method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver close method */
+   @summary Test SoftReceiver close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftReceiver getMidiDevice method */
+ @summary Test SoftReceiver getMidiDevice method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Receiver;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftReceiver send method */
+   @summary Test SoftReceiver send method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.*;
 import javax.sound.sampled.*;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSincResampler interpolate method */
+   @summary Test SoftSincResampler interpolate method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileOutputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer close method */
+   @summary Test SoftSynthesizer close method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getAvailableInstruments method */
+   @summary Test SoftSynthesizer getAvailableInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftSynthesizer getAvailableInstruments method */
+ @summary Test SoftSynthesizer getAvailableInstruments method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getChannels method */
+   @summary Test SoftSynthesizer getChannels method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiChannel;
 import javax.sound.midi.MidiDevice;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getDefaultSoundbank method */
+   @summary Test SoftSynthesizer getDefaultSoundbank method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getDeviceInfo method */
+   @summary Test SoftSynthesizer getDeviceInfo method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getLatency method */
+   @summary Test SoftSynthesizer getLatency method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getLoadedInstruments method */
+   @summary Test SoftSynthesizer getLoadedInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftSynthesizer getLoadedInstruments method */
+ @summary Test SoftSynthesizer getLoadedInstruments method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getMaxPolyphony method */
+   @summary Test SoftSynthesizer getMaxPolyphony method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getMaxReceivers method */
+   @summary Test SoftSynthesizer getMaxReceivers method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getMaxTransmitters method */
+   @summary Test SoftSynthesizer getMaxTransmitters method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getMicrosecondPosition method */
+   @summary Test SoftSynthesizer getMicrosecondPosition method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.IOException;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftSynthesizer getPropertyInfo method */
+ @summary Test SoftSynthesizer getPropertyInfo method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.HashMap;
 import java.util.Map;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getReceiver method */
+   @summary Test SoftSynthesizer getReceiver method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getReceiver method */
+   @summary Test SoftSynthesizer getReceiver method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Receiver;
 import javax.sound.midi.ShortMessage;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getReceivers method */
+   @summary Test SoftSynthesizer getReceivers method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getTransmitter method */
+   @summary Test SoftSynthesizer getTransmitter method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getTransmitters method */
+   @summary Test SoftSynthesizer getTransmitters method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer getVoiceStatus method */
+   @summary Test SoftSynthesizer getVoiceStatus method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer implicit open/close using getReceiver. */
+   @summary Test SoftSynthesizer implicit open/close using getReceiver.
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.lang.reflect.Field;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer isOpen method */
+   @summary Test SoftSynthesizer isOpen method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer isSoundbankSupported method */
+   @summary Test SoftSynthesizer isSoundbankSupported method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Instrument;
 import javax.sound.midi.MidiDevice;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer loadAllInstruments method */
+   @summary Test SoftSynthesizer loadAllInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer loadAllInstrument method */
+   @summary Test SoftSynthesizer loadAllInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer loadAllInstruments method */
+   @summary Test SoftSynthesizer loadAllInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer open method */
+   @summary Test SoftSynthesizer open method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.lang.reflect.Field;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer openStream method */
+   @summary Test SoftSynthesizer openStream method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer remapInstrument method */
+   @summary Test SoftSynthesizer remapInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.Instrument;
 import javax.sound.midi.MidiDevice;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test Disable/enable loading default soundbank in SoftSynthesizer */
+ @summary Test Disable/enable loading default soundbank in SoftSynthesizer
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.HashMap;
 import java.util.Map;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test rendering when using precise timestamps */
+ @summary Test rendering when using precise timestamps
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.util.Arrays;
 import java.util.Random;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test SoftSynthesizer simple note rendering in many settings */
+ @summary Test SoftSynthesizer simple note rendering in many settings
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.File;
 import java.io.FileInputStream;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer unloadAllInstruments method */
+   @summary Test SoftSynthesizer unloadAllInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer unloadInstrument method */
+   @summary Test SoftSynthesizer unloadInstrument method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftSynthesizer unloadInstruments method */
+   @summary Test SoftSynthesizer unloadInstruments method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiDevice;
 import javax.sound.midi.MidiUnavailableException;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning getName method */
+   @summary Test SoftTuning getName method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning getTuning method */
+   @summary Test SoftTuning getTuning method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning getTuning(int) method */
+   @summary Test SoftTuning getTuning(int) method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.UnsupportedEncodingException;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.UnsupportedEncodingException;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.UnsupportedEncodingException;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.UnsupportedEncodingException;
 
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning load method */
+   @summary Test SoftTuning load method
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning constructor */
+   @summary Test SoftTuning constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning constructor */
+   @summary Test SoftTuning constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning constructor */
+   @summary Test SoftTuning constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,7 +22,9 @@
  */
 
 /* @test
-   @summary Test SoftTuning constructor */
+   @summary Test SoftTuning constructor
+   @modules java.desktop/com.sun.media.sound
+*/
 
 import javax.sound.midi.MidiUnavailableException;
 import javax.sound.midi.Patch;
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,7 +22,9 @@
  */
 
 /* @test
- @summary Test RealTime-tunings using SoftReciver.send method */
+ @summary Test RealTime-tunings using SoftReciver.send method
+ @modules java.desktop/com.sun.media.sound
+*/
 
 import java.io.IOException;
 
--- a/jdk/test/javax/swing/DataTransfer/6456844/bug6456844.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/DataTransfer/6456844/bug6456844.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -25,6 +25,7 @@
    @bug 6456844
    @summary Tests that JTextComponent doesn't create drop locations with null bias.
    @author Shannon Hickey
+   @modules java.desktop/sun.swing
 */
 
 import sun.swing.SwingAccessor;
--- a/jdk/test/javax/swing/JButton/4796987/bug4796987.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JButton/4796987/bug4796987.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -28,6 +28,8 @@
  * @author Alexander Scherbatiy
  * @library ../../regtesthelpers
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
+ *          java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @build Util
  * @run main bug4796987
--- a/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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 @@
  * @summary Tests that checkbox and radiobuttons' check marks are visible when background is black
  * @author Ilya Boyandin
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @run applet/manual=yesno bug4449413.html
  */
--- a/jdk/test/javax/swing/JColorChooser/Test6524757.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JColorChooser/Test6524757.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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 @@
  * @bug 6524757
  * @summary Tests different locales
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.swing
  */
 
 import java.awt.Component;
--- a/jdk/test/javax/swing/JComboBox/4199622/bug4199622.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JComboBox/4199622/bug4199622.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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 @@
    @summary RFE: JComboBox shouldn't send ActionEvents for keyboard navigation
    @author Vladislav Karnaukhov
    @library ../../../../lib/testlibrary
+   @modules java.desktop/com.sun.java.swing.plaf.windows
    @build jdk.testlibrary.OSInfo
    @run main bug4199622
 */
--- a/jdk/test/javax/swing/JComboBox/8015300/Test8015300.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JComboBox/8015300/Test8015300.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -30,7 +30,6 @@
 import javax.swing.JFrame;
 import javax.swing.JTextField;
 import javax.swing.UIManager;
-import sun.awt.SunToolkit;
 
 import static javax.swing.SwingUtilities.invokeAndWait;
 import static javax.swing.SwingUtilities.windowForComponent;
@@ -42,6 +41,7 @@
  * @summary Tests that editable combobox select all text
  * @author Sergey Malenkov
  * @library ../../../../lib/testlibrary/
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @build ExtendedRobot
  * @run main Test8015300
  */
--- a/jdk/test/javax/swing/JComponent/6683775/bug6683775.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JComponent/6683775/bug6683775.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -25,6 +25,8 @@
    @bug 6683775 6794764
    @summary Painting artifacts is seen when panel is made setOpaque(false) for a translucent window
    @author Alexander Potochkin
+   @modules java.desktop/com.sun.awt
+            java.desktop/sun.awt
    @run main bug6683775
 */
 
--- a/jdk/test/javax/swing/JComponent/8043610/bug8043610.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JComponent/8043610/bug8043610.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -28,6 +28,7 @@
   @summary Tests that JComponent invalidate, revalidate and repaint methods could
            be called from any thread
   @author Petr Pchelko
+  @modules java.desktop/sun.awt
 */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/JEditorPane/bug4714674.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JEditorPane/bug4714674.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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
@@ -25,6 +25,8 @@
    @bug 4714674
    @summary Tests that JEditorPane opens HTTP connection asynchronously
    @author Peter Zhelezniakov
+   @modules java.desktop
+            jdk.httpserver
    @run main bug4714674
 */
 
--- a/jdk/test/javax/swing/JFileChooser/4847375/bug4847375.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/4847375/bug4847375.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,8 @@
  * @bug 4847375
  * @summary JFileChooser Create New Folder button is disabled incorrectly
  * @author Pavel Porvatov
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.awt.shell
  */
 
 import sun.awt.OSInfo;
--- a/jdk/test/javax/swing/JFileChooser/6396844/TwentyThousandTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/6396844/TwentyThousandTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -27,6 +27,7 @@
  * @summary Tests memory leak for 20000 files
  * @author Sergey Malenkov
  * @library ../../regtesthelpers
+ * @modules java.desktop/sun.java2d
  * @build Util
  * @run main/othervm/timeout=1000 -mx128m TwentyThousandTest
  */
--- a/jdk/test/javax/swing/JFileChooser/6550546/bug6550546.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/6550546/bug6550546.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -25,6 +25,8 @@
    @bug 6550546
    @summary Win LAF: JFileChooser -> Look in Drop down should not display any shortcuts created on desktop
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
+            java.desktop/sun.awt.shell
    @run main bug6550546
 */
 
--- a/jdk/test/javax/swing/JFileChooser/6713352/bug6713352.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/6713352/bug6713352.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -25,6 +25,7 @@
    @bug 6713352
    @summary Deadlock in JFileChooser with synchronized custom FileSystemView
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt.shell
    @run main bug6713352
 */
 
--- a/jdk/test/javax/swing/JFileChooser/6741890/bug6741890.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/6741890/bug6741890.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -25,6 +25,8 @@
    @bug 6741890
    @summary Deadlock in Win32ShellFolderManager2
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
+            java.desktop/sun.awt.shell
    @run main bug6741890
 */
 
--- a/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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
@@ -25,6 +25,8 @@
    @bug 6798062
    @summary Memory Leak on using getFiles of FileSystemView
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
+            java.desktop/sun.awt.shell
    @run applet/manual=done bug6798062.html
 */
 
--- a/jdk/test/javax/swing/JFileChooser/6817933/Test6817933.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/6817933/Test6817933.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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,8 @@
  * @bug 6817933
  * @summary Tests that HTMLEditorKit does not affect JFileChooser
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
+ *          java.desktop/sun.swing
  */
 
 import java.awt.Color;
--- a/jdk/test/javax/swing/JFileChooser/6840086/bug6840086.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/6840086/bug6840086.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
    @summary JFileChooser lacks icons on top right when running on Windows 7
    @author Pavel Porvatov
    @library ../../../../lib/testlibrary
+   @modules java.desktop/sun.awt.shell
    @build jdk.testlibrary.OSInfo
    @run main bug6840086
 */
--- a/jdk/test/javax/swing/JFileChooser/6945316/bug6945316.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/6945316/bug6945316.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -25,6 +25,8 @@
    @bug 6945316
    @summary The Win32ShellFolderManager2.isFileSystemRoot can throw NPE
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
+            java.desktop/sun.awt.shell
    @run main bug6945316
 */
 
--- a/jdk/test/javax/swing/JFileChooser/8046391/bug8046391.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/8046391/bug8046391.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -27,6 +27,7 @@
  * @summary JFileChooser hangs if displayed in Windows L&F
  * @author Alexey Ivanov
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @build jdk.testlibrary.OSInfo
  * @run main/othervm/timeout=10 bug8046391
 */
--- a/jdk/test/javax/swing/JFileChooser/8062561/bug8062561.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JFileChooser/8062561/bug8062561.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -38,6 +38,7 @@
  * @bug 8062561
  * @summary File system view returns null default directory
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @run main/othervm bug8062561 GENERATE_POLICY
  * @run main/othervm/policy=security.policy bug8062561 CHECK_DEFAULT_DIR run
--- a/jdk/test/javax/swing/JInternalFrame/6725409/bug6725409.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JInternalFrame/6725409/bug6725409.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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
@@ -27,6 +27,7 @@
  *          can be localized during run-time
  * @author Mikhail Lapshin
  * @library ../../../../lib/testlibrary/
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @build ExtendedRobot
  * @run main bug6725409
  */
--- a/jdk/test/javax/swing/JLabel/7004134/bug7004134.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JLabel/7004134/bug7004134.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -25,6 +25,7 @@
    @bug 7004134
    @summary JLabel containing a ToolTipText does no longer show ToolTip after browser refresh
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
 */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/JPopupMenu/6495920/bug6495920.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JPopupMenu/6495920/bug6495920.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -28,6 +28,7 @@
             interaction with GNOME is not crippled
  * @author Sergey Malenkov
  * @library ../..
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.AppContext;
--- a/jdk/test/javax/swing/JPopupMenu/6827786/bug6827786.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JPopupMenu/6827786/bug6827786.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -28,6 +28,7 @@
  * @author Peter Zhelezniakov
  * @library ../../regtesthelpers
  * @library ../../../../lib/testlibrary
+ * @modules java.desktop/sun.awt
  * @build jdk.testlibrary.OSInfo
  * @build Util
  * @run main bug6827786
--- a/jdk/test/javax/swing/JPopupMenu/7156657/bug7156657.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JPopupMenu/7156657/bug7156657.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -34,6 +34,8 @@
    @summary Version 7 doesn't support translucent popup menus against a translucent window
    @library ../../regtesthelpers
    @author Pavel Porvatov
+   @modules java.desktop/com.sun.awt
+            java.desktop/sun.awt
 */
 public class bug7156657 {
     private static JFrame lowerFrame;
--- a/jdk/test/javax/swing/JSlider/6524424/bug6524424.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JSlider/6524424/bug6524424.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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
@@ -25,6 +25,7 @@
  * @bug 6524424
  * @summary JSlider Clicking In Tracks Behavior Inconsistent For Different Tick Spacings
  * @author Pavel Porvatov
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @run applet/manual=done bug6524424.html
  */
 
--- a/jdk/test/javax/swing/JTabbedPane/8007563/Test8007563.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JTabbedPane/8007563/Test8007563.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2015, 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
@@ -21,9 +21,7 @@
  * questions.
  */
 
-import java.awt.Color;
-import java.awt.Point;
-import java.awt.Robot;
+import java.awt.*;
 import java.util.ArrayList;
 import java.util.concurrent.CountDownLatch;
 import javax.swing.JFrame;
@@ -119,6 +117,20 @@
             }
 
         }
-        invokeLater(this);
+        SecondaryLoop secondaryLoop =
+                Toolkit.getDefaultToolkit().getSystemEventQueue()
+                        .createSecondaryLoop();
+        new Thread() {
+            @Override
+            public void run() {
+                try {
+                    Thread.sleep(200);
+                } catch (InterruptedException e) {
+                }
+                secondaryLoop.exit();
+                invokeLater(Test8007563.this);
+            }
+        }.start();
+        secondaryLoop.enter();
     }
 }
--- a/jdk/test/javax/swing/JTable/6788484/bug6788484.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JTable/6788484/bug6788484.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -24,6 +24,7 @@
 /* @test
    @bug 6788484
    @summary NPE in DefaultTableCellHeaderRenderer.getColumnSortOrder() with null table
+   @modules java.desktop/sun.swing.table
    @compile -XDignore.symbol.file=true bug6788484.java
    @author Alexander Potochkin
    @run main bug6788484
--- a/jdk/test/javax/swing/JTable/6937798/bug6937798.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JTable/6937798/bug6937798.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -25,6 +25,7 @@
    @bug 6937798
    @summary Nimbus: Issues with JTable grid
    @author Alexander Potochkin
+   @modules java.desktop/com.sun.java.swing.plaf.nimbus
    @run main bug6937798
 */
 
--- a/jdk/test/javax/swing/JTableHeader/6884066/bug6884066.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JTableHeader/6884066/bug6884066.java	Thu Jul 02 17:50:25 2015 -0700
@@ -35,8 +35,6 @@
 import java.awt.*;
 import java.awt.event.InputEvent;
 
-import com.sun.java.swing.plaf.windows.WindowsLookAndFeel;
-
 public class bug6884066 {
     private static JTableHeader header;
 
--- a/jdk/test/javax/swing/JTree/8004298/bug8004298.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/JTree/8004298/bug8004298.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -27,6 +27,7 @@
  * @summary NPE in WindowsTreeUI.ensureRowsAreVisible
  * @author Alexander Scherbatiy
  * @library ../../regtesthelpers
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
  * @build Util
  * @run main bug8004298
  */
--- a/jdk/test/javax/swing/KeyboardManager/8013370/Test8013370.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/KeyboardManager/8013370/Test8013370.java	Thu Jul 02 17:50:25 2015 -0700
@@ -32,7 +32,6 @@
 import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 import javax.swing.KeyStroke;
-import sun.awt.SunToolkit;
 
 import static java.awt.event.InputEvent.CTRL_DOWN_MASK;
 import static javax.swing.JComponent.WHEN_IN_FOCUSED_WINDOW;
--- a/jdk/test/javax/swing/Security/6657138/bug6657138.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/Security/6657138/bug6657138.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6657138
  * @summary Verifies that buttons and labels don't share their ui's across appContexts
  * @author Alexander Potochkin
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/Security/6938813/bug6938813.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/Security/6938813/bug6938813.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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 @@
  * @bug 6938813
  * @summary Swing mutable statics
  * @author Pavel Porvatov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.AppContext;
--- a/jdk/test/javax/swing/SwingUtilities/8032219/DrawRect.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/SwingUtilities/8032219/DrawRect.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -36,6 +36,7 @@
  * @test
  * @bug 8032219
  * @author Sergey Bylokhov
+ * @modules java.desktop/sun.swing
  */
 public final class DrawRect {
 
@@ -121,4 +122,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/swing/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/javax/swing/ToolTipManager/7123767/bug7123767.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/ToolTipManager/7123767/bug7123767.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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
@@ -25,6 +25,7 @@
    @bug 7123767
    @summary Wrong tooltip location in Multi-Monitor configurations
    @author Vladislav Karnaukhov
+   @modules java.desktop/sun.awt
    @run main bug7123767
 */
 
--- a/jdk/test/javax/swing/ToolTipManager/Test6657026.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/ToolTipManager/Test6657026.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6657026
  * @summary Tests shared ToolTipManager in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/UIDefaults/6795356/TableTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/UIDefaults/6795356/TableTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6795356
  * @summary Checks that SwingLazyValue class correclty works
  * @author Alexander Potochkin
+ * @modules java.desktop/sun.applet
  * @run main/othervm TableTest
  */
 
--- a/jdk/test/javax/swing/UIManager/Test6657026.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/UIManager/Test6657026.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6657026
  * @summary Tests shared UIManager in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/border/Test4856008.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/border/Test4856008.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 4856008 7025987
  * @summary Tests border insets
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.java.swing.plaf.motif
+ *          java.desktop/com.sun.java.swing.plaf.windows
+ *          java.desktop/sun.swing.plaf.synth
  */
 
 import com.sun.java.swing.plaf.motif.MotifBorders;
--- a/jdk/test/javax/swing/border/Test6978482.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/border/Test6978482.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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,9 @@
  * @bug 6978482 7025987
  * @summary Tests unchecked casts
  * @author Sergey Malenkov
+ * @modules java.desktop/com.sun.java.swing.plaf.motif
+ *          java.desktop/com.sun.java.swing.plaf.windows
+ *          java.desktop/sun.swing.plaf.synth
  */
 
 import com.sun.java.swing.plaf.motif.MotifBorders;
--- a/jdk/test/javax/swing/plaf/basic/BasicSplitPaneUI/Test6657026.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/plaf/basic/BasicSplitPaneUI/Test6657026.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6657026
  * @summary Tests shared BasicSplitPaneUI in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/plaf/metal/MetalBumps/Test6657026.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/plaf/metal/MetalBumps/Test6657026.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6657026
  * @summary Tests shared MetalBumps in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/plaf/metal/MetalInternalFrameUI/Test6657026.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/plaf/metal/MetalInternalFrameUI/Test6657026.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6657026
  * @summary Tests shared MetalInternalFrameUI in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/plaf/metal/MetalSliderUI/Test6657026.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6657026 7077259
  * @summary Tests shared MetalSliderUI in different application contexts
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  * @run main/othervm -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel Test6657026
  */
 
--- a/jdk/test/javax/swing/plaf/nimbus/Test6741426.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/plaf/nimbus/Test6741426.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2015, 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
@@ -25,6 +25,7 @@
    @bug 6741426
    @summary Tests reusing Nimbus borders across different components (JComboBox border set on a JTextField)
    @author Peter Zhelezniakov
+   @modules java.desktop/com.sun.java.swing.plaf.nimbus
    @run main Test6741426
 */
 
--- a/jdk/test/javax/swing/plaf/synth/7143614/bug7143614.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/plaf/synth/7143614/bug7143614.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2015, 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 @@
  * @bug 7143614
  * @summary Issues with Synth Look&Feel
  * @author Pavel Porvatov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/plaf/synth/Test6660049.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/plaf/synth/Test6660049.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6660049 6849518
  * @summary Tests the Region initialization
  * @author Sergey Malenkov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/javax/swing/system/6799345/TestShutdown.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/system/6799345/TestShutdown.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
    @summary Tests that no exceptions are thrown from TimerQueue and
 SwingWorker on AppContext shutdown
    @author art
+   @modules java.desktop/sun.awt
    @run main TestShutdown
 */
 
--- a/jdk/test/javax/swing/text/DefaultStyledDocument/6636983/bug6636983.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/text/DefaultStyledDocument/6636983/bug6636983.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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 @@
  * @bug 6636983
  * @summary test that composed text at the line starts is handled correctly
  * @author Sergey Groznyh
+ * @modules java.desktop/sun.swing
  * @run main bug6636983
  */
 
--- a/jdk/test/javax/swing/text/LayoutQueue/Test6588003.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/text/LayoutQueue/Test6588003.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -25,6 +25,7 @@
    @bug 6588003
    @summary LayoutQueue should not share its DefaultQueue across AppContexts
    @author Peter Zhelezniakov
+   @modules java.desktop/sun.awt
    @run main Test6588003
 */
 
--- a/jdk/test/javax/swing/text/html/parser/Parser/6990651/bug6990651.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/text/html/parser/Parser/6990651/bug6990651.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -25,6 +25,7 @@
    @bug 6990651
    @summary Regression: NPE when refreshing applet since 6u22-b01
    @author Pavel Porvatov
+   @modules java.desktop/sun.awt
 */
 import sun.awt.SunToolkit;
 
--- a/jdk/test/javax/swing/text/html/parser/Test8017492.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/javax/swing/text/html/parser/Test8017492.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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,6 +32,7 @@
 /*
  * @test
  * @bug 8017492
+ * @modules java.desktop/sun.awt
  * @run main/othervm Test8017492
  * @summary Tests for OutOfMemoryError/NegativeArraySizeException
  * @author Sergey Malenkov
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/xml/bind/jxc/8046817/GenerateEnumSchema.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2014, 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8046817 8073357 8076139
+ * @summary schemagen fails to generate xsd for enum types.
+ * Check that order of Enum values is preserved.
+ * @library /lib/testlibrary
+ * @run testng/othervm GenerateEnumSchema
+ */
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
+import java.util.Arrays;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import jdk.testlibrary.JDKToolLauncher;
+import org.testng.Assert;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+public class GenerateEnumSchema {
+
+    @DataProvider
+    //test case name, input file for schemagen, regexp for checking schema content
+    public static Object[][] schemagenGenerationData() {
+        return new Object[][] {
+            {"Class", "TestClassType.java",
+                ".+?name=\"testClassType\".+"},
+            {"Enum", "TestEnumType.java",
+                ".+?FIRST.+?ONE.+?TWO.+?THREE.+?FOUR.+?FIVE.+?SIX.+?LAST.+"},
+        };
+    }
+
+    @BeforeTest
+    public void setUp() throws IOException {
+        //Create test directory inside scratch
+        testWorkDir = Paths.get(System.getProperty("user.dir", "."))
+                .resolve("GenerateEnumSchema");
+        testSrcDir = Paths.get(System.getProperty("test.src", "."));
+        //Create test work directory inside scratch directory
+        Files.createDirectory(testWorkDir);
+    }
+
+    @Test(dataProvider="schemagenGenerationData")
+    public void schemangenGenerationTestCase(String shortTestName,
+            String inputFileName, String regexp) throws IOException {
+        //Create test case directory
+        Path testCaseDir = testWorkDir.resolve(shortTestName);
+        Files.createDirectories(testCaseDir);
+        //Copy java source from test.src to the test case dir
+        Files.copy(testSrcDir.resolve(inputFileName), testCaseDir.resolve(inputFileName), REPLACE_EXISTING);
+        //Run schemagen
+        runSchemaGen(inputFileName, testCaseDir);
+        //Check if schema file generated
+        Assert.assertTrue(Files.exists(testCaseDir.resolve(SCHEMA_FILE)));
+        //Read schema content from file
+        String content = Files.lines(testCaseDir.resolve(SCHEMA_FILE)).collect(Collectors.joining(""));
+        System.out.println("Generated schema: " + content);
+        //Check if schema contains expected content
+        Assert.assertTrue(Pattern.matches(regexp, content));
+    }
+
+    private static void runSchemaGen(String classFile, Path runDir) {
+        try {
+            JDKToolLauncher sgl = JDKToolLauncher.createUsingTestJDK("schemagen");
+            sgl.addToolArg(classFile);
+            System.out.println("Executing: " + Arrays.asList(sgl.getCommand()));
+            ProcessBuilder pb = new ProcessBuilder(sgl.getCommand());
+            pb.directory(runDir.toFile());
+            pb.redirectErrorStream(true);
+            pb.inheritIO();
+            Process p = pb.start();
+            int result = p.waitFor();
+            p.destroy();
+            if (result != 0) {
+                throw new RuntimeException("schemagen failed");
+            }
+        } catch (IOException | InterruptedException e) {
+            System.err.println("Can't run schemagen tool. Exception:");
+            e.printStackTrace(System.err);
+            throw new RuntimeException("Error launching schemagen tool");
+        }
+    }
+
+    //schemagen tool output file name
+    private static final String SCHEMA_FILE = "schema1.xsd";
+    //Test working directory
+    Path testWorkDir;
+    //Directory with test src
+    Path testSrcDir;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/xml/bind/jxc/8046817/TestClassType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2014, 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import javax.xml.bind.annotation.XmlType;
+
+@XmlType
+public class TestClassType {
+    public int a;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/xml/bind/jxc/8046817/TestEnumType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2014, 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import javax.xml.bind.annotation.XmlEnum;
+
+@XmlEnum(String.class)
+public enum TestEnumType {
+    FIRST, ONE, TWO, THREE, FOUR, FIVE, SIX, LAST
+}
--- a/jdk/test/javax/xml/ws/8046817/GenerateEnumSchema.java	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2014, 2015, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
- * @bug 8046817 8073357
- * @summary schemagen fails to generate xsd for enum types.
- * Check that order of Enum values is preserved.
- * @run main/othervm GenerateEnumSchema
- */
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.stream.Collectors;
-
-public class GenerateEnumSchema {
-
-    private static final String SCHEMA_OUTPUT_FILENAME = "schema1.xsd";
-    private static final File schemaOutputFile = new File(SCHEMA_OUTPUT_FILENAME);
-    private static final String[] expectedEnums = {
-        "\"FIRST\"", "\"ONE\"", "\"TWO\"", "\"THREE\"",
-        "\"FOUR\"", "\"FIVE\"", "\"SIX\"", "\"LAST\""};
-    private static String schemaContent = "";
-
-    public static void main(String[] args) throws Exception {
-
-        //Check schema generation for class type
-        runSchemaGen("TestClassType.java");
-        checkIfSchemaGenerated();
-        readSchemaContent();
-        checkSchemaContent("<xs:complexType name=\"testClassType\">");
-        checkSchemaContent("<xs:element name=\"a\" type=\"xs:int\"/>");
-
-        //Check schema generation for enum type
-        runSchemaGen("TestEnumType.java");
-        checkIfSchemaGenerated();
-        readSchemaContent();
-        //Check if Enum type schema is generated
-        checkSchemaContent("<xs:simpleType name=\"testEnumType\">");
-        //Check the sequence of enum values order
-        checkEnumOrder();
-        schemaOutputFile.delete();
-    }
-
-    // Check if schema file successfully generated by schemagen
-    private static void checkIfSchemaGenerated() {
-        if (!schemaOutputFile.exists()) {
-            throw new RuntimeException("FAIL:" + SCHEMA_OUTPUT_FILENAME + " was not generated by schemagen tool");
-        }
-    }
-
-    //Read schema content from file
-    private static void readSchemaContent() throws Exception {
-        schemaContent = Files.lines(schemaOutputFile.toPath()).collect(Collectors.joining(""));
-    }
-
-    // Check if schema file contains specific string
-    private static void checkSchemaContent(String expContent) {
-        System.out.print("Check if generated schema contains '" + expContent + "' string: ");
-        if (schemaContent.contains(expContent)) {
-            System.out.println("OK");
-            return;
-        }
-        System.out.println("FAIL");
-        throw new RuntimeException("The '" + expContent + "' is not found in generated schema");
-    }
-
-    // Check if the generated schema contains all enum constants
-    // and their order is preserved
-    private static void checkEnumOrder() throws Exception {
-        int prevElem = -1;
-        for (String elem : expectedEnums) {
-            int curElem = schemaContent.indexOf(elem);
-            System.out.println(elem + " position = " + curElem);
-            if (curElem < prevElem) {
-                throw new RuntimeException("FAIL: Enum values order is incorrect or " + elem + " element is not found");
-            }
-            prevElem = curElem;
-        }
-    }
-
-    private static String getClassFilePath(String filename) {
-        String testSrc = System.getProperty("test.src");
-        if (testSrc == null) {
-            testSrc = ".";
-        }
-        return Paths.get(testSrc).resolve(filename).toString();
-    }
-
-    private static String getSchemagen() {
-        String javaHome = System.getProperty("java.home");
-        String schemagen = javaHome + File.separator + "bin" + File.separator + "schemagen";
-        if (System.getProperty("os.name").startsWith("Windows")) {
-            schemagen = schemagen.concat(".exe");
-        }
-        return schemagen;
-    }
-
-    private static void logOutput(Process p) throws IOException {
-        BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
-        String s = r.readLine();
-        while (s != null) {
-            System.out.println(s.trim());
-            s = r.readLine();
-        }
-    }
-
-    private static void runSchemaGen(String classFile) {
-        String schemagen = getSchemagen();
-
-        try {
-            System.out.println("Call to schemagen: " + schemagen + " " + classFile);
-            String[] schemagen_args = {
-                schemagen,
-                getClassFilePath(classFile)
-            };
-
-            ProcessBuilder pb = new ProcessBuilder(schemagen_args);
-            pb.redirectErrorStream(true);
-            Process p = pb.start();
-            logOutput(p);
-            int result = p.waitFor();
-            p.destroy();
-
-            if (result != 0) {
-                throw new RuntimeException("schemagen failed");
-            }
-        } catch (IOException | InterruptedException e) {
-            System.err.println("Can't run schemagen tool. Exception:");
-            e.printStackTrace(System.err);
-            throw new RuntimeException("Error launching schemagen tool");
-        }
-    }
-}
--- a/jdk/test/javax/xml/ws/8046817/TestClassType.java	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2014, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-import javax.xml.bind.annotation.XmlType;
-
-@XmlType
-public class TestClassType {
-    public int a;
-}
--- a/jdk/test/javax/xml/ws/8046817/TestEnumType.java	Thu Jul 02 17:15:55 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2014, 2015, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-import javax.xml.bind.annotation.XmlEnum;
-
-@XmlEnum(String.class)
-public enum TestEnumType {
-    FIRST, ONE, TWO, THREE, FOUR, FIVE, SIX, LAST
-}
--- a/jdk/test/sun/awt/AppContext/8012933/Test8012933.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/awt/AppContext/8012933/Test8012933.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -27,6 +27,7 @@
  * @summary Tests (although somewhat indirectly) that createNewAppContext()
  * immediately followed by dispose() works correctly
  * @author Leonid Romanov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.SunToolkit;
--- a/jdk/test/sun/awt/AppContext/MultiThread/MultiThreadTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/awt/AppContext/MultiThread/MultiThreadTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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 @@
  * @bug 8019623
  * @summary Tests that AppContext.getAppContext() works correctly in multi-threads scenario.
  * @author Leonid Romanov
+ * @modules java.desktop/sun.awt
  */
 
 import sun.awt.AppContext;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/awt/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/sun/awt/datatransfer/DataFlavorComparatorTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/awt/datatransfer/DataFlavorComparatorTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -25,10 +25,10 @@
    @bug 7173464
    @summary Clipboard.getAvailableDataFlavors: Comparison method violates contract
    @author Petr Pchelko
+   @modules java.datatransfer/sun.datatransfer
    @run main DataFlavorComparatorTest
 */
 
-import sun.awt.datatransfer.DataTransferer;
 import java.util.Comparator;
 import sun.datatransfer.DataFlavorUtil;
 import java.awt.datatransfer.DataFlavor;
--- a/jdk/test/sun/awt/datatransfer/DataFlavorComparatorTest1.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/awt/datatransfer/DataFlavorComparatorTest1.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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 @@
    @summary "Comparison method violates its general contract" when using Clipboard
             Ensure that DataFlavorComparator conforms to Comparator contract
    @author Anton Nashatyrev
+   @modules java.datatransfer/sun.datatransfer
    @run main DataFlavorComparatorTest1
 */
 import sun.datatransfer.DataFlavorUtil;
--- a/jdk/test/sun/awt/datatransfer/SuplementaryCharactersTransferTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/awt/datatransfer/SuplementaryCharactersTransferTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2015, 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
@@ -25,6 +25,8 @@
    @bug 6877495
    @summary JTextField and JTextArea does not support supplementary characters
    @author Alexander Scherbatiy
+   @modules java.datatransfer/sun.datatransfer
+            java.desktop/sun.awt.datatransfer
    @run main SuplementaryCharactersTransferTest
 */
 
--- a/jdk/test/sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2015, 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
@@ -50,6 +50,7 @@
  * @bug 6335200 6419610
  * @summary Tests that we don't render anything if specific empty clip is set
  * @author Dmitri.Trembovetski@Sun.COM: area=Graphics
+ * @modules java.desktop/sun.awt
  * @run main EmptyClipRenderingTest
  * @run main/othervm -Dsun.java2d.noddraw=true EmptyClipRenderingTest
  * @run main/othervm -Dsun.java2d.pmoffscreen=true EmptyClipRenderingTest
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/java2d/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,2 @@
+modules=java.desktop
+
--- a/jdk/test/sun/java2d/pipe/RegionOps.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/java2d/pipe/RegionOps.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2015, 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 @@
  * @bug 6504874
  * @summary This test verifies the operation (and performance) of the
  *          various CAG operations on the internal Region class.
+ * @modules java.desktop/sun.java2d.pipe
  * @run main RegionOps
  */
 
--- a/jdk/test/sun/java2d/pipe/hw/RSLAPITest/RSLAPITest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/java2d/pipe/hw/RSLAPITest/RSLAPITest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -25,6 +25,9 @@
  * @bug 6635805 6653780 6667607
  * @summary Tests that the resource sharing layer API is not broken
  * @author Dmitri.Trembovetski@sun.com: area=Graphics
+ * @modules java.desktop/sun.java2d
+ *          java.desktop/sun.java2d.pipe
+ *          java.desktop/sun.java2d.pipe.hw
  * @compile -XDignore.symbol.file=true RSLAPITest.java
  * @run main/othervm RSLAPITest
  * @run main/othervm -Dsun.java2d.noddraw=true RSLAPITest
--- a/jdk/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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,9 @@
  * @bug 6764257
  * @summary Tests that the color is reset properly after save/restore context
  * @author Dmitri.Trembovetski@sun.com: area=Graphics
+ * @modules java.desktop/sun.java2d
+ *          java.desktop/sun.java2d.pipe
+ *          java.desktop/sun.java2d.pipe.hw
  * @compile -XDignore.symbol.file=true RSLContextInvalidationTest.java
  * @run main/othervm RSLContextInvalidationTest
  * @run main/othervm -Dsun.java2d.noddraw=true RSLContextInvalidationTest
--- a/jdk/test/sun/java2d/pipe/hw/VSyncedBufferStrategyTest/VSyncedBufferStrategyTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/java2d/pipe/hw/VSyncedBufferStrategyTest/VSyncedBufferStrategyTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2015, 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
@@ -25,6 +25,7 @@
  * @bug 6678218 6681745 6691737
  * @summary Tests that v-synced BufferStrategies works (if vsync is supported)
  * @author Dmitri.Trembovetski@sun.com: area=Graphics
+ * @modules java.desktop/sun.java2d.pipe.hw
  * @compile -XDignore.symbol.file=true VSyncedBufferStrategyTest.java
  * @run main/manual/othervm VSyncedBufferStrategyTest
  * @run main/manual/othervm -Dsun.java2d.opengl=True VSyncedBufferStrategyTest
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/pisces/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,1 @@
+modules=java.desktop
--- a/jdk/test/sun/security/krb5/auto/AcceptPermissions.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/AcceptPermissions.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 9999999
  * @summary default principal can act as anyone
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file AcceptPermissions.java
  * @run main/othervm AcceptPermissions two
  * @run main/othervm AcceptPermissions unbound
--- a/jdk/test/sun/security/krb5/auto/AcceptorSubKey.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/AcceptorSubKey.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7077646
  * @summary gssapi wrap for CFX per-message tokens always set FLAG_ACCEPTOR_SUBKEY
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file AcceptorSubKey.java
  * @run main/othervm AcceptorSubKey 0
  * @run main/othervm AcceptorSubKey 4
--- a/jdk/test/sun/security/krb5/auto/AddressesAndNameType.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/AddressesAndNameType.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 4501327 4868379 8039132
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm AddressesAndNameType 1
  * @run main/othervm AddressesAndNameType 2
  * @run main/othervm AddressesAndNameType 3
--- a/jdk/test/sun/security/krb5/auto/BadKdc1.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/BadKdc1.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6843127
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm/timeout=300 BadKdc1
  * @summary krb5 should not try to access unavailable kdc too often
  */
@@ -64,4 +57,3 @@
        );
    }
 }
-
--- a/jdk/test/sun/security/krb5/auto/BadKdc2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/BadKdc2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6843127
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm/timeout=300 BadKdc2
  * @summary krb5 should not try to access unavailable kdc too often
  */
--- a/jdk/test/sun/security/krb5/auto/BadKdc3.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/BadKdc3.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6843127
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm/timeout=300 BadKdc3
  * @summary krb5 should not try to access unavailable kdc too often
  */
--- a/jdk/test/sun/security/krb5/auto/BadKdc4.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/BadKdc4.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6843127
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm/timeout=300 BadKdc4
  * @summary krb5 should not try to access unavailable kdc too often
  */
--- a/jdk/test/sun/security/krb5/auto/Basic.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/Basic.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7152176
  * @summary More krb5 tests
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file Basic.java
  * @run main/othervm Basic
  */
--- a/jdk/test/sun/security/krb5/auto/BasicKrb5Test.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/BasicKrb5Test.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6706974
  * @summary Add krb5 test infrastructure
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file BasicKrb5Test.java
  * @run main/othervm BasicKrb5Test
  * @run main/othervm BasicKrb5Test des-cbc-crc
--- a/jdk/test/sun/security/krb5/auto/BasicProc.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/BasicProc.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,13 +26,6 @@
  * @bug 8009977
  * @summary A test library to launch multiple Java processes
  * @library ../../../../java/security/testlibrary/
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file BasicProc.java
  * @run main/othervm BasicProc
  */
--- a/jdk/test/sun/security/krb5/auto/CleanState.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/CleanState.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6716534
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file CleanState.java
  * @run main/othervm CleanState
  * @summary Krb5LoginModule has not cleaned temp info between authentication attempts
--- a/jdk/test/sun/security/krb5/auto/CrossRealm.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/CrossRealm.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6706974
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file CrossRealm.java
  * @run main/othervm CrossRealm
  * @summary Add krb5 test infrastructure
--- a/jdk/test/sun/security/krb5/auto/DiffNameSameKey.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/DiffNameSameKey.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8005447
  * @summary default principal can act as anyone
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file DiffNameSameKey.java
  * @run main/othervm/fail DiffNameSameKey a
  * @run main/othervm DiffNameSameKey b
--- a/jdk/test/sun/security/krb5/auto/DupEtypes.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/DupEtypes.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7067974
  * @summary multiple ETYPE-INFO-ENTRY with same etype and different salt
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file DupEtypes.java
  * @run main/othervm DupEtypes 1
  * @run main/othervm DupEtypes 2
--- a/jdk/test/sun/security/krb5/auto/DynamicKeytab.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/DynamicKeytab.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6894072
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file DynamicKeytab.java
  * @run main/othervm DynamicKeytab
  * @summary always refresh keytab
--- a/jdk/test/sun/security/krb5/auto/EmptyPassword.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/EmptyPassword.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,13 +25,6 @@
  * @test
  * @bug 6879540
  * @summary enable empty password for kerberos 5
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file EmptyPassword.java
  * @run main/othervm EmptyPassword
  */
--- a/jdk/test/sun/security/krb5/auto/FileKeyTab.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/FileKeyTab.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,13 +25,6 @@
  * @test
  * @bug 7152121
  * @summary Krb5LoginModule no longer handles keyTabNames with "file:" prefix
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file FileKeyTab.java
  * @run main/othervm FileKeyTab
  */
--- a/jdk/test/sun/security/krb5/auto/ForwardableCheck.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/ForwardableCheck.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8022582
  * @summary Relax response flags checking in sun.security.krb5.KrbKdcRep.check.
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file ForwardableCheck.java
  * @run main/othervm ForwardableCheck
  */
--- a/jdk/test/sun/security/krb5/auto/GSS.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/GSS.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7152176
  * @summary More krb5 tests
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file GSS.java
  * @run main/othervm GSS
  */
--- a/jdk/test/sun/security/krb5/auto/GSSUnbound.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/GSSUnbound.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8001104
  * @summary Unbound SASL service: the GSSAPI/krb5 mech
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file GSSUnbound.java
  * @run main/othervm GSSUnbound
  */
--- a/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/HttpNegotiateServer.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,15 +24,6 @@
 /*
  * @test
  * @bug 6578647 6829283
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.base/sun.util.logging
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm HttpNegotiateServer
  * @summary Undefined requesting URL in java.net.Authenticator.getPasswordAuthentication()
  * @summary HTTP/Negotiate: Authenticator triggered again when user cancels the first one
@@ -77,9 +68,6 @@
 import sun.security.jgss.GSSUtil;
 import sun.security.krb5.Config;
 import java.util.Base64;
-import sun.util.logging.PlatformLogger;
-
-import java.util.Base64;
 
 /**
  * Basic JGSS/krb5 test with 3 parties: client, server, backend server. Each
@@ -172,9 +160,7 @@
     public static void main(String[] args)
             throws Exception {
 
-        String HTTPLOG = "sun.net.www.protocol.http.HttpURLConnection";
         System.setProperty("sun.security.krb5.debug", "true");
-        PlatformLogger.getLogger(HTTPLOG).setLevel(PlatformLogger.Level.ALL);
 
         KDC kdcw = KDC.create(REALM_WEB);
         kdcw.addPrincipal(WEB_USER, WEB_PASS);
--- a/jdk/test/sun/security/krb5/auto/IgnoreChannelBinding.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/IgnoreChannelBinding.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6851973
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm IgnoreChannelBinding
  * @summary ignore incoming channel binding if acceptor does not set one
  */
--- a/jdk/test/sun/security/krb5/auto/KDC.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/KDC.java	Thu Jul 02 17:50:25 2015 -0700
@@ -30,6 +30,7 @@
 import java.security.SecureRandom;
 import java.util.*;
 import java.util.concurrent.*;
+
 import sun.net.spi.nameservice.NameService;
 import sun.net.spi.nameservice.NameServiceDescriptor;
 import sun.security.krb5.*;
@@ -155,6 +156,8 @@
     DatagramSocket u1 = null;
     ServerSocket t1 = null;
 
+    public static enum KtabMode { APPEND, EXISTING };
+
     /**
      * Option names, to be expanded forever.
      */
@@ -1316,6 +1319,68 @@
             // OK
         }
     }
+
+    public static void startKDC(final String host, final String krbConfFileName,
+            final String realm, final Map<String, String> principals,
+            final String ktab, final KtabMode mode) {
+
+        try {
+            KDC kdc = KDC.create(realm, host, 0, true);
+            kdc.setOption(KDC.Option.PREAUTH_REQUIRED, Boolean.FALSE);
+            KDC.saveConfig(krbConfFileName, kdc);
+
+            // Add principals
+            if (principals != null) {
+                principals.forEach((name, password) -> {
+                    if (password == null || password.isEmpty()) {
+                        System.out.println(String.format(
+                                "KDC:add a principal '%s' with a random " +
+                                        "password", name));
+                        kdc.addPrincipalRandKey(name);
+                    } else {
+                        System.out.println(String.format(
+                                "KDC:add a principal '%s' with '%s' password",
+                                name, password));
+                        kdc.addPrincipal(name, password.toCharArray());
+                    }
+                });
+            }
+
+            // Create or append keys to existing keytab file
+            if (ktab != null) {
+                File ktabFile = new File(ktab);
+                switch(mode) {
+                    case APPEND:
+                        if (ktabFile.exists()) {
+                            System.out.println(String.format(
+                                    "KDC:append keys to an exising keytab "
+                                    + "file %s", ktab));
+                            kdc.appendKtab(ktab);
+                        } else {
+                            System.out.println(String.format(
+                                    "KDC:create a new keytab file %s", ktab));
+                            kdc.writeKtab(ktab);
+                        }
+                        break;
+                    case EXISTING:
+                        System.out.println(String.format(
+                                "KDC:use an existing keytab file %s", ktab));
+                        break;
+                    default:
+                        throw new RuntimeException(String.format(
+                                "KDC:unsupported keytab mode: %s", mode));
+                }
+            }
+
+            System.out.println(String.format(
+                    "KDC: started on %s:%s with '%s' realm",
+                    host, kdc.getPort(), realm));
+        } catch (Exception e) {
+            throw new RuntimeException("KDC: unexpected exception", e);
+        }
+
+    }
+
     /**
      * Helper class to encapsulate a job in a KDC.
      */
--- a/jdk/test/sun/security/krb5/auto/KPEquals.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/KPEquals.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8015669
  * @summary KerberosPrincipal::equals should ignore name-type
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file KPEquals.java
  * @run main/othervm KPEquals
  */
--- a/jdk/test/sun/security/krb5/auto/KeyPermissions.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/KeyPermissions.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8004488
  * @summary wrong permissions checked in krb5
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file KeyPermissions.java
  * @run main/othervm KeyPermissions
  */
--- a/jdk/test/sun/security/krb5/auto/KeyTabCompat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/KeyTabCompat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6894072
  * @bug 8004488
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file KeyTabCompat.java
  * @run main/othervm KeyTabCompat
  * @summary always refresh keytab
--- a/jdk/test/sun/security/krb5/auto/KvnoNA.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/KvnoNA.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 7197159
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file KvnoNA.java
  * @run main/othervm KvnoNA
  * @summary accept different kvno if there no match
--- a/jdk/test/sun/security/krb5/auto/LifeTimeInSeconds.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/LifeTimeInSeconds.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6857802
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm LifeTimeInSeconds
  * @summary GSS getRemainingInitLifetime method returns milliseconds not seconds
  */
--- a/jdk/test/sun/security/krb5/auto/LoginModuleOptions.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/LoginModuleOptions.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6765491
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm LoginModuleOptions
  * @summary Krb5LoginModule a little too restrictive, and the doc is not clear.
  */
--- a/jdk/test/sun/security/krb5/auto/LoginNoPass.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/LoginNoPass.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8028351
  * @summary JWS doesn't get authenticated when using kerberos auth proxy
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file LoginNoPass.java
  * @run main/othervm LoginNoPass
  */
--- a/jdk/test/sun/security/krb5/auto/MSOID2.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/MSOID2.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,15 +25,6 @@
  * @test
  * @bug 8078439
  * @summary SPNEGO auth fails if client proposes MS krb5 OID
- * @modules java.base/sun.misc
- *          java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file MSOID2.java
  * @run main/othervm MSOID2
  */
--- a/jdk/test/sun/security/krb5/auto/MaxRetries.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/MaxRetries.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6844193
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file MaxRetries.java
  * @run main/othervm/timeout=300 MaxRetries
  * @summary support max_retries in krb5.conf
--- a/jdk/test/sun/security/krb5/auto/MoreKvno.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/MoreKvno.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6893158 6907425 7197159
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm MoreKvno
  * @summary AP_REQ check should use key version number
  */
--- a/jdk/test/sun/security/krb5/auto/NewInquireTypes.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/NewInquireTypes.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8043071
  * @summary Expose session key and KRB_CRED through extended GSS-API
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file NewInquireTypes.java
  * @run main/othervm NewInquireTypes
  */
--- a/jdk/test/sun/security/krb5/auto/NewSalt.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/NewSalt.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6960894
  * @summary Better AS-REQ creation and processing
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm NewSalt
  * @run main/othervm -Dnopreauth NewSalt
  * @run main/othervm -Donlyonepreauth NewSalt
--- a/jdk/test/sun/security/krb5/auto/NoAddresses.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/NoAddresses.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 7032354
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm NoAddresses 1
  * @run main/othervm NoAddresses 2
  * @run main/othervm/fail NoAddresses 3
--- a/jdk/test/sun/security/krb5/auto/NoInitNoKeytab.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/NoInitNoKeytab.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7089889
  * @summary Krb5LoginModule.login() throws an exception if used without a keytab
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file NoInitNoKeytab.java
  * @run main/othervm NoInitNoKeytab
  */
--- a/jdk/test/sun/security/krb5/auto/NonMutualSpnego.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/NonMutualSpnego.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6733095
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm NonMutualSpnego
  * @summary Failure when SPNEGO request non-Mutual
  */
--- a/jdk/test/sun/security/krb5/auto/NoneReplayCacheTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/NoneReplayCacheTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 8001326
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm NoneReplayCacheTest
  * @summary the replaycache type none cannot stop an authenticator replay,
  * but it can stop a message replay when s.s.k.acceptor.subkey is true.
--- a/jdk/test/sun/security/krb5/auto/OkAsDelegate.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/OkAsDelegate.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6853328 7172701
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm OkAsDelegate false true true false false false
  *      FORWARDABLE ticket not allowed, always fail
  * @run main/othervm OkAsDelegate true false false false false false
--- a/jdk/test/sun/security/krb5/auto/OkAsDelegateXRealm.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/OkAsDelegateXRealm.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6853328 7172701
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm OkAsDelegateXRealm false
  *      KDC no OK-AS-DELEGATE, fail
  * @run main/othervm -Dtest.kdc.policy.ok-as-delegate OkAsDelegateXRealm true
--- a/jdk/test/sun/security/krb5/auto/OnlyDesLogin.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/OnlyDesLogin.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,13 +25,6 @@
  * @test
  * @bug 8014310
  * @summary JAAS/Krb5LoginModule using des encytypes failure with NPE after JDK-8012679
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file OnlyDesLogin.java
  * @run main/othervm OnlyDesLogin
  */
--- a/jdk/test/sun/security/krb5/auto/PrincipalNameEquals.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/PrincipalNameEquals.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7061379
  * @summary [Kerberos] Cross-realm authentication fails, due to nameType problem
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file PrincipalNameEquals.java
  * @run main/othervm PrincipalNameEquals
  */
--- a/jdk/test/sun/security/krb5/auto/RRC.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/RRC.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7077640
  * @summary gss wrap for cfx doesn't handle rrc != 0
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file RRC.java
  * @run main/othervm RRC
  */
--- a/jdk/test/sun/security/krb5/auto/Renewal.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/Renewal.java	Thu Jul 02 17:50:25 2015 -0700
@@ -27,13 +27,6 @@
  * @summary Add kinit options and krb5.conf flags that allow users to
  *          obtain renewable tickets and specify ticket lifetimes
  * @library ../../../../java/security/testlibrary/
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file Renewal.java
  * @run main/othervm Renewal
  */
--- a/jdk/test/sun/security/krb5/auto/ReplayCacheExpunge.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/ReplayCacheExpunge.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,8 +24,6 @@
 /*
  * @test
  * @bug 8001326
- * @modules java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.rcache
  * @run main/othervm ReplayCacheExpunge 16
  * @run main/othervm/fail ReplayCacheExpunge 15
  * @summary when number of expired entries minus number of good entries
--- a/jdk/test/sun/security/krb5/auto/ReplayCachePrecise.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/ReplayCachePrecise.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,9 +24,6 @@
 /*
  * @test
  * @bug 8001326
- * @modules java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.rcache
  * @run main/othervm ReplayCachePrecise
  * @summary when there are 2 two AuthTime with the same time but different hash,
  * it's not a replay.
--- a/jdk/test/sun/security/krb5/auto/ReplayCacheTest.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/ReplayCacheTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 7118809 8001326
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm ReplayCacheTest jvm
  * @run main/othervm ReplayCacheTest dfl
  * @summary rcache deadlock
--- a/jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,16 +26,6 @@
  * @bug 7152176
  * @summary More krb5 tests
  * @library ../../../../java/security/testlibrary/
- * @modules java.base/sun.misc
- *          java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
- *          java.security.jgss/sun.security.krb5.internal.rcache
  * @compile -XDignore.symbol.file ReplayCacheTestProc.java
  * @run main/othervm/timeout=100 ReplayCacheTestProc
  */
--- a/jdk/test/sun/security/krb5/auto/S4U2proxy.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/S4U2proxy.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584 8044215
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2proxy.java
  * @run main/othervm S4U2proxy krb5
  * @run main/othervm S4U2proxy spnego
--- a/jdk/test/sun/security/krb5/auto/S4U2proxyGSS.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/S4U2proxyGSS.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2proxyGSS.java
  * @run main/othervm -Djavax.security.auth.useSubjectCredsOnly=false S4U2proxyGSS krb5
  * @run main/othervm -Djavax.security.auth.useSubjectCredsOnly=false S4U2proxyGSS spnego
--- a/jdk/test/sun/security/krb5/auto/S4U2self.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/S4U2self.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2self.java
  * @run main/othervm -Dsun.security.krb5.debug=false S4U2self krb5 0
  * @run main/othervm/fail -Dsun.security.krb5.debug=false S4U2self krb5 1
--- a/jdk/test/sun/security/krb5/auto/S4U2selfAsServer.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/S4U2selfAsServer.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2selfAsServer.java
  * @run main/othervm S4U2selfAsServer krb5
  * @run main/othervm S4U2selfAsServer spnego
--- a/jdk/test/sun/security/krb5/auto/S4U2selfAsServerGSS.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/S4U2selfAsServerGSS.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2selfAsServerGSS.java
  * @run main/othervm -Djavax.security.auth.useSubjectCredsOnly=false S4U2selfAsServerGSS krb5
  * @run main/othervm -Djavax.security.auth.useSubjectCredsOnly=false S4U2selfAsServerGSS spnego
--- a/jdk/test/sun/security/krb5/auto/S4U2selfGSS.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/S4U2selfGSS.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 6355584
  * @summary Introduce constrained Kerberos delegation
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file S4U2selfGSS.java
  * @run main/othervm -Dsun.security.krb5.debug=false S4U2selfGSS krb5
  * @run main/othervm -Dsun.security.krb5.debug=false S4U2selfGSS spnego
--- a/jdk/test/sun/security/krb5/auto/SPNEGO.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/SPNEGO.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7040151
  * @summary SPNEGO GSS code does not parse tokens in accordance to RFC 2478
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file SPNEGO.java
  * @run main/othervm SPNEGO
  */
--- a/jdk/test/sun/security/krb5/auto/SSL.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/SSL.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,15 +25,6 @@
  * @test
  * @bug 6894643 6913636 8005523 8025123
  * @summary Test JSSE Kerberos ciphersuite
-
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm SSL TLS_KRB5_WITH_RC4_128_SHA
  * @run main/othervm SSL TLS_KRB5_WITH_RC4_128_SHA unbound
  * @run main/othervm SSL TLS_KRB5_WITH_RC4_128_SHA unbound sni
--- a/jdk/test/sun/security/krb5/auto/SaslBasic.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/SaslBasic.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7110803
  * @summary SASL service for multiple hostnames
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
- *          java.security.sasl
  * @compile -XDignore.symbol.file SaslBasic.java
  * @run main/othervm SaslBasic bound
  * @run main/othervm SaslBasic unbound
--- a/jdk/test/sun/security/krb5/auto/SaslGSS.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/SaslGSS.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,15 +26,6 @@
  * @bug 8012082 8019267
  * @summary SASL: auth-conf negotiated, but unencrypted data is accepted,
   *         reset to unencrypt
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
- *          java.security.sasl
  * @compile -XDignore.symbol.file SaslGSS.java
  * @run main/othervm SaslGSS
  */
--- a/jdk/test/sun/security/krb5/auto/SaslUnbound.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/SaslUnbound.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8001104
  * @summary Unbound SASL service: the GSSAPI/krb5 mech
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
- *          java.security.sasl
  * @compile -XDignore.symbol.file SaslUnbound.java
  * @run main/othervm SaslUnbound 0
  * @run main/othervm/fail SaslUnbound 1
--- a/jdk/test/sun/security/krb5/auto/SpnegoLifeTime.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/SpnegoLifeTime.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8000653
  * @summary SPNEGO tests fail at context.getDelegCred().getRemainingInitLifetime(mechOid)
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file SpnegoLifeTime.java
  * @run main/othervm SpnegoLifeTime
  */
--- a/jdk/test/sun/security/krb5/auto/SpnegoReqFlags.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/SpnegoReqFlags.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6815182
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm SpnegoReqFlags
  * @summary GSSAPI/SPNEGO does not work with server using MIT Kerberos library
  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/TEST.properties	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,10 @@
+modules java.base/sun.misc \
+        java.base/sun.net.spi.nameservice \
+        java.base/sun.security.util \
+        java.security.jgss/sun.security.jgss \
+        java.security.jgss/sun.security.krb5 \
+        java.security.jgss/sun.security.krb5.internal \
+        java.security.jgss/sun.security.krb5.internal.ccache \
+        java.security.jgss/sun.security.krb5.internal.rcache \
+        java.security.jgss/sun.security.krb5.internal.crypto \
+        java.security.jgss/sun.security.krb5.internal.ktab
--- a/jdk/test/sun/security/krb5/auto/TcpTimeout.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/TcpTimeout.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 6952519
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file TcpTimeout.java
  * @run main/othervm TcpTimeout
  * @summary kdc_timeout is not being honoured when using TCP
--- a/jdk/test/sun/security/krb5/auto/Test5653.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/Test5653.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6895424
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm Test5653
  * @summary RFC 5653
  */
--- a/jdk/test/sun/security/krb5/auto/TwoOrThree.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/TwoOrThree.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8005447
  * @summary default principal can act as anyone
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file TwoOrThree.java
  * @run main/othervm TwoOrThree first first
  * @run main/othervm/fail TwoOrThree first second
--- a/jdk/test/sun/security/krb5/auto/TwoPrinces.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/TwoPrinces.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,14 +24,6 @@
 /*
  * @test
  * @bug 6894072
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file TwoPrinces.java
  * @run main/othervm TwoPrinces
  * @summary always refresh keytab
--- a/jdk/test/sun/security/krb5/auto/TwoTab.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/TwoTab.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 7152176
  * @summary More krb5 tests
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file TwoTab.java
  * @run main/othervm TwoTab
  */
--- a/jdk/test/sun/security/krb5/auto/UdpTcp.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/UdpTcp.java	Thu Jul 02 17:50:25 2015 -0700
@@ -24,13 +24,6 @@
 /*
  * @test
  * @bug 4966382 8039132
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm UdpTcp UDP
  * @run main/othervm UdpTcp TCP
  * @summary udp or tcp
--- a/jdk/test/sun/security/krb5/auto/UnboundSSL.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/UnboundSSL.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,6 +26,7 @@
 import java.security.PrivilegedActionException;
 import java.util.HashMap;
 import java.util.Map;
+
 import javax.security.auth.login.LoginException;
 
 /*
@@ -74,8 +75,9 @@
                UnboundSSLUtils.KRB5_CONF_FILENAME);
 
         // start a local KDC instance
-        UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
-                UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+        KDC.startKDC(UnboundSSLUtils.HOST, UnboundSSLUtils.KRB5_CONF_FILENAME,
+                UnboundSSLUtils.REALM, principals,
+                UnboundSSLUtils.KTAB_FILENAME, KDC.KtabMode.APPEND);
 
         System.setProperty("java.security.auth.login.config",
                 UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
--- a/jdk/test/sun/security/krb5/auto/UnboundSSLMultipleKeys.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/UnboundSSLMultipleKeys.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,6 +26,7 @@
 import java.security.PrivilegedActionException;
 import java.util.HashMap;
 import java.util.Map;
+
 import javax.security.auth.login.LoginException;
 
 /*
@@ -81,8 +82,9 @@
          * principal, but password for only one key is the same with the record
          * for service1 principal in KDC.
          */
-        UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
-                UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+        KDC.startKDC(UnboundSSLUtils.HOST, UnboundSSLUtils.KRB5_CONF_FILENAME,
+                UnboundSSLUtils.REALM, principals,
+                UnboundSSLUtils.KTAB_FILENAME, KDC.KtabMode.APPEND);
 
         System.setProperty("java.security.auth.login.config",
                 UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
--- a/jdk/test/sun/security/krb5/auto/UnboundSSLPrincipalProperty.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/UnboundSSLPrincipalProperty.java	Thu Jul 02 17:50:25 2015 -0700
@@ -70,8 +70,9 @@
                 UnboundSSLUtils.KRB5_CONF_FILENAME);
 
         // start a local KDC instance
-        UnboundSSLUtils.startKDC(UnboundSSLUtils.REALM, principals,
-                UnboundSSLUtils.KTAB_FILENAME, UnboundSSLUtils.KtabMode.APPEND);
+        KDC.startKDC(UnboundSSLUtils.HOST, UnboundSSLUtils.KRB5_CONF_FILENAME,
+                UnboundSSLUtils.REALM, principals,
+                UnboundSSLUtils.KTAB_FILENAME, KDC.KtabMode.APPEND);
 
         System.setProperty("java.security.auth.login.config",
                 UnboundSSLUtils.TEST_SRC + UnboundSSLUtils.FS + jaacConfigFile);
--- a/jdk/test/sun/security/krb5/auto/UnboundSSLUtils.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/UnboundSSLUtils.java	Thu Jul 02 17:50:25 2015 -0700
@@ -50,8 +50,6 @@
  */
 class UnboundSSLUtils {
 
-    static enum KtabMode { APPEND, EXISTING };
-
     static final String KTAB_FILENAME = "krb5.keytab.data";
     static final String HOST = "localhost";
     static final String REALM = "TEST.REALM";
@@ -87,65 +85,6 @@
         });
     }
 
-    /*
-     * Start a KDC server:
-     *   - create a KDC instance
-     *   - create Kerberos principals
-     *   - save Kerberos configuration
-     *   - save keys to keytab file
-     *   - no pre-auth required
-     */
-    static void startKDC(String realm, Map<String, String> principals,
-            String ktab, KtabMode mode) {
-        try {
-            KDC kdc = KDC.create(realm, HOST, 0, true);
-            kdc.setOption(KDC.Option.PREAUTH_REQUIRED, Boolean.FALSE);
-            if (principals != null) {
-                for (Map.Entry<String, String> entry : principals.entrySet()) {
-                    String name = entry.getKey();
-                    String password = entry.getValue();
-                    if (password == null || password.isEmpty()) {
-                        System.out.println("KDC: add a principal '" + name +
-                                "' with a random password");
-                        kdc.addPrincipalRandKey(name);
-                    } else {
-                        System.out.println("KDC: add a principal '" + name +
-                                "' with '" + password + "' password");
-                        kdc.addPrincipal(name, password.toCharArray());
-                    }
-                }
-            }
-
-            KDC.saveConfig(KRB5_CONF_FILENAME, kdc);
-
-            if (ktab != null) {
-                File ktabFile = new File(ktab);
-                if (mode == KtabMode.APPEND) {
-                    if (ktabFile.exists()) {
-                        System.out.println("KDC: append keys to an exising " +
-                                "keytab file " + ktab);
-                        kdc.appendKtab(ktab);
-                    } else {
-                        System.out.println("KDC: create a new keytab file " +
-                                ktab);
-                        kdc.writeKtab(ktab);
-                    }
-                } else if (mode == KtabMode.EXISTING) {
-                    System.out.println("KDC: use an existing keytab file "
-                            + ktab);
-                } else {
-                    throw new RuntimeException("KDC: unsupported keytab mode: "
-                            + mode);
-                }
-            }
-
-            System.out.println("KDC: started on " + HOST + ":" + kdc.getPort()
-                    + " with '" + realm + "' realm");
-        } catch (Exception e) {
-            throw new RuntimeException("KDC: unexpected exception", e);
-        }
-    }
-
 }
 
 class SSLClient {
--- a/jdk/test/sun/security/krb5/auto/UnboundService.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/UnboundService.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,14 +25,6 @@
  * @test
  * @bug 8001104
  * @summary Unbound SASL service: the GSSAPI/krb5 mech
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.jgss
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file UnboundService.java
  * @run main/othervm UnboundService null null
  * @run main/othervm UnboundService server/host.rabbit.hole null
--- a/jdk/test/sun/security/krb5/auto/Unreachable.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/Unreachable.java	Thu Jul 02 17:50:25 2015 -0700
@@ -25,7 +25,6 @@
  * @test
  * @bug 7162687
  * @summary enhance KDC server availability detection
- * @modules java.security.jgss/sun.security.krb5
  * @compile -XDignore.symbol.file Unreachable.java
  * @run main/othervm/timeout=10 Unreachable
  */
--- a/jdk/test/sun/security/krb5/auto/UseCacheAndStoreKey.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/UseCacheAndStoreKey.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,13 +26,6 @@
  * @bug 7201053
  * @summary Krb5LoginModule shows NPE when both useTicketCache and storeKey
  *          are set to true
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @compile -XDignore.symbol.file UseCacheAndStoreKey.java
  * @run main/othervm UseCacheAndStoreKey
  */
--- a/jdk/test/sun/security/krb5/auto/W83.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/W83.java	Thu Jul 02 17:50:25 2015 -0700
@@ -26,13 +26,6 @@
  * @bug 6932525 6951366 6959292
  * @summary kerberos login failure on win2008 with AD set to win2000 compat mode
  * and cannot login if session key and preauth does not use the same etype
- * @modules java.base/sun.net.spi.nameservice
- *          java.base/sun.security.util
- *          java.security.jgss/sun.security.krb5
- *          java.security.jgss/sun.security.krb5.internal
- *          java.security.jgss/sun.security.krb5.internal.ccache
- *          java.security.jgss/sun.security.krb5.internal.crypto
- *          java.security.jgss/sun.security.krb5.internal.ktab
  * @run main/othervm -D6932525 W83
  * @run main/othervm -D6959292 W83
  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/principalProperty/PrincipalSystemPropTest.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8075301
+ * @library /sun/security/krb5/auto
+ * @summary New test for sun.security.krb5.principal system property.
+ * The principal can set using the system property sun.security.krb5.principal.
+ * This property is checked during login. If this property is not set,
+ * then the principal name from the configuration is used.
+ * @run main/othervm/java.security.policy=principalSystemPropTest.policy
+ * PrincipalSystemPropTest
+ */
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import javax.security.auth.login.LoginException;
+import javax.security.auth.login.LoginContext;
+import com.sun.security.auth.callback.TextCallbackHandler;
+
+public class PrincipalSystemPropTest {
+
+    private static final boolean PASS = Boolean.TRUE;
+    private static final boolean FAIL = Boolean.FALSE;
+    private static final String VALID_PRINCIPAL_JAAS_ENTRY =
+            "ValidPrincipalSystemPropTest";
+    private static final String INVALID_PRINCIPAL_JAAS_ENTRY =
+            "InvalidPrincipalSystemPropTest";
+    private static final String NO_PRINCIPAL_JAAS_ENTRY =
+            "NoPrincipalSystemPropTest";
+    private static final String SAME_PRINCIPAL_JAAS_ENTRY =
+            "SelfPrincipalSystemPropTest";
+    private static final String HOST = "localhost";
+    private static final String KTAB_FILENAME = "krb5.keytab.data";
+    private static final String REALM = "TEST.REALM";
+    private static final String TEST_SRC = System.getProperty("test.src", ".");
+    private static final String USER = "USER";
+    private static final String AVAILABLE_USER = "AVAILABLE";
+    private static final String USER_PASSWORD = "password";
+    private static final String FS = System.getProperty("file.separator");
+    private static final String KRB5_CONF_FILENAME = "krb5.conf";
+    private static final String JAAS_CONF_FILENAME = "jaas.conf";
+    private static final String KRBTGT_PRINCIPAL = "krbtgt/" + REALM;
+    private static final String USER_PRINCIPAL = USER + "@" + REALM;
+    private static final String AVAILABLE_USER_PRINCIPAL =
+            AVAILABLE_USER + "@" + REALM;
+
+    public static void main(String[] args) throws Exception {
+
+        setupTest();
+
+        // Expected result, Jaas Config Entry, Login Principal Expected,
+        // Principal passed through System property
+        runTest(PASS, VALID_PRINCIPAL_JAAS_ENTRY,
+                USER_PRINCIPAL, "USER@TEST.REALM");
+        runTest(PASS, VALID_PRINCIPAL_JAAS_ENTRY,
+                AVAILABLE_USER_PRINCIPAL,  null);
+        runTest(PASS, INVALID_PRINCIPAL_JAAS_ENTRY,
+                USER_PRINCIPAL, "USER@TEST.REALM");
+        runTest(FAIL, INVALID_PRINCIPAL_JAAS_ENTRY, null,  null);
+        runTest(PASS, NO_PRINCIPAL_JAAS_ENTRY,
+                USER_PRINCIPAL, "USER@TEST.REALM");
+        runTest(FAIL, NO_PRINCIPAL_JAAS_ENTRY, null, null);
+        runTest(PASS, SAME_PRINCIPAL_JAAS_ENTRY,
+                USER_PRINCIPAL, "USER@TEST.REALM");
+
+    }
+
+    private static void setupTest() {
+
+        System.setProperty("java.security.krb5.conf", KRB5_CONF_FILENAME);
+        System.setProperty("java.security.auth.login.config",
+                TEST_SRC + FS + JAAS_CONF_FILENAME);
+
+        Map<String, String> principals = new HashMap<>();
+        principals.put(USER_PRINCIPAL, USER_PASSWORD);
+        principals.put(AVAILABLE_USER_PRINCIPAL, USER_PASSWORD);
+        principals.put(KRBTGT_PRINCIPAL, null);
+        KDC.startKDC(HOST, KRB5_CONF_FILENAME, REALM, principals,
+                KTAB_FILENAME, KDC.KtabMode.APPEND);
+
+    }
+
+    private static void runTest(boolean expected, String jaasConfigEntry,
+            String expectedLoginUser, String loginUserBySysProp) {
+
+        if(loginUserBySysProp != null) {
+            System.setProperty("sun.security.krb5.principal",
+                    loginUserBySysProp);
+        } else {
+            System.clearProperty("sun.security.krb5.principal");
+        }
+
+        try {
+            LoginContext lc = new LoginContext(jaasConfigEntry,
+                    new TextCallbackHandler());
+            lc.login();
+            System.out.println(String.format(
+                    "Authentication completed with Subject '%s' ",
+                    lc.getSubject()));
+
+            if (!expected) {
+                throw new RuntimeException(
+                        "TEST FAILED - JAAS login success isn't expected");
+            }
+            if(expectedLoginUser != null && !lc.getSubject().getPrincipals()
+                    .stream().map(p -> p.getName()).filter(
+                            expectedLoginUser :: equals).findFirst()
+                            .isPresent()) {
+                throw new RuntimeException(String.format(
+                        "TEST FAILED - Login principal is not matched "
+                        + "to expected principal '%s'.", expectedLoginUser));
+            }
+            System.out.println(
+                    "TEST PASSED - JAAS login success is expected.");
+        } catch (LoginException ie) {
+            System.out.println(String.format(
+                    "Authentication failed with exception: %s",
+                    ie.getMessage()));
+            if (expected) {
+                System.out.println(
+                        "TEST FAILED - JAAS login failure isn't expected");
+                throw new RuntimeException(ie);
+            }
+            System.out.println(
+                    "TEST PASSED - JAAS login failure is expected.");
+        }
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/principalProperty/jaas.conf	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,34 @@
+NoPrincipalSystemPropTest {
+	com.sun.security.auth.module.Krb5LoginModule required 
+	useKeyTab = true
+  	keyTab = krb5.keytab.data
+  	doNotPrompt =true
+  	debug=true;
+};
+
+InvalidPrincipalSystemPropTest {
+  	com.sun.security.auth.module.Krb5LoginModule required 
+  	principal="UNAVAILABLE@TEST.REALM"
+  	useKeyTab = true
+  	keyTab = krb5.keytab.data
+  	doNotPrompt =true
+  	debug=true;
+};
+
+ValidPrincipalSystemPropTest {
+  	com.sun.security.auth.module.Krb5LoginModule required 
+  	principal="AVAILABLE@TEST.REALM"
+  	useKeyTab = true
+  	keyTab = krb5.keytab.data
+  	doNotPrompt =true
+  	debug=true;
+};
+
+SelfPrincipalSystemPropTest {
+  	com.sun.security.auth.module.Krb5LoginModule required 
+  	principal="USER@TEST.REALM"
+  	useKeyTab = true
+  	keyTab = krb5.keytab.data
+  	doNotPrompt =true
+  	debug=true;
+};
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/krb5/auto/principalProperty/principalSystemPropTest.policy	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,21 @@
+grant {
+  	permission javax.security.auth.AuthPermission
+    	"createLoginContext.ValidPrincipalSystemPropTest";
+    	permission javax.security.auth.AuthPermission
+    	"createLoginContext.InvalidPrincipalSystemPropTest";
+    	permission javax.security.auth.AuthPermission
+    	"createLoginContext.NoPrincipalSystemPropTest";
+    	permission javax.security.auth.AuthPermission
+    	"createLoginContext.SelfPrincipalSystemPropTest";
+  	permission javax.security.auth.AuthPermission "doAs";
+  	permission javax.security.auth.AuthPermission "modifyPrincipals";
+  	permission javax.security.auth.AuthPermission "getSubject";
+  	permission java.util.PropertyPermission "*", "read,write";
+  	permission java.io.FilePermission "*", "read,write,delete";
+  	permission java.lang.RuntimePermission "accessDeclaredMembers";
+  	permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
+  	permission java.lang.RuntimePermission "accessClassInPackage.*";
+  	permission java.net.SocketPermission "*:*", 
+  		"listen,resolve,accept,connect";
+}; 
+
--- a/jdk/test/sun/security/krb5/config/NamingManager.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/config/NamingManager.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,6 @@
 
 package javax.naming.spi;
 
-import com.sun.jndi.dns.DnsContext;
 import java.util.Hashtable;
 import javax.naming.Context;
 import javax.naming.NamingException;
@@ -31,6 +30,7 @@
 import javax.naming.directory.Attributes;
 import javax.naming.directory.BasicAttribute;
 import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.InitialDirContext;
 
 /**
  * A fake javax.naming.spi.NamingManager. It allows reading a DNS
@@ -43,7 +43,7 @@
     public static Context getURLContext(
             String scheme, Hashtable<?,?> environment)
             throws NamingException {
-        return new DnsContext("", null, new Hashtable<String,String>()) {
+        return new InitialDirContext() {
             public Attributes getAttributes(String name, String[] attrIds)
                     throws NamingException {
                 return new BasicAttributes() {
--- a/jdk/test/sun/security/krb5/tools/KtabZero.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/krb5/tools/KtabZero.java	Thu Jul 02 17:50:25 2015 -0700
@@ -33,7 +33,9 @@
  * @test
  * @bug 8014196
  * @summary ktab creates a file with zero kt_vno
+ * @requires os.family == "windows"
  * @modules java.security.jgss/sun.security.krb5.internal.ktab
+ *          java.security.jgss/sun.security.krb5.internal.tools
  */
 public class KtabZero {
 
@@ -52,15 +54,8 @@
 
         // 2. Create with the tool
         Files.deleteIfExists(Paths.get(NAME));
-        try {
-            Class ktab = Class.forName("sun.security.krb5.internal.tools.Ktab");
-            ktab.getDeclaredMethod("main", String[].class).invoke(null,
-                    (Object)(("-k " + NAME + " -a me@HERE pass").split(" ")));
-        } catch (ClassNotFoundException cnfe) {
-            // Only Windows has ktab tool
-            System.out.println("No ktab tool here. Ignored.");
-            return;
-        }
+        sun.security.krb5.internal.tools.Ktab.main(
+            ("-k " + NAME + " -a me@HERE pass").split(" "));
         check(false);
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/security/util/Oid/OidEquals.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8022444
+ * @summary Test ObjectIdentifier.equals(Object obj)
+ */
+
+import sun.security.util.ObjectIdentifier;
+
+public class OidEquals {
+    public static void main(String[] args) throws Exception {
+        ObjectIdentifier oid1 = new ObjectIdentifier("1.3.6.1.4.1.42.2.17");
+        ObjectIdentifier oid2 =
+                new ObjectIdentifier(new int[]{1, 3, 6, 1, 4, 1, 42, 2, 17});
+        ObjectIdentifier oid3 = new ObjectIdentifier("1.2.3.4");
+
+        assertEquals(oid1, oid1);
+        assertEquals(oid1, oid2);
+        assertNotEquals(oid1, oid3);
+        assertNotEquals(oid1, "1.3.6.1.4.1.42.2.17");
+
+        System.out.println("Tests passed.");
+    }
+
+    static void assertEquals(ObjectIdentifier oid, Object obj)
+            throws Exception {
+        if (!oid.equals(obj)) {
+            throw new Exception("The ObjectIdentifier " + oid.toString() +
+                    " should be equal to the Object " + obj.toString());
+        }
+    }
+
+    static void assertNotEquals(ObjectIdentifier oid, Object obj)
+            throws Exception {
+        if (oid.equals(obj)) {
+            throw new Exception("The ObjectIdentifier " + oid.toString() +
+                    " should not be equal to the Object " + obj.toString());
+        }
+    }
+}
--- a/jdk/test/sun/security/util/Oid/OidFormat.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/security/util/Oid/OidFormat.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2015, 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
@@ -129,7 +129,7 @@
         os.putOID(oid);
         DerInputStream is = new DerInputStream(os.toByteArray());
         ObjectIdentifier oid2 = is.getOID();
-        if (!oid.equals((Object)oid2)) {
+        if (!oid.equals(oid2)) {
             throw new Exception("Test DER I/O fails: " + oid + " and " + oid2);
         }
     }
@@ -144,7 +144,7 @@
         os.putOID(oid);
         DerInputStream is = new DerInputStream(os.toByteArray());
         ObjectIdentifier oid2 = is.getOID();
-        if (!oid.equals((Object)oid2)) {
+        if (!oid.equals(oid2)) {
             throw new Exception("Test DER I/O fails: " + oid + " and " + oid2);
         }
     }
--- a/jdk/test/sun/util/calendar/zi/tzdata/VERSION	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/VERSION	Thu Jul 02 17:50:25 2015 -0700
@@ -21,4 +21,4 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #
-tzdata2015d
+tzdata2015e
--- a/jdk/test/sun/util/calendar/zi/tzdata/africa	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/africa	Thu Jul 02 17:50:25 2015 -0700
@@ -361,9 +361,10 @@
 # time this summer, and carry out studies on the possibility of canceling the
 # practice altogether in future years."
 #
-# From Paul Eggert (2015-04-20):
-# For now, assume DST will be canceled.  Any resumption would likely
-# use different rules anyway.
+# From Paul Eggert (2015-04-24):
+# Yesterday the office of Egyptian President El-Sisi announced his
+# decision to abandon DST permanently.  See Ahram Online 2015-04-24.
+# http://english.ahram.org.eg/NewsContent/1/64/128509/Egypt/Politics-/Sisi-cancels-daylight-saving-time-in-Egypt.aspx
 
 Rule	Egypt	2008	only	-	Aug	lastThu	24:00	0	-
 Rule	Egypt	2009	only	-	Aug	20	24:00	0	-
@@ -810,20 +811,41 @@
 # will resume again at 02:00 on Saturday, August 2, 2014....
 # http://www.mmsp.gov.ma/fr/actualites.aspx?id=586
 
-# From Paul Eggert (2014-06-05):
-# For now, guess that later spring and fall transitions will use 2014's rules,
+# From Milamber (2015-06-08):
+# (Google Translation) The hour will thus be delayed 60 minutes
+# Sunday, June 14 at 3:00, the ministry said in a statement, adding
+# that the time will be advanced again 60 minutes Sunday, July 19,
+# 2015 at 2:00.  The move comes under 2.12.126 Decree of 26 Jumada I
+# 1433 (18 April 2012) and the decision of the Head of Government of
+# 16 N. 3-29-15 Chaaban 1435 (4 June 2015).
+# Source (french):
+# http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/
+#
+# From Milamber (2015-06-09):
+# http://www.mmsp.gov.ma/fr/actualites.aspx?id=863
+#
+# From Michael Deckers (2015-06-09):
+# [The gov.ma announcement] would (probably) make the switch on 2015-07-19 go
+# from 03:00 to 04:00 rather than from 02:00 to 03:00, as in the patch....
+# I think the patch is correct and the quoted text is wrong; the text in
+# <http://lnt.ma/le-maroc-reculera-dune-heure-le-dimanche-14-juin/> agrees
+# with the patch.
+
+# From Paul Eggert (2015-06-08):
+# For now, guess that later spring and fall transitions will use 2015's rules,
 # and guess that Morocco will switch to standard time at 03:00 the last
-# Saturday before Ramadan, and back to DST at 02:00 the first Saturday after
-# Ramadan.  To implement this, transition dates for 2015 through 2037 were
+# Sunday before Ramadan, and back to DST at 02:00 the first Sunday after
+# Ramadan.  To implement this, transition dates for 2016 through 2037 were
 # determined by running the following program under GNU Emacs 24.3, with the
 # results integrated by hand into the table below.
-# (let ((islamic-year 1436))
+# (let ((islamic-year 1437))
+#   (require 'cal-islam)
 #   (while (< islamic-year 1460)
 #     (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
 #           (b (calendar-islamic-to-absolute (list 10 1 islamic-year)))
-#           (saturday 6))
-#       (while (/= saturday (mod (setq a (1- a)) 7)))
-#       (while (/= saturday (mod b 7))
+#           (sunday 0))
+#       (while (/= sunday (mod (setq a (1- a)) 7)))
+#       (while (/= sunday (mod b 7))
 #         (setq b (1+ b)))
 #       (setq a (calendar-gregorian-from-absolute a))
 #       (setq b (calendar-gregorian-from-absolute b))
@@ -867,32 +889,30 @@
 Rule	Morocco	2013	only	-	Jul	 7	 3:00	0	-
 Rule	Morocco	2013	only	-	Aug	10	 2:00	1:00	S
 Rule	Morocco	2013	max	-	Oct	lastSun	 3:00	0	-
-Rule	Morocco	2014	2022	-	Mar	lastSun	 2:00	1:00	S
+Rule	Morocco	2014	2021	-	Mar	lastSun	 2:00	1:00	S
 Rule	Morocco	2014	only	-	Jun	28	 3:00	0	-
 Rule	Morocco	2014	only	-	Aug	 2	 2:00	1:00	S
-Rule	Morocco	2015	only	-	Jun	13	 3:00	0	-
-Rule	Morocco	2015	only	-	Jul	18	 2:00	1:00	S
-Rule	Morocco	2016	only	-	Jun	 4	 3:00	0	-
-Rule	Morocco	2016	only	-	Jul	 9	 2:00	1:00	S
-Rule	Morocco	2017	only	-	May	20	 3:00	0	-
-Rule	Morocco	2017	only	-	Jul	 1	 2:00	1:00	S
-Rule	Morocco	2018	only	-	May	12	 3:00	0	-
-Rule	Morocco	2018	only	-	Jun	16	 2:00	1:00	S
-Rule	Morocco	2019	only	-	May	 4	 3:00	0	-
-Rule	Morocco	2019	only	-	Jun	 8	 2:00	1:00	S
-Rule	Morocco	2020	only	-	Apr	18	 3:00	0	-
-Rule	Morocco	2020	only	-	May	30	 2:00	1:00	S
-Rule	Morocco	2021	only	-	Apr	10	 3:00	0	-
-Rule	Morocco	2021	only	-	May	15	 2:00	1:00	S
-Rule	Morocco	2022	only	-	Apr	 2	 3:00	0	-
-Rule	Morocco	2022	only	-	May	 7	 2:00	1:00	S
-Rule	Morocco	2023	only	-	Apr	22	 2:00	1:00	S
-Rule	Morocco	2024	only	-	Apr	13	 2:00	1:00	S
-Rule	Morocco	2025	only	-	Apr	 5	 2:00	1:00	S
+Rule	Morocco	2015	only	-	Jun	14	 3:00	0	-
+Rule	Morocco	2015	only	-	Jul	19	 2:00	1:00	S
+Rule	Morocco	2016	only	-	Jun	 5	 3:00	0	-
+Rule	Morocco	2016	only	-	Jul	10	 2:00	1:00	S
+Rule	Morocco	2017	only	-	May	21	 3:00	0	-
+Rule	Morocco	2017	only	-	Jul	 2	 2:00	1:00	S
+Rule	Morocco	2018	only	-	May	13	 3:00	0	-
+Rule	Morocco	2018	only	-	Jun	17	 2:00	1:00	S
+Rule	Morocco	2019	only	-	May	 5	 3:00	0	-
+Rule	Morocco	2019	only	-	Jun	 9	 2:00	1:00	S
+Rule	Morocco	2020	only	-	Apr	19	 3:00	0	-
+Rule	Morocco	2020	only	-	May	24	 2:00	1:00	S
+Rule	Morocco	2021	only	-	Apr	11	 3:00	0	-
+Rule	Morocco	2021	only	-	May	16	 2:00	1:00	S
+Rule	Morocco	2022	only	-	May	 8	 2:00	1:00	S
+Rule	Morocco	2023	only	-	Apr	23	 2:00	1:00	S
+Rule	Morocco	2024	only	-	Apr	14	 2:00	1:00	S
+Rule	Morocco	2025	only	-	Apr	 6	 2:00	1:00	S
 Rule	Morocco	2026	max	-	Mar	lastSun	 2:00	1:00	S
-Rule	Morocco	2035	only	-	Oct	27	 3:00	0	-
-Rule	Morocco	2036	only	-	Oct	18	 3:00	0	-
-Rule	Morocco	2037	only	-	Oct	10	 3:00	0	-
+Rule	Morocco	2036	only	-	Oct	19	 3:00	0	-
+Rule	Morocco	2037	only	-	Oct	 4	 3:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Casablanca	-0:30:20 -	LMT	1913 Oct 26
--- a/jdk/test/sun/util/calendar/zi/tzdata/iso3166.tab	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/iso3166.tab	Thu Jul 02 17:50:25 2015 -0700
@@ -26,11 +26,10 @@
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 #
-# From Paul Eggert (2014-07-18):
+# From Paul Eggert (2015-05-02):
 # This file contains a table of two-letter country codes.  Columns are
 # separated by a single tab.  Lines beginning with '#' are comments.
-# Although all text currently uses ASCII encoding, this is planned to
-# change to UTF-8 soon.  The columns of the table are as follows:
+# All text uses UTF-8 encoding.  The columns of the table are as follows:
 #
 # 1.  ISO 3166-1 alpha-2 country code, current as of
 #     ISO 3166-1 Newsletter VI-16 (2013-07-11).  See: Updates on ISO 3166
@@ -61,7 +60,7 @@
 AT	Austria
 AU	Australia
 AW	Aruba
-AX	Aaland Islands
+AX	Ã…land Islands
 AZ	Azerbaijan
 BA	Bosnia & Herzegovina
 BB	Barbados
@@ -90,7 +89,7 @@
 CF	Central African Rep.
 CG	Congo (Rep.)
 CH	Switzerland
-CI	Cote d'Ivoire
+CI	Côte d'Ivoire
 CK	Cook Islands
 CL	Chile
 CM	Cameroon
@@ -234,7 +233,7 @@
 PW	Palau
 PY	Paraguay
 QA	Qatar
-RE	Reunion
+RE	Réunion
 RO	Romania
 RS	Serbia
 RU	Russia
--- a/jdk/test/sun/util/calendar/zi/tzdata/northamerica	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/northamerica	Thu Jul 02 17:50:25 2015 -0700
@@ -2684,7 +2684,17 @@
 			-4:00	US	A%sT
 
 # Cayman Is
-# See America/Panama.
+
+# From Paul Eggert (2015-05-15):
+# The Cayman government has decided to introduce DST in 2016, the idea being
+# to keep in sync with New York.  The legislation hasn't passed but the change
+# seems quite likely.  See: Meade B. Cayman 27.
+# http://www.cayman27.com.ky/2015/05/15/clock-ticks-toward-daylight-saving-time-in-cayman
+
+Zone	America/Cayman	-5:25:32 -	LMT	1890     # Georgetown
+			-5:07:11 -	KMT	1912 Feb # Kingston Mean Time
+			-5:00	-	EST	2016
+			-5:00	US	E%sT
 
 # Costa Rica
 
@@ -3207,7 +3217,6 @@
 Zone	America/Panama	-5:18:08 -	LMT	1890
 			-5:19:36 -	CMT	1908 Apr 22 # Colón Mean Time
 			-5:00	-	EST
-Link America/Panama America/Cayman
 
 # Puerto Rico
 # There are too many San Juans elsewhere, so we'll use 'Puerto_Rico'.
--- a/jdk/test/sun/util/calendar/zi/tzdata/southamerica	Thu Jul 02 17:15:55 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/southamerica	Thu Jul 02 17:50:25 2015 -0700
@@ -53,7 +53,7 @@
 #	I suggest the use of _Summer time_ instead of the more cumbersome
 #	_daylight-saving time_.  _Summer time_ seems to be in general use
 #	in Europe and South America.
-#	-- E O Cutler, _New York Times_ (1937-02-14), quoted in
+#	-- E O Cutler, _New York Times_ (1937-02-14), quoted in
 #	H L Mencken, _The American Language: Supplement I_ (1960), p 466
 #
 # Earlier editions of these tables also used the North American style
--- a/langtools/.hgtags	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/.hgtags	Thu Jul 02 17:50:25 2015 -0700
@@ -312,3 +312,4 @@
 fd782cd69b0497299269952d30a6b88cad960fcf jdk9-b67
 c71857c93f57c63be44258d3d67e656c2bacdb45 jdk9-b68
 931ec7dd6cd9e4a92bde7b2cd26e9a9fb0ecdb56 jdk9-b69
+d732d6dfa72743e3aa96375c6e33f1388dbaa5c6 jdk9-b70
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java	Thu Jul 02 17:50:25 2015 -0700
@@ -37,6 +37,7 @@
 import com.sun.tools.javac.resources.CompilerProperties.Fragments;
 import com.sun.tools.javac.tree.*;
 import com.sun.tools.javac.util.*;
+import com.sun.tools.javac.util.JCDiagnostic.DiagnosticFlag;
 import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
 import com.sun.tools.javac.util.List;
 
@@ -3612,6 +3613,18 @@
         }
     }
 
+    // Check that packages imported are in scope (JLS 7.4.3, 6.3, 6.5.3.1, 6.5.3.2)
+    public void checkImportedPackagesObservable(final JCCompilationUnit toplevel) {
+        for (JCImport imp : toplevel.getImports()) {
+            if (!imp.staticImport && TreeInfo.name(imp.qualid) == names.asterisk) {
+                TypeSymbol tsym = ((JCFieldAccess)imp.qualid).selected.type.tsym;
+                if (tsym.kind == PCK && tsym.members().isEmpty() && !tsym.exists()) {
+                    log.error(DiagnosticFlag.RESOLVE_ERROR, imp.pos, "doesnt.exist", tsym);
+                }
+            }
+        }
+    }
+
     private boolean checkTypeContainsImportableElement(TypeSymbol tsym, TypeSymbol origin, PackageSymbol packge, Name name, Set<Symbol> processed) {
         if (tsym == null || !processed.add(tsym))
             return false;
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java	Thu Jul 02 17:50:25 2015 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2015, 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
@@ -1197,10 +1197,13 @@
                         //if a class is defined within a lambda, the lambda must capture
                         //its enclosing instance (if any)
                         TranslationContext<?> localContext = context();
-                        while (localContext != null) {
-                            if (localContext.tree.getTag() == LAMBDA) {
+                        final TypeSymbol outerInstanceSymbol = tree.sym.type.getEnclosingType().tsym;
+                        while (localContext != null && !localContext.owner.isStatic()) {
+                            if (localContext.tree.hasTag(LAMBDA)) {
+                                JCTree block = capturedDecl(localContext.depth, outerInstanceSymbol);
+                                if (block == null) break;
                                 ((LambdaTranslationContext)localContext)
-                                        .addSymbol(tree.sym.type.getEnclosingType().tsym, CAPTURED_THIS);
+                                        .addSymbol(outerInstanceSymbol, CAPTURED_THIS);
                             }
                             localContext = localContext.prev;
                         }
@@ -1236,7 +1239,7 @@
                     }
                 } else if (tree.sym.owner.kind == TYP) {
                     TranslationContext<?> localContext = context();
-                    while (localContext != null) {
+                    while (localContext != null  && !localContext.owner.isStatic()) {
                         if (localContext.tree.hasTag(LAMBDA)) {
                             JCTree block = capturedDecl(localContext.depth, tree.sym);
                             if (block == null) break;
@@ -1312,10 +1315,15 @@
             boolean isLocal = def.isLocal();
             if ((inReferencedClass && isLocal || lambdaNewClassFilter(context(), tree))) {
                 TranslationContext<?> localContext = context();
-                while (localContext != null) {
-                    if (localContext.tree.getTag() == LAMBDA) {
+                final TypeSymbol outerInstanceSymbol = tree.type.getEnclosingType().tsym;
+                while (localContext != null  && !localContext.owner.isStatic()) {
+                    if (localContext.tree.hasTag(LAMBDA)) {
+                        if (outerInstanceSymbol != null) {
+                            JCTree block = capturedDecl(localContext.depth, outerInstanceSymbol);
+                            if (block == null) break;
+                        }
                         ((LambdaTranslationContext)localContext)
-                                .addSymbol(tree.type.getEnclosingType().tsym, CAPTURED_THIS);
+                                .addSymbol(outerInstanceSymbol, CAPTURED_THIS);
                     }
                     localContext = localContext.prev;
                 }
@@ -1404,7 +1412,7 @@
                 // A select of this or super means, if we are in a lambda,
                 // we much have an instance context
                 TranslationContext<?> localContext = context();
-                while (localContext != null) {
+                while (localContext != null  && !localContext.owner.isStatic()) {
                     if (localContext.tree.hasTag(LAMBDA)) {
                         JCClassDecl clazz = (JCClassDecl)capturedDecl(localContext.depth, tree.sym);
                         if (clazz == null) break;
@@ -1579,7 +1587,7 @@
                 switch (block.tree.getTag()) {
                     case CLASSDEF:
                         ClassSymbol clazz = ((JCClassDecl)block.tree).sym;
-                        if (sym.isMemberOf(clazz, types)) {
+                        if (clazz.isSubClass(sym, types) || sym.isMemberOf(clazz, types)) {
                             return currentDepth > depth ? null : block.tree;
                         }
                         break;
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java	Thu Jul 02 17:50:25 2015 -0700
@@ -218,6 +218,7 @@
             resolve.run();
             chk.checkImportsUnique(toplevel);
             chk.checkImportsResolvable(toplevel);
+            chk.checkImportedPackagesObservable(toplevel);
             toplevel.namedImportScope.finalizeScope();
             toplevel.starImportScope.finalizeScope();
         } finally {
@@ -323,7 +324,10 @@
                                          chk.importAccessible(sym, packge);
 
                 // Import-on-demand java.lang.
-                importAll(tree.pos, syms.enterPackage(names.java_lang), env);
+                PackageSymbol javaLang = syms.enterPackage(names.java_lang);
+                if (javaLang.members().isEmpty() && !javaLang.exists())
+                    throw new FatalError(diags.fragment("fatal.err.no.java.lang"));
+                importAll(tree.pos, javaLang, env);
 
                 // Process the package def and all import clauses.
                 if (tree.getPackage() != null)
@@ -414,16 +418,6 @@
         private void importAll(int pos,
                                final TypeSymbol tsym,
                                Env<AttrContext> env) {
-            // Check that packages imported from exist (JLS ???).
-            if (tsym.kind == PCK && tsym.members().isEmpty() && !tsym.exists()) {
-                // If we can't find java.lang, exit immediately.
-                if (((PackageSymbol)tsym).fullname.equals(names.java_lang)) {
-                    JCDiagnostic msg = diags.fragment("fatal.err.no.java.lang");
-                    throw new FatalError(msg);
-                } else {
-                    log.error(DiagnosticFlag.RESOLVE_ERROR, pos, "doesnt.exist", tsym);
-                }
-            }
             env.toplevel.starImportScope.importAll(types, tsym.members(), typeImportFilter, false);
         }
 
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/HtmlDocletWriter.java	Thu Jul 02 17:50:25 2015 -0700
@@ -910,14 +910,14 @@
     /**
      * Get the marker anchor which will be added to the documentation tree.
      *
-     * @param anchorName the anchor name attribute
+     * @param anchorName the anchor name or id attribute
      * @param anchorContent the content that should be added to the anchor
      * @return a content tree for the marker anchor
      */
     public Content getMarkerAnchor(String anchorName, Content anchorContent) {
         if (anchorContent == null)
             anchorContent = new Comment(" ");
-        Content markerAnchor = HtmlTree.A_ID(anchorName, anchorContent);
+        Content markerAnchor = HtmlTree.A(configuration.htmlVersion, anchorName, anchorContent);
         return markerAnchor;
     }
 
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java	Thu Jul 02 17:50:25 2015 -0700
@@ -264,7 +264,8 @@
      */
     private void addLine(Content pre, String line, int currentLineNo) {
         if (line != null) {
-            Content anchor = HtmlTree.A_ID("line." + Integer.toString(currentLineNo),
+            Content anchor = HtmlTree.A(configuration.htmlVersion,
+                    "line." + Integer.toString(currentLineNo),
                     new StringContent(utils.replaceTabs(configuration, line)));
             pre.addContent(anchor);
             pre.addContent(NEW_LINE);
--- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlTree.java	Thu Jul 02 17:50:25 2015 -0700
@@ -226,15 +226,19 @@
     }
 
     /**
-     * Generates an HTML anchor tag with id attribute and content.
+     * Generates an HTML anchor tag with an id or a name attribute and content.
      *
-     * @param id id for the anchor tag
+     * @param htmlVersion the version of the generated HTML
+     * @param attr name or id attribute for the anchor tag
      * @param body content for the anchor tag
      * @return an HtmlTree object
      */
-    public static HtmlTree A_ID(String id, Content body) {
+    public static HtmlTree A(HtmlVersion htmlVersion, String attr, Content body) {
         HtmlTree htmltree = new HtmlTree(HtmlTag.A);
-        htmltree.addAttr(HtmlAttr.ID, nullCheck(id));
+        htmltree.addAttr((htmlVersion == HtmlVersion.HTML4)
+                ? HtmlAttr.NAME
+                : HtmlAttr.ID,
+                nullCheck(attr));
         htmltree.addContent(nullCheck(body));
         return htmltree;
     }
@@ -846,7 +850,8 @@
     public boolean isValid() {
         switch (htmlTag) {
             case A :
-                return (hasAttr(HtmlAttr.ID) || (hasAttr(HtmlAttr.HREF) && hasContent()));
+                return (hasAttr(HtmlAttr.NAME) || hasAttr(HtmlAttr.ID) || (hasAttr(HtmlAttr.HREF)
+                        && hasContent()));
             case BR :
                 return (!hasContent() && (!hasAttrs() || hasAttr(HtmlAttr.CLEAR)));
             case IFRAME :
--- a/langtools/test/TEST.groups	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/TEST.groups	Thu Jul 02 17:50:25 2015 -0700
@@ -22,11 +22,14 @@
 
 # Tiered testing definitions
 
-# All langtools tests are tier 1
+# All langtools tests are tier 1.
 tier1 = \
     tools \
     com \
     lib
 
-# No langtools tests are tier 2
+# No langtools tests are tier 2.
 tier2 = 
+
+# No langtools tests are tier 3 either.
+tier3 = 
--- a/langtools/test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/AccessSkipNav/AccessSkipNav.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4638136 7198273 8025633
+ * @bug 4638136 7198273 8025633 8081854
  * @summary  Add ability to skip over nav bar for accessibility
  * @author dkramer
  * @library ../lib
@@ -50,14 +50,14 @@
         checkOutput("p1/C1.html", true,
                 // Top navbar <a href>
                 "<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a>",
-                // Top navbar <a id>
-                "<a id=\"skip.navbar.top\">\n"
+                // Top navbar <a name>
+                "<a name=\"skip.navbar.top\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 // Bottom navbar <a href>
                 "<a href=\"#skip.navbar.bottom\" title=\"Skip navigation links\">Skip navigation links</a>",
-                // Bottom navbar <a id>
-                "<a id=\"skip.navbar.bottom\">\n"
+                // Bottom navbar <a name>
+                "<a name=\"skip.navbar.bottom\">\n"
                 + "<!--   -->\n"
                 + "</a>");
 
--- a/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8025633 8025524
+ * @bug 8025633 8025524 8081854
  * @summary Test for valid name attribute in HTML anchors.
  * @author Bhavesh Patel
  * @library ../lib
@@ -54,15 +54,15 @@
 
         // Test some section markers and links to these markers
         checkOutput("pkg1/RegClass.html", true,
-                "<a id=\"skip.navbar.top\">",
+                "<a name=\"skip.navbar.top\">",
                 "<a href=\"#skip.navbar.top\" title=\"Skip navigation links\">",
-                "<a id=\"nested.class.summary\">",
+                "<a name=\"nested.class.summary\">",
                 "<a href=\"#nested.class.summary\">",
-                "<a id=\"method.summary\">",
+                "<a name=\"method.summary\">",
                 "<a href=\"#method.summary\">",
-                "<a id=\"field.detail\">",
+                "<a name=\"field.detail\">",
                 "<a href=\"#field.detail\">",
-                "<a id=\"constructor.detail\">",
+                "<a name=\"constructor.detail\">",
                 "<a href=\"#constructor.detail\">");
 
         // Test some members and link to these members
@@ -73,59 +73,59 @@
 
         // Test some fields
         checkOutput("pkg1/RegClass.html", true,
-                "<a id=\"Z:Z_\">",
+                "<a name=\"Z:Z_\">",
                 "<a href=\"../pkg1/RegClass.html#Z:Z_\">",
-                "<a id=\"Z:Z_:D\">",
+                "<a name=\"Z:Z_:D\">",
                 "<a href=\"../pkg1/RegClass.html#Z:Z_:D\">",
-                "<a id=\"Z:Z:D_\">",
+                "<a name=\"Z:Z:D_\">",
                 "<a href=\"../pkg1/RegClass.html#Z:Z:D_\">",
-                "<a id=\"Z:Z:Dfield\">",
+                "<a name=\"Z:Z:Dfield\">",
                 "<a href=\"../pkg1/RegClass.html#Z:Z:Dfield\">",
-                "<a id=\"fieldInCla:D:D\">",
+                "<a name=\"fieldInCla:D:D\">",
                 "<a href=\"../pkg1/RegClass.html#fieldInCla:D:D\">",
-                "<a id=\"S_:D:D:D:D:DINT\">",
+                "<a name=\"S_:D:D:D:D:DINT\">",
                 "<a href=\"../pkg1/RegClass.html#S_:D:D:D:D:DINT\">",
-                "<a id=\"method:D:D\">",
+                "<a name=\"method:D:D\">",
                 "<a href=\"../pkg1/RegClass.html#method:D:D\">");
 
         checkOutput("pkg1/DeprMemClass.html", true,
-                "<a id=\"Z:Z_field_In_Class\">",
+                "<a name=\"Z:Z_field_In_Class\">",
                 "<a href=\"../pkg1/DeprMemClass.html#Z:Z_field_In_Class\">");
 
         // Test constructor
         checkOutput("pkg1/RegClass.html", true,
-                "<a id=\"RegClass-java.lang.String-int-\">",
+                "<a name=\"RegClass-java.lang.String-int-\">",
                 "<a href=\"../pkg1/RegClass.html#RegClass-java.lang.String-int-\">");
 
         // Test some methods
         checkOutput("pkg1/RegClass.html", true,
-                "<a id=\"Z:Z_methodInClass-java.lang.String-\">",
+                "<a name=\"Z:Z_methodInClass-java.lang.String-\">",
                 "<a href=\"../pkg1/RegClass.html#Z:Z_methodInClass-java.lang.String-\">",
-                "<a id=\"method--\">",
+                "<a name=\"method--\">",
                 "<a href=\"../pkg1/RegClass.html#method--\">",
-                "<a id=\"foo-java.util.Map-\">",
+                "<a name=\"foo-java.util.Map-\">",
                 "<a href=\"../pkg1/RegClass.html#foo-java.util.Map-\">",
-                "<a id=\"methodInCla:Ds-java.lang.String:A-\">",
+                "<a name=\"methodInCla:Ds-java.lang.String:A-\">",
                 "<a href=\"../pkg1/RegClass.html#methodInCla:Ds-java.lang.String:A-\">",
-                "<a id=\"Z:Z_methodInClas:D-java.lang.String-int-\">",
+                "<a name=\"Z:Z_methodInClas:D-java.lang.String-int-\">",
                 "<a href=\"../pkg1/RegClass.html#Z:Z_methodInClas:D-java.lang.String-int-\">",
-                "<a id=\"methodD-pkg1.RegClass.:DA-\">",
+                "<a name=\"methodD-pkg1.RegClass.:DA-\">",
                 "<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.:DA-\">",
-                "<a id=\"methodD-pkg1.RegClass.D:A-\">",
+                "<a name=\"methodD-pkg1.RegClass.D:A-\">",
                 "<a href=\"../pkg1/RegClass.html#methodD-pkg1.RegClass.D:A-\">");
 
         checkOutput("pkg1/DeprMemClass.html", true,
-                "<a id=\"Z:Z:Dmethod_In_Class--\">",
+                "<a name=\"Z:Z:Dmethod_In_Class--\">",
                 "<a href=\"../pkg1/DeprMemClass.html#Z:Z:Dmethod_In_Class--\">");
 
         // Test enum
         checkOutput("pkg1/RegClass.Te$t_Enum.html", true,
-                "<a id=\"Z:Z:DFLD2\">",
+                "<a name=\"Z:Z:DFLD2\">",
                 "<a href=\"../pkg1/RegClass.Te$t_Enum.html#Z:Z:DFLD2\">");
 
         // Test nested class
         checkOutput("pkg1/RegClass._NestedClas$.html", true,
-                "<a id=\"Z:Z_NestedClas:D--\">",
+                "<a name=\"Z:Z_NestedClas:D--\">",
                 "<a href=\"../pkg1/RegClass._NestedClas$.html#Z:Z_NestedClas:D--\">");
 
         // Test class use page
@@ -144,11 +144,11 @@
         // Test serialized form page
         checkOutput("serialized-form.html", true,
                 //This is the marker for the link that appears in the pkg1.RegClass.html page
-                "<a id=\"pkg1.RegClass\">");
+                "<a name=\"pkg1.RegClass\">");
 
         // Test member name index page
         checkOutput("index-all.html", true,
-                "<a id=\"I:Z:Z:D\">",
+                "<a name=\"I:Z:Z:D\">",
                 "<a href=\"#I:Z:Z:D\">$",
                 "<a href=\"#I:Z:Z_\">_");
 
--- a/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testAnnotationOptional/TestAnnotationOptional.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8025633
+ * @bug 8025633 8081854
  * @summary  Make sure that annotations types with optional elements have
  *           element headers
  * @author   Mahmood Ali
@@ -48,6 +48,6 @@
         checkExit(Exit.OK);
 
         checkOutput("pkg/AnnotationOptional.html", true,
-            "<a id=\"annotation.type.element.detail\">");
+            "<a name=\"annotation.type.element.detail\">");
     }
 }
--- a/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8025524 8031625
+ * @bug 8025524 8031625 8081854
  * @summary Test for constructor name which should be a non-qualified name.
  * @author Bhavesh Patel
  * @library ../lib
@@ -59,21 +59,21 @@
                 + "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\"><code>"
                 + "NestedInner(int)</code></a>",
                 "<a href=\"../pkg1/Outer.html#Outer--\">Outer</a></span>()",
-                "<a id=\"Outer--\">",
+                "<a name=\"Outer--\">",
                 "<a href=\"../pkg1/Outer.html#Outer-int-\">Outer</a></span>(int&nbsp;i)",
-                "<a id=\"Outer-int-\">");
+                "<a name=\"Outer-int-\">");
 
         checkOutput("pkg1/Outer.Inner.html", true,
                 "<a href=\"../pkg1/Outer.Inner.html#Inner--\">Inner</a></span>()",
-                "<a id=\"Inner--\">",
+                "<a name=\"Inner--\">",
                 "<a href=\"../pkg1/Outer.Inner.html#Inner-int-\">Inner</a></span>(int&nbsp;i)",
-                "<a id=\"Inner-int-\">");
+                "<a name=\"Inner-int-\">");
 
         checkOutput("pkg1/Outer.Inner.NestedInner.html", true,
                 "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner--\">NestedInner</a></span>()",
-                "<a id=\"NestedInner--\">",
+                "<a name=\"NestedInner--\">",
                 "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\">NestedInner</a></span>(int&nbsp;i)",
-                "<a id=\"NestedInner-int-\">");
+                "<a name=\"NestedInner-int-\">");
 
         checkOutput("pkg1/Outer.Inner.html", false,
                 "Outer.Inner--",
--- a/langtools/test/com/sun/javadoc/testHref/TestHref.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHref/TestHref.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4663254 8016328 8025633 8026567
+ * @bug      4663254 8016328 8025633 8026567 8081854
  * @summary  Verify that spaces do not appear in hrefs and anchors.
  * @author   jamieh
  * @library  ../lib
@@ -54,11 +54,11 @@
                 //Member summary table link.
                 "href=\"../pkg/C1.html#method-int-int-java.util.ArrayList-\"",
                 //Anchor test.
-                "<a id=\"method-int-int-java.util.ArrayList-\">\n"
+                "<a name=\"method-int-int-java.util.ArrayList-\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 //Backward compatibility anchor test."pkg/C1.html",
-                "<a id=\"method-int-int-java.util.ArrayList-\">\n"
+                "<a name=\"method-int-int-java.util.ArrayList-\">\n"
                 + "<!--   -->\n"
                 + "</a>");
 
--- a/langtools/test/com/sun/javadoc/testHtmlVersion/TestHtmlVersion.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testHtmlVersion/TestHtmlVersion.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8072945
+ * @bug 8072945 8081854
  * @summary Test the version of HTML generated by the javadoc tool.
  * @author bpatel
  * @library ../lib
@@ -1172,7 +1172,7 @@
         checkOutput("overview-summary.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"overviewSummary\" summary=\"Packages table, listing packages, and an explanation\">\n"
@@ -1194,7 +1194,7 @@
         checkOutput("pkg/package-summary.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@@ -1208,7 +1208,7 @@
         checkOutput("pkg/package-tree.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<li class=\"circle\">");
@@ -1217,7 +1217,7 @@
         checkOutput("pkg1/package-use.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">");
@@ -1234,7 +1234,7 @@
         checkOutput("pkg/compact1-package-summary.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@@ -1248,7 +1248,7 @@
         checkOutput("compact1-summary.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\" summary=\"Interface Summary table, listing interfaces, and an explanation\">",
@@ -1262,7 +1262,7 @@
         checkOutput("constant-values.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1273,7 +1273,7 @@
         checkOutput("deprecated-list.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1295,7 +1295,7 @@
         checkOutput("serialized-form.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1307,7 +1307,7 @@
         checkOutput("overview-tree.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<li class=\"circle\">",
@@ -1326,7 +1326,7 @@
         checkOutput("index-all.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1342,7 +1342,7 @@
         checkOutput("help-doc.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
@@ -1359,54 +1359,54 @@
         checkOutput("pkg/AnotherClass.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- ======== NESTED CLASS SUMMARY ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"nested.class.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"nested.class.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Nested Class Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Nested Class Summary table, listing nested classes, and an explanation\">",
                 "<!-- =========== FIELD SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"field.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"field.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Field Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Field Summary table, listing fields, and an explanation\">",
                 "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Constructor Summary table, listing constructors, and an explanation\">",
                 "<!-- ========== METHOD SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
                 "<!-- ============ FIELD DETAIL =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"field.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"field.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Field Detail</h3>",
                 "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>",
                 "<!-- ============ METHOD DETAIL ========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>");
@@ -1415,34 +1415,34 @@
         checkOutput("pkg/AnotherClass.ModalExclusionType.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- =========== ENUM CONSTANT SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"enum.constant.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"enum.constant.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Enum Constant Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Enum Constant Summary table, listing enum constants, and an explanation\">",
                 "<!-- ========== METHOD SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
                 "<!-- ============ ENUM CONSTANT DETAIL =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"enum.constant.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"enum.constant.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Enum Constant Detail</h3>",
                 "<!-- ============ METHOD DETAIL ========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>");
@@ -1451,21 +1451,21 @@
         checkOutput("pkg2/Interface.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- ========== METHOD SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Method Summary table, listing methods, and an explanation\">",
                 "<!-- ============ METHOD DETAIL ========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>");
@@ -1474,20 +1474,20 @@
         checkOutput("pkg/TestError.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>",
                 "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>");
@@ -1496,20 +1496,20 @@
         checkOutput("pkg/TestException.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- ======== CONSTRUCTOR SUMMARY ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>",
                 "<!-- ========= CONSTRUCTOR DETAIL ======== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>");
@@ -1518,28 +1518,28 @@
         checkOutput("pkg2/TestAnnotationType.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ======== START OF CLASS DATA ======== -->\n"
                 + "<div class=\"header\">",
                 "<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"annotation.type.required.element.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"annotation.type.required.element.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Required Element Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Required Element Summary table, listing required elements, and an explanation\">",
                 "<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"annotation.type.optional.element.summary\">\n"
+                + "<li class=\"blockList\"><a name=\"annotation.type.optional.element.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Optional Element Summary</h3>\n"
                 + "<table class=\"memberSummary\" summary=\"Optional Element Summary table, listing optional elements, and an explanation\">",
                 "<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a id=\"annotation.type.element.detail\">\n"
+                + "<li class=\"blockList\"><a name=\"annotation.type.element.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Element Detail</h3>");
@@ -1548,13 +1548,13 @@
         checkOutput("pkg1/class-use/RegClass.html", true,
                 "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",
                 "<meta name=\"date\"",
-                "<a id=\"navbar.top.firstrow\">\n"
+                "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<!-- ========= END OF TOP NAVBAR ========= -->\n"
                 + "<div class=\"header\">",
                 "<table class=\"useSummary\" summary=\"Use table, listing packages, and an explanation\">",
-                "<li class=\"blockList\"><a id=\"pkg\">\n"
+                "<li class=\"blockList\"><a name=\"pkg\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n"
@@ -1623,7 +1623,7 @@
         checkOutput("overview-summary.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"overviewSummary\">\n"
@@ -1662,7 +1662,7 @@
         checkOutput("pkg/package-summary.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\">",
@@ -1681,7 +1681,7 @@
         checkOutput("pkg/package-tree.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1705,7 +1705,7 @@
         checkOutput("pkg1/package-use.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"useSummary\">",
@@ -1742,7 +1742,7 @@
         checkOutput("pkg/compact1-package-summary.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\">",
@@ -1761,7 +1761,7 @@
         checkOutput("compact1-summary.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"typeSummary\">",
@@ -1782,7 +1782,7 @@
         checkOutput("constant-values.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"constantsSummary\">",
@@ -1803,7 +1803,7 @@
         checkOutput("deprecated-list.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<table class=\"deprecatedSummary\">",
@@ -1820,7 +1820,7 @@
         checkOutput("serialized-form.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1838,7 +1838,7 @@
         checkOutput("overview-tree.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1862,7 +1862,7 @@
         checkOutput("index-all.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1884,7 +1884,7 @@
         checkOutput("help-doc.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1906,7 +1906,7 @@
         checkOutput("pkg/AnotherClass.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1916,46 +1916,46 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"nested.class.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"nested.class.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Nested Class Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"field.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"field.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Field Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"field.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"field.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Field Detail</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>",
@@ -1967,7 +1967,7 @@
         checkOutput("pkg/AnotherClass.ModalExclusionType.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -1977,27 +1977,27 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"enum.constant.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"enum.constant.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Enum Constant Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"enum.constant.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"enum.constant.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Enum Constant Detail</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>",
@@ -2009,7 +2009,7 @@
         checkOutput("pkg2/Interface.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2019,14 +2019,14 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"method.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"method.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"method.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Method Detail</h3>",
@@ -2038,7 +2038,7 @@
         checkOutput("pkg/TestError.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2048,13 +2048,13 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>",
@@ -2066,7 +2066,7 @@
         checkOutput("pkg/TestException.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2076,13 +2076,13 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Summary</h3>",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"constructor.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"constructor.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Constructor Detail</h3>",
@@ -2094,7 +2094,7 @@
         checkOutput("pkg2/TestAnnotationType.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2104,21 +2104,21 @@
                 + "<div class=\"header\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"annotation.type.required.element.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"annotation.type.required.element.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Required Element Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"annotation.type.optional.element.summary\">\n"
+                + "<li class=\"blockList\"><a id=\"annotation.type.optional.element.summary\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Optional Element Summary</h3>\n"
                 + "<table class=\"memberSummary\">",
                 "<section role=\"region\">\n"
                 + "<ul class=\"blockList\">\n"
-                + "<li class=\"blockList\"><a name=\"annotation.type.element.detail\">\n"
+                + "<li class=\"blockList\"><a id=\"annotation.type.element.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Element Detail</h3>",
@@ -2130,7 +2130,7 @@
         checkOutput("pkg1/class-use/RegClass.html", false,
                 "<!DOCTYPE HTML>",
                 "<meta name=\"dc.created\"",
-                "<a name=\"navbar.top.firstrow\">\n"
+                "<a id=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>",
                 "<header role=\"banner\">\n"
@@ -2139,7 +2139,7 @@
                 "<main role=\"main\">\n"
                 + "<div class=\"header\">",
                 "<table class=\"useSummary\">",
-                "<section role=\"region\"><a name=\"pkg\">\n"
+                "<section role=\"region\"><a id=\"pkg\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Uses of <a href=\"../../pkg1/RegClass.html\" title=\"class in pkg1\">RegClass</a> in <a href=\"../../pkg/package-summary.html\">pkg</a></h3>\n"
--- a/langtools/test/com/sun/javadoc/testJavaFX/TestJavaFX.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testJavaFX/TestJavaFX.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 7112427 8012295 8025633 8026567 8061305
+ * @bug 7112427 8012295 8025633 8026567 8061305 8081854
  * @summary Test of the JavaFX doclet features.
  * @author jvalenta
  * @library ../lib
@@ -100,11 +100,11 @@
                 "pkg2");
         checkExit(Exit.OK);
         checkOutput("pkg2/Test.html", true,
-                "<li class=\"blockList\"><a id=\"property.detail\">\n"
+                "<li class=\"blockList\"><a name=\"property.detail\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<h3>Property Detail</h3>\n"
-                + "<a id=\"betaProperty\">\n"
+                + "<a name=\"betaProperty\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<ul class=\"blockList\">\n"
@@ -113,7 +113,7 @@
                 + "<pre>public&nbsp;java.lang.Object betaProperty</pre>\n"
                 + "</li>\n"
                 + "</ul>\n"
-                + "<a id=\"gammaProperty\">\n"
+                + "<a name=\"gammaProperty\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<ul class=\"blockList\">\n"
@@ -123,7 +123,7 @@
                 + "java.lang.String&gt; gammaProperty</pre>\n"
                 + "</li>\n"
                 + "</ul>\n"
-                + "<a id=\"deltaProperty\">\n"
+                + "<a name=\"deltaProperty\">\n"
                 + "<!--   -->\n"
                 + "</a>\n"
                 + "<ul class=\"blockListLast\">\n"
--- a/langtools/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testLinkToSerialForm/TestLinkToSerialForm.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4521661
+ * @bug 4521661 8081854
  * @summary Test to make sure that there is a link with a proper anchor
  * from a serializable class to serialized-form.html.
  * @author jamieh
@@ -48,7 +48,7 @@
         checkExit(Exit.OK);
 
         checkOutput("serialized-form.html", true,
-                "<a id=\"pkg.C\">");
+                "<a name=\"pkg.C\">");
         checkOutput("pkg/C.html", true,
                 "<a href=\"../serialized-form.html#pkg.C\">");
     }
--- a/langtools/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testMemberSummary/TestMemberSummary.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4951228 6290760 8025633 8026567
+ * @bug      4951228 6290760 8025633 8026567 8081854
  * @summary  Test the case where the overriden method returns a different
  *           type than the method in the child class.  Make sure the
  *           documentation is inherited but the return type isn't.
@@ -59,9 +59,9 @@
 
         // Legacy anchor dimensions (6290760)
         checkOutput("pkg2/A.html", true,
-                "<a id=\"f-java.lang.Object:A-\">\n"
+                "<a name=\"f-java.lang.Object:A-\">\n"
                 + "<!--   -->\n"
-                + "</a><a id=\"f-T:A-\">\n"
+                + "</a><a name=\"f-T:A-\">\n"
                 + "<!--   -->\n"
                 + "</a>");
     }
--- a/langtools/test/com/sun/javadoc/testNavigation/TestNavigation.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testNavigation/TestNavigation.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4131628 4664607 7025314 8023700 7198273 8025633 8026567
+ * @bug      4131628 4664607 7025314 8023700 7198273 8025633 8026567 8081854
  * @summary  Make sure the Next/Prev Class links iterate through all types.
  *           Make sure the navagation is 2 columns, not 3.
  * @author   jamieh
@@ -64,7 +64,7 @@
                 "<li>Next&nbsp;Class</li>",
                 // Test for 4664607
                 "<div class=\"skipNav\"><a href=\"#skip.navbar.top\" title=\"Skip navigation links\">Skip navigation links</a></div>\n"
-                + "<a id=\"navbar.top.firstrow\">\n"
+                + "<a name=\"navbar.top.firstrow\">\n"
                 + "<!--   -->\n"
                 + "</a>");
     }
--- a/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testTypeParams/TestTypeParameters.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4927167 4974929 7010344 8025633
+ * @bug      4927167 4974929 7010344 8025633 8081854
  * @summary  When the type parameters are more than 10 characters in length,
  *           make sure there is a line break between type params and return type
  *           in member summary. Also, test for type parameter links in package-summary and
@@ -68,7 +68,7 @@
 
         // Nested type parameters
         checkOutput("pkg/C.html", true,
-                "<a id=\"formatDetails-java.util.Collection-java.util.Collection-\">\n"
+                "<a name=\"formatDetails-java.util.Collection-java.util.Collection-\">\n"
                 + "<!--   -->\n"
                 + "</a>");
     }
--- a/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/langtools/test/com/sun/javadoc/testUseOption/TestUseOption.java	Thu Jul 02 17:50:25 2015 -0700
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4496290 4985072 7006178 7068595 8016328 8050031 8048351
+ * @bug 4496290 4985072 7006178 7068595 8016328 8050031 8048351 8081854
  * @summary A simple test to ensure class-use files are correct.
  * @author jamieh
  * @library ../lib
@@ -136,7 +136,7 @@
                 + "UsedInC</a> in <a href=\"../package-summary.html\">&lt;Unnamed&gt;</a>"
         );
         checkOutput("class-use/UsedInC.html", true,
-                "<li class=\"blockList\"><a id=\"unnamed.package\">"
+                "<li class=\"blockList\"><a name=\"unnamed.package\">"
         );
         checkOutput("package-use.html", true,
                 "<td class=\"colOne\">"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/importChecks/ImportsObservable.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 4869999
+ * @summary Verify that the compiler does not prematurely decide a package is not observable.
+ * @compile ImportsObservable.java
+ */
+
+import javax.*;
+import javax.swing.*;
+public class ImportsObservable {
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/lambda/NestedCapture04.java	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2015, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8076538
+ * @summary Verify error at runtime due to incorrect classification of a lambda as being instance capturing
+ * @run main NestedCapture04
+ */
+public class NestedCapture04 {
+
+    public static interface Ftype {
+        int get(int v);
+    }
+
+    public static class A {
+        static int counter = 0;
+    }
+    public static Ftype x0;
+    public static void main(String[] args) throws Throwable {
+        doit();
+    }
+    public static Object doit() throws Throwable {
+        Ftype x0_ =
+        (int y0) -> {
+    A.counter++;
+    Ftype x1 = (int y1) -> {
+        A.counter++;
+        class Cltype2 {
+            Cltype2 meth(Cltype2 w) {
+                A.counter++;
+                class Cltype3 {
+                    class Inclass3 {
+                        public int iv;
+                        Inclass3() { iv = 0; }
+                        Inclass3 clmeth(Inclass3 a) {
+                            A.counter++;
+                            class Cltype4 {
+                                Cltype4 (Cltype4 z) {
+                                    Ftype x5 = (int y5) -> {
+                                        A.counter++;
+                                        class Cltype6 {
+                                            Cltype6 meth(Cltype6 w) {
+                                                A.counter++;
+                                                class Cltype7 {
+                                                    class Inclass7 {
+                                                        public int iv;
+                                                        Inclass7() { iv = 0; }
+                                                        Inclass7 clmeth(Inclass7 a) {
+                                                            A.counter++;
+                                                            class Cltype8 {
+                                                                Cltype8 (Cltype8 z) {
+                                                                    Ftype x9 = (int y9) -> {
+                                                                        A.counter++;
+                                                                        return y9;
+                                                                    };
+                                                                    x9.get(2);
+                                                                    if ( z == null) {
+                                                                        A.counter++;
+                                                                        return;
+                                                                    }
+                                                                    A.counter+=100;
+                                                                }
+                                                            }
+                                                            Cltype8 v = new Cltype8(null);
+                                                            return a;
+                                                        }
+                                                    }
+                                                }
+                                                Cltype7.Inclass7 c = new Cltype7().new Inclass7();
+                                                c.clmeth((Cltype7.Inclass7)null);
+                                                return w;
+                                            }
+                                        }
+                                        Cltype6 v = new Cltype6().meth(new Cltype6());
+                                        return y5;
+                                    };
+                                    x5.get(2);
+                                    if ( z == null) {
+                                        A.counter++;
+                                        return;
+                                    }
+                                    A.counter+=100;
+                                }
+                            }
+                            Cltype4 v = new Cltype4(null);
+                            return a;
+                        }
+                    }
+                }
+                Cltype3.Inclass3 c = new Cltype3().new Inclass3();
+                c.clmeth((Cltype3.Inclass3)null);
+                return w;
+            }
+        }
+        Cltype2 v = new Cltype2().meth(new Cltype2());
+        return y1;
+    };
+    x1.get(2);
+    return y0;
+};
+        return x0 = x0_;
+    }
+}
--- a/make/common/MakeBase.gmk	Thu Jul 02 17:15:55 2015 -0700
+++ b/make/common/MakeBase.gmk	Thu Jul 02 17:50:25 2015 -0700
@@ -369,8 +369,9 @@
 HGTIP_FILENAME=.hgtip
 HG_SEARCH = ./REPO ./*/REPO ./*/*/REPO ./*/*/*/REPO
 REPO_LIST = $(patsubst ./%,%,$(patsubst %/,%,$(sort $(dir \
-    $(shell $(CD) $(SRC_ROOT) ; ( $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) ; \
-        $(LS) $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) ) \
+    $(shell $(CD) $(SRC_ROOT) ; \
+        $(LS) -d $(HG_SEARCH:%/REPO=%/$(HG_DIRECTORY)) \
+            $(HG_SEARCH:%/REPO=%/$(HGTIP_FILENAME)) \
         2> /dev/null)))))
 
 # Emit the repo:tip pairs to $@
--- a/make/common/TestFilesCompilation.gmk	Thu Jul 02 17:15:55 2015 -0700
+++ b/make/common/TestFilesCompilation.gmk	Thu Jul 02 17:50:25 2015 -0700
@@ -86,8 +86,8 @@
         OBJECT_DIR := $$($1_OUTPUT_DIR)/support/$$($1_PREFIX)$$(name), \
         OUTPUT_DIR := $$($1_OUTPUT_DIR)/$$($1_OUTPUT_SUBDIR), \
         LANG := C, \
-        CFLAGS := $$($1_CFLAGS), \
-        LDFLAGS := $$($1_LDFLAGS), \
+        CFLAGS := $$($1_CFLAGS) $$($1_CFLAGS_$$($1_PREFIX)$$(name)), \
+        LDFLAGS := $$($1_LDFLAGS) $$($1_LDFLAGS_$$($1_PREFIX)$$(name)), \
         OPTIMIZATION := LOW, \
         DEBUG_SYMBOLS := true)) \
     $$(eval $1 += $$(BUILD_TEST_$$(name)) )  \
--- a/nashorn/.hgtags	Thu Jul 02 17:15:55 2015 -0700
+++ b/nashorn/.hgtags	Thu Jul 02 17:50:25 2015 -0700
@@ -303,3 +303,4 @@
 f822b749821e364cae0b7bd7c8f667d9437e6d83 jdk9-b67
 dd6dd848b854dbd3f3cc422668276b1ae0834179 jdk9-b68
 194b74467afcab3ca0096f04570def424977215d jdk9-b69
+3379235149c0e14e59e05c4ab8df450f5777b552 jdk9-b70
--- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/codegen/Compiler.java	Thu Jul 02 17:50:25 2015 -0700
@@ -607,7 +607,7 @@
             newFunctionNode.uniqueName(reservedName);
         }
 
-        final boolean info = log.levelFinerThanOrEqual(Level.INFO);
+        final boolean info = log.isLoggable(Level.INFO);
 
         final DebugLogger timeLogger = env.isTimingEnabled() ? env._timing.getLogger() : null;
 
@@ -644,8 +644,8 @@
         if (info) {
             final StringBuilder sb = new StringBuilder("<< Finished compile job for ");
             sb.append(newFunctionNode.getSource()).
-                append(':').
-                append(quote(newFunctionNode.getName()));
+            append(':').
+            append(quote(newFunctionNode.getName()));
 
             if (time > 0L && timeLogger != null) {
                 assert env.isTimingEnabled();
@@ -713,7 +713,7 @@
         if (cacheKey != null && env._persistent_cache) {
             // If this is an on-demand compilation create a function initializer for the function being compiled.
             // Otherwise use function initializer map generated by codegen.
-            Map<Integer, FunctionInitializer> initializers = new HashMap<>();
+            final Map<Integer, FunctionInitializer> initializers = new HashMap<>();
             if (isOnDemandCompilation()) {
                 initializers.put(functionNode.getId(), new FunctionInitializer(functionNode, getInvalidatedProgramPoints()));
             } else {
@@ -829,9 +829,9 @@
         final long                        totalSize = osc.calculateObjectSize(functionNode);
 
         sb.append(phaseName).
-            append(" Total size = ").
-            append(totalSize / 1024 / 1024).
-            append("MB");
+        append(" Total size = ").
+        append(totalSize / 1024 / 1024).
+        append("MB");
         log.info(sb);
 
         Collections.sort(list, new Comparator<ClassHistogramElement>() {
--- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/lookup/MethodHandleFactory.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/lookup/MethodHandleFactory.java	Thu Jul 02 17:50:25 2015 -0700
@@ -131,8 +131,8 @@
     static Object traceReturn(final DebugLogger logger, final Object value) {
         final String str = "    return" +
                 (VOID_TAG.equals(value) ?
-                    ";" :
-                    " " + stripName(value) + "; // [type=" + (value == null ? "null]" : stripName(value.getClass()) + ']'));
+                        ";" :
+                            " " + stripName(value) + "; // [type=" + (value == null ? "null]" : stripName(value.getClass()) + ']'));
         if (logger == null) {
             err(str);
         } else if (logger.isEnabled()) {
@@ -164,13 +164,13 @@
             }
 
             sb.append('\'').
-                append(stripName(argString(args[i]))).
-                append('\'').
-                append(' ').
-                append('[').
-                append("type=").
-                append(args[i] == null ? "null" : stripName(args[i].getClass())).
-                append(']');
+            append(stripName(argString(args[i]))).
+            append('\'').
+            append(' ').
+            append('[').
+            append("type=").
+            append(args[i] == null ? "null" : stripName(args[i].getClass())).
+            append(']');
 
             if (i + 1 < args.length) {
                 sb.append(", ");
@@ -216,8 +216,8 @@
 
         if (arg instanceof ScriptObject) {
             return arg.toString() +
-                " (map=" + Debug.id(((ScriptObject)arg).getMap()) +
-                ')';
+                    " (map=" + Debug.id(((ScriptObject)arg).getMap()) +
+                    ')';
         }
 
         return arg.toString();
@@ -262,7 +262,7 @@
         return addDebugPrintout(null, Level.OFF, mh, paramStart, printReturnValue, tag);
     }
 
-     /**
+    /**
      * Add a debug printout to a method handle, tracing parameters and return values
      *
      * @param logger a specific logger to which to write the output
@@ -278,7 +278,7 @@
 
         //if there is no logger, or if it's set to log only coarser events
         //than the trace level, skip and return
-        if (logger != null && logger.levelCoarserThan(level)) {
+        if (logger == null || !logger.isLoggable(level)) {
             return mh;
         }
 
@@ -289,9 +289,9 @@
         trace = MethodHandles.foldArguments(
                 mh,
                 trace.asCollector(
-                    Object[].class,
-                    type.parameterCount()).
-                asType(type.changeReturnType(void.class)));
+                        Object[].class,
+                        type.parameterCount()).
+                        asType(type.changeReturnType(void.class)));
 
         final Class<?> retType = type.returnType();
         if (printReturnValue) {
@@ -299,7 +299,7 @@
                 final MethodHandle traceReturn = MethodHandles.insertArguments(TRACE_RETURN, 0, logger);
                 trace = MethodHandles.filterReturnValue(trace,
                         traceReturn.asType(
-                            traceReturn.type().changeParameterType(0, retType).changeReturnType(retType)));
+                                traceReturn.type().changeParameterType(0, retType).changeReturnType(retType)));
             } else {
                 trace = MethodHandles.filterReturnValue(trace, MethodHandles.insertArguments(TRACE_RETURN_VOID, 0, logger));
             }
@@ -355,9 +355,9 @@
                     sb.append("] ");
                 } else {
                     sb.append(d)
-                        .append('{')
-                        .append(Integer.toHexString(System.identityHashCode(d)))
-                        .append('}');
+                    .append('{')
+                    .append(Integer.toHexString(System.identityHashCode(d)))
+                    .append('}');
                 }
 
                 if (i + 1 < data.length) {
--- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterBytecodeGenerator.java	Thu Jul 02 17:50:25 2015 -0700
@@ -106,7 +106,9 @@
  * <li>
  * If the adapter being generated can have class-level overrides, constructors taking same arguments as the superclass
  * constructors are created. These constructors simply delegate to the superclass constructor. They are simply used to
- * create instances of the adapter class, with no instance-level overrides, as they don't have them.
+ * create instances of the adapter class, with no instance-level overrides, as they don't have them. If the original
+ * class' constructor was variable arity, the adapter constructor will also be variable arity. Protected constructors
+ * are exposed as public.
  * </li>
  * </ul>
  * </p><p>
@@ -190,7 +192,6 @@
     private static final int MAX_GENERATED_TYPE_NAME_LENGTH = 255;
 
     private static final String CLASS_INIT = "<clinit>";
-    static final String CONVERTER_INIT = "<converter-init>";
 
     // Method name prefix for invoking super-methods
     static final String SUPER_PREFIX = "super$";
@@ -494,7 +495,8 @@
         final Type[] argTypes = originalCtorType.getArgumentTypes();
 
         // All constructors must be public, even if in the superclass they were protected.
-        final InstructionAdapter mv = new InstructionAdapter(cw.visitMethod(ACC_PUBLIC, INIT,
+        final InstructionAdapter mv = new InstructionAdapter(cw.visitMethod(ACC_PUBLIC |
+                (ctor.isVarArgs() ? ACC_VARARGS : 0), INIT,
                 Type.getMethodDescriptor(originalCtorType.getReturnType(), argTypes), null, null));
 
         mv.visitCode();
@@ -543,7 +545,8 @@
         System.arraycopy(originalArgTypes, 0, newArgTypes, 0, argLen);
 
         // All constructors must be public, even if in the superclass they were protected.
-        // Existing super constructor <init>(this, args...) triggers generating <init>(this, scriptObj, args...).
+        // Existing super constructor <init>(this, args...) triggers generating <init>(this, args..., scriptObj).
+        // Any variable arity constructors become fixed-arity with explicit array arguments.
         final InstructionAdapter mv = new InstructionAdapter(cw.visitMethod(ACC_PUBLIC, INIT,
                 Type.getMethodDescriptor(originalCtorType.getReturnType(), newArgTypes), null, null));
 
@@ -593,7 +596,7 @@
         if (! fromFunction) {
             newArgTypes[argLen] = OBJECT_TYPE;
             final InstructionAdapter mv2 = new InstructionAdapter(cw.visitMethod(ACC_PUBLIC, INIT,
-                Type.getMethodDescriptor(originalCtorType.getReturnType(), newArgTypes), null, null));
+                    Type.getMethodDescriptor(originalCtorType.getReturnType(), newArgTypes), null, null));
             generateOverridingConstructorWithObjectParam(mv2, ctor, originalCtorType.getDescriptor());
         }
     }
--- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/logging/DebugLogger.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/logging/DebugLogger.java	Thu Jul 02 17:50:25 2015 -0700
@@ -99,10 +99,10 @@
                         final StringBuilder sb = new StringBuilder();
 
                         sb.append('[')
-                           .append(record.getLoggerName())
-                           .append("] ")
-                           .append(record.getMessage())
-                           .append('\n');
+                        .append(record.getLoggerName())
+                        .append("] ")
+                        .append(record.getMessage())
+                        .append('\n');
 
                         return sb.toString();
                     }
@@ -194,7 +194,7 @@
      */
     public void indent(final int pos) {
         if (isEnabled) {
-           indent += pos * INDENT_SPACE;
+            indent += pos * INDENT_SPACE;
         }
     }
 
@@ -227,57 +227,14 @@
     }
 
     /**
-     * Check if the logger is above the level of detail given
+     * Check if the event of given level will be logged.
      * @see java.util.logging.Level
      *
-     * The higher the level, the more severe the warning
-     *
-     * @param level logging level
-     * @return true if level is above the given one
-     */
-    public boolean levelCoarserThan(final Level level) {
-        return getLevel().intValue() > level.intValue();
-    }
-
-    /**
-     * Check if the logger is above or equal to the level
-     * of detail given
-     * @see java.util.logging.Level
-     *
-     * The higher the level, the more severe the warning
-     *
      * @param level logging level
-     * @return true if level is above the given one
-     */
-    public boolean levelCoarserThanOrEqual(final Level level) {
-        return getLevel().intValue() >= level.intValue();
-    }
-
-    /**
-     * Check if the logger is below the level of detail given
-     * @see java.util.logging.Level
-     *
-     * The higher the level, the more severe the warning
-     *
-     * @param level logging level
-     * @return true if level is above the given one
+     * @return true if event of given level will be logged.
      */
-    public boolean levelFinerThan(final Level level) {
-        return getLevel().intValue() < level.intValue();
-    }
-
-    /**
-     * Check if the logger is below or equal to the level
-     * of detail given
-     * @see java.util.logging.Level
-     *
-     * The higher the level, the more severe the warning
-     *
-     * @param level logging level
-     * @return true if level is above the given one
-     */
-    public boolean levelFinerThanOrEqual(final Level level) {
-        return getLevel().intValue() <= level.intValue();
+    public boolean isLoggable(final Level level) {
+        return logger.isLoggable(level);
     }
 
     /**
@@ -566,7 +523,7 @@
      * @param str   string to log
      */
     public void log(final Level level, final String str) {
-        if (isEnabled && !isQuiet) {
+        if (isEnabled && !isQuiet && logger.isLoggable(level)) {
             final StringBuilder sb = new StringBuilder();
             for (int i = 0 ; i < indent ; i++) {
                 sb.append(' ');
@@ -584,7 +541,7 @@
      * @param objs  objects for which to invoke toString and concatenate to log
      */
     public void log(final Level level, final Object... objs) {
-        if (isEnabled && !isQuiet) {
+        if (isEnabled && !isQuiet && logger.isLoggable(level)) {
             final StringBuilder sb = new StringBuilder();
             for (final Object obj : objs) {
                 sb.append(obj);
--- a/nashorn/test/TEST.groups	Thu Jul 02 17:15:55 2015 -0700
+++ b/nashorn/test/TEST.groups	Thu Jul 02 17:50:25 2015 -0700
@@ -27,3 +27,6 @@
 
 # All nashorn tests are tier 2.
 tier2 = src
+
+# No nashorn tests are tier 3.
+tier3 =
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nashorn/test/script/basic/JDK-8129410.js	Thu Jul 02 17:50:25 2015 -0700
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2015 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ * 
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ * 
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * JDK-8129410: Java adapters with class-level overrides should preserve variable arity constructors
+ *
+ * @test
+ * @run
+ */
+
+var VarArgConstructor = Java.type("jdk.nashorn.test.models.VarArgConstructor");
+var VarArgConstructorExtended = Java.extend(VarArgConstructor, {});
+
+// If the fix didn't work we wouldn't even get past the constructor invocation
+// as it'd complain there's no matching arity constructor.
+var newExtended = new VarArgConstructorExtended(1, true, "a", "b");
+
+// Assert the expected constructor was invoked.
+Assert.assertEquals("vararg", newExtended.indicator);
--- a/test/lib/sun/hotspot/WhiteBox.java	Thu Jul 02 17:15:55 2015 -0700
+++ b/test/lib/sun/hotspot/WhiteBox.java	Thu Jul 02 17:50:25 2015 -0700
@@ -306,6 +306,8 @@
   public native boolean isConstantVMFlag(String name);
   public native boolean isLockedVMFlag(String name);
   public native void    setBooleanVMFlag(String name, boolean value);
+  public native void    setIntVMFlag(String name, long value);
+  public native void    setUintVMFlag(String name, long value);
   public native void    setIntxVMFlag(String name, long value);
   public native void    setUintxVMFlag(String name, long value);
   public native void    setUint64VMFlag(String name, long value);
@@ -313,6 +315,8 @@
   public native void    setStringVMFlag(String name, String value);
   public native void    setDoubleVMFlag(String name, double value);
   public native Boolean getBooleanVMFlag(String name);
+  public native Long    getIntVMFlag(String name);
+  public native Long    getUintVMFlag(String name);
   public native Long    getIntxVMFlag(String name);
   public native Long    getUintxVMFlag(String name);
   public native Long    getUint64VMFlag(String name);
@@ -320,9 +324,9 @@
   public native String  getStringVMFlag(String name);
   public native Double  getDoubleVMFlag(String name);
   private final List<Function<String,Object>> flagsGetters = Arrays.asList(
-    this::getBooleanVMFlag, this::getIntxVMFlag, this::getUintxVMFlag,
-    this::getUint64VMFlag, this::getSizeTVMFlag, this::getStringVMFlag,
-    this::getDoubleVMFlag);
+    this::getBooleanVMFlag, this::getIntVMFlag, this::getUintVMFlag,
+    this::getIntxVMFlag, this::getUintxVMFlag, this::getUint64VMFlag,
+    this::getSizeTVMFlag, this::getStringVMFlag, this::getDoubleVMFlag);
 
   public Object getVMFlag(String name) {
     return flagsGetters.stream()