Merge
diff --git a/.hgtags-top-repo b/.hgtags-top-repo
index 263edf8..3124406 100644
--- a/.hgtags-top-repo
+++ b/.hgtags-top-repo
@@ -237,3 +237,4 @@
 6ba4c7cb623ec612031e05cf8bf279d8f407bd1e jdk8-b113
 4f2011496393a26dcfd7b1f7787a3673ddd32599 jdk8-b114
 763ada2a1d8c5962bc8c3d297e57c562d2e95338 jdk8-b115
+cbfe5da942c63ef865cab4a7159e01eff7d7fcf5 jdk8-b116
diff --git a/corba/.hgtags b/corba/.hgtags
index db7d697..60e3a24 100644
--- a/corba/.hgtags
+++ b/corba/.hgtags
@@ -237,3 +237,4 @@
 a259ff3e42d91da68f4d4f09d7eb9dc22bc024fc jdk8-b113
 0bbccf77c23e566170b88b52c2cf28e5d31ce927 jdk8-b114
 8d07115924b7d703a5048adb24e8aba751442f13 jdk8-b115
+5fdc4465208933ba704825b2b05e1afd062235fb jdk8-b116
diff --git a/corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java b/corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java
index 91aacd5..271682a 100644
--- a/corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java
+++ b/corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java
@@ -89,4 +89,6 @@
             sm.checkPermission(perm);
 }
     }
+
+    private static final long serialVersionUID = 4571178305984833743L;
 }
diff --git a/hotspot/.hgtags b/hotspot/.hgtags
index 9f29bef..542f7ac 100644
--- a/hotspot/.hgtags
+++ b/hotspot/.hgtags
@@ -393,3 +393,5 @@
 3b32d287da89a47a45d16f6d9ba5bd3cd9bf4b3e hs25-b57
 9ebaac78a8a0061fb9597e07f806498cb626cdeb jdk8-b115
 e510dfdec6dd701410f3398ed86ebcdff0cca63a hs25-b58
+52b076e6ffae247c1c7d8b7aba995195be2b6fc2 jdk8-b116
+c78d517c7ea47501b456e707afd4b78e7b5b202e hs25-b59
diff --git a/hotspot/make/hotspot_version b/hotspot/make/hotspot_version
index ef45285..cf93d3d 100644
--- a/hotspot/make/hotspot_version
+++ b/hotspot/make/hotspot_version
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=25
 HS_MINOR_VER=0
-HS_BUILD_NUMBER=58
+HS_BUILD_NUMBER=59
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=8
diff --git a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
index 62ff0f2..4b6b1c7 100644
--- a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
+++ b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp
@@ -1002,18 +1002,6 @@
   // and the vm will find there should this case occur.
   Address callee_target_addr(G2_thread, JavaThread::callee_target_offset());
   __ st_ptr(G5_method, callee_target_addr);
-
-  if (StressNonEntrant) {
-    // Open a big window for deopt failure
-    __ save_frame(0);
-    __ mov(G0, L0);
-    Label loop;
-    __ bind(loop);
-    __ sub(L0, 1, L0);
-    __ br_null_short(L0, Assembler::pt, loop);
-    __ restore();
-  }
-
   __ jmpl(G3, 0, G0);
   __ delayed()->nop();
 }
diff --git a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
index 26bb8d0..1bfd4ba 100644
--- a/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
+++ b/hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
@@ -4338,6 +4338,11 @@
 #endif // PRODUCT
 
 void GraphBuilder::profile_call(ciMethod* callee, Value recv, ciKlass* known_holder, Values* obj_args, bool inlined) {
+  // A default method's holder is an interface
+  if (known_holder != NULL && known_holder->is_interface()) {
+    assert(known_holder->is_instance_klass() && ((ciInstanceKlass*)known_holder)->has_default_methods(), "should be default method");
+    known_holder = NULL;
+  }
   append(new ProfileCall(method(), bci(), callee, recv, known_holder, obj_args, inlined));
 }
 
diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
index e309891..8eb0189 100644
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp
@@ -2574,8 +2574,25 @@
   __ jump(x->default_sux());
 }
 
-
-ciKlass* LIRGenerator::profile_arg_type(ciMethodData* md, int md_base_offset, int md_offset, intptr_t profiled_k, Value arg, LIR_Opr& mdp, bool not_null, ciKlass* signature_k) {
+/**
+ * Emit profiling code if needed for arguments, parameters, return value types
+ *
+ * @param md                    MDO the code will update at runtime
+ * @param md_base_offset        common offset in the MDO for this profile and subsequent ones
+ * @param md_offset             offset in the MDO (on top of md_base_offset) for this profile
+ * @param profiled_k            current profile
+ * @param obj                   IR node for the object to be profiled
+ * @param mdp                   register to hold the pointer inside the MDO (md + md_base_offset).
+ *                              Set once we find an update to make and use for next ones.
+ * @param not_null              true if we know obj cannot be null
+ * @param signature_at_call_k   signature at call for obj
+ * @param callee_signature_k    signature of callee for obj
+ *                              at call and callee signatures differ at method handle call
+ * @return                      the only klass we know will ever be seen at this profile point
+ */
+ciKlass* LIRGenerator::profile_type(ciMethodData* md, int md_base_offset, int md_offset, intptr_t profiled_k,
+                                    Value obj, LIR_Opr& mdp, bool not_null, ciKlass* signature_at_call_k,
+                                    ciKlass* callee_signature_k) {
   ciKlass* result = NULL;
   bool do_null = !not_null && !TypeEntries::was_null_seen(profiled_k);
   bool do_update = !TypeEntries::is_type_unknown(profiled_k);
@@ -2590,9 +2607,9 @@
   if (do_update) {
     // try to find exact type, using CHA if possible, so that loading
     // the klass from the object can be avoided
-    ciType* type = arg->exact_type();
+    ciType* type = obj->exact_type();
     if (type == NULL) {
-      type = arg->declared_type();
+      type = obj->declared_type();
       type = comp->cha_exact_type(type);
     }
     assert(type == NULL || type->is_klass(), "type should be class");
@@ -2608,23 +2625,33 @@
   ciKlass* exact_signature_k = NULL;
   if (do_update) {
     // Is the type from the signature exact (the only one possible)?
-    exact_signature_k = signature_k->exact_klass();
+    exact_signature_k = signature_at_call_k->exact_klass();
     if (exact_signature_k == NULL) {
-      exact_signature_k = comp->cha_exact_type(signature_k);
+      exact_signature_k = comp->cha_exact_type(signature_at_call_k);
     } else {
       result = exact_signature_k;
-      do_update = false;
       // Known statically. No need to emit any code: prevent
       // LIR_Assembler::emit_profile_type() from emitting useless code
       profiled_k = ciTypeEntries::with_status(result, profiled_k);
     }
     if (exact_signature_k != NULL && exact_klass != exact_signature_k) {
-      assert(exact_klass == NULL, "arg and signature disagree?");
+      assert(exact_klass == NULL, "obj and signature disagree?");
       // sometimes the type of the signature is better than the best type
       // the compiler has
       exact_klass = exact_signature_k;
-      do_update = exact_klass == NULL || ciTypeEntries::valid_ciklass(profiled_k) != exact_klass;
     }
+    if (callee_signature_k != NULL &&
+        callee_signature_k != signature_at_call_k) {
+      ciKlass* improved_klass = callee_signature_k->exact_klass();
+      if (improved_klass == NULL) {
+        improved_klass = comp->cha_exact_type(callee_signature_k);
+      }
+      if (improved_klass != NULL && exact_klass != improved_klass) {
+        assert(exact_klass == NULL, "obj and signature disagree?");
+        exact_klass = exact_signature_k;
+      }
+    }
+    do_update = exact_klass == NULL || ciTypeEntries::valid_ciklass(profiled_k) != exact_klass;
   }
 
   if (!do_null && !do_update) {
@@ -2640,7 +2667,7 @@
       __ leal(LIR_OprFact::address(base_type_address), mdp);
     }
   }
-  LIRItem value(arg, this);
+  LIRItem value(obj, this);
   value.load_item();
   __ profile_type(new LIR_Address(mdp, md_offset, T_METADATA),
                   value.result(), exact_klass, profiled_k, new_pointer_register(), not_null, exact_signature_k != NULL);
@@ -2665,9 +2692,9 @@
         if (t == T_OBJECT || t == T_ARRAY) {
           intptr_t profiled_k = parameters->type(j);
           Local* local = x->state()->local_at(java_index)->as_Local();
-          ciKlass* exact = profile_arg_type(md, md->byte_offset_of_slot(parameters_type_data, ParametersTypeData::type_offset(0)),
-                                            in_bytes(ParametersTypeData::type_offset(j)) - in_bytes(ParametersTypeData::type_offset(0)),
-                                            profiled_k, local, mdp, false, local->declared_type()->as_klass());
+          ciKlass* exact = profile_type(md, md->byte_offset_of_slot(parameters_type_data, ParametersTypeData::type_offset(0)),
+                                        in_bytes(ParametersTypeData::type_offset(j)) - in_bytes(ParametersTypeData::type_offset(0)),
+                                        profiled_k, local, mdp, false, local->declared_type()->as_klass(), NULL);
           // If the profile is known statically set it once for all and do not emit any code
           if (exact != NULL) {
             md->set_parameter_type(j, exact);
@@ -3129,19 +3156,28 @@
       Bytecodes::Code bc = x->method()->java_code_at_bci(bci);
       int start = 0;
       int stop = data->is_CallTypeData() ? ((ciCallTypeData*)data)->number_of_arguments() : ((ciVirtualCallTypeData*)data)->number_of_arguments();
-      if (x->nb_profiled_args() < stop) {
-        // if called through method handle invoke, some arguments may have been popped
-        stop = x->nb_profiled_args();
+      if (x->inlined() && x->callee()->is_static() && Bytecodes::has_receiver(bc)) {
+        // first argument is not profiled at call (method handle invoke)
+        assert(x->method()->raw_code_at_bci(bci) == Bytecodes::_invokehandle, "invokehandle expected");
+        start = 1;
       }
-      ciSignature* sig = x->callee()->signature();
+      ciSignature* callee_signature = x->callee()->signature();
       // method handle call to virtual method
       bool has_receiver = x->inlined() && !x->callee()->is_static() && !Bytecodes::has_receiver(bc);
-      ciSignatureStream sig_stream(sig, has_receiver ? x->callee()->holder() : NULL);
-      for (int i = 0; i < stop; i++) {
+      ciSignatureStream callee_signature_stream(callee_signature, has_receiver ? x->callee()->holder() : NULL);
+
+      bool ignored_will_link;
+      ciSignature* signature_at_call = NULL;
+      x->method()->get_method_at_bci(bci, ignored_will_link, &signature_at_call);
+      ciSignatureStream signature_at_call_stream(signature_at_call);
+
+      // if called through method handle invoke, some arguments may have been popped
+      for (int i = 0; i < stop && i+start < x->nb_profiled_args(); i++) {
         int off = in_bytes(TypeEntriesAtCall::argument_type_offset(i)) - in_bytes(TypeEntriesAtCall::args_data_offset());
-        ciKlass* exact = profile_arg_type(md, base_offset, off,
-                                          args->type(i), x->profiled_arg_at(i+start), mdp,
-                                          !x->arg_needs_null_check(i+start), sig_stream.next_klass());
+        ciKlass* exact = profile_type(md, base_offset, off,
+                                      args->type(i), x->profiled_arg_at(i+start), mdp,
+                                      !x->arg_needs_null_check(i+start),
+                                      signature_at_call_stream.next_klass(), callee_signature_stream.next_klass());
         if (exact != NULL) {
           md->set_argument_type(bci, i, exact);
         }
@@ -3176,8 +3212,8 @@
         int bci = x->bci_of_invoke();
         Bytecodes::Code bc = x->method()->java_code_at_bci(bci);
         // The first parameter is the receiver so that's what we start
-        // with if it exists. On exception if method handle call to
-        // virtual method has receiver in the args list
+        // with if it exists. One exception is method handle call to
+        // virtual method: the receiver is in the args list
         if (arg == NULL || !Bytecodes::has_receiver(bc)) {
           i = 1;
           arg = x->profiled_arg_at(0);
@@ -3186,9 +3222,9 @@
         int k = 0; // to iterate on the profile data
         for (;;) {
           intptr_t profiled_k = parameters->type(k);
-          ciKlass* exact = profile_arg_type(md, md->byte_offset_of_slot(parameters_type_data, ParametersTypeData::type_offset(0)),
-                                            in_bytes(ParametersTypeData::type_offset(k)) - in_bytes(ParametersTypeData::type_offset(0)),
-                                            profiled_k, arg, mdp, not_null, sig_stream.next_klass());
+          ciKlass* exact = profile_type(md, md->byte_offset_of_slot(parameters_type_data, ParametersTypeData::type_offset(0)),
+                                        in_bytes(ParametersTypeData::type_offset(k)) - in_bytes(ParametersTypeData::type_offset(0)),
+                                        profiled_k, arg, mdp, not_null, sig_stream.next_klass(), NULL);
           // If the profile is known statically set it once for all and do not emit any code
           if (exact != NULL) {
             md->set_parameter_type(k, exact);
@@ -3247,9 +3283,16 @@
   assert(data->is_CallTypeData() || data->is_VirtualCallTypeData(), "wrong profile data type");
   ciReturnTypeEntry* ret = data->is_CallTypeData() ? ((ciCallTypeData*)data)->ret() : ((ciVirtualCallTypeData*)data)->ret();
   LIR_Opr mdp = LIR_OprFact::illegalOpr;
-  ciKlass* exact = profile_arg_type(md, 0, md->byte_offset_of_slot(data, ret->type_offset()),
-                                    ret->type(), x->ret(), mdp,
-                                    !x->needs_null_check(), x->callee()->signature()->return_type()->as_klass());
+
+  bool ignored_will_link;
+  ciSignature* signature_at_call = NULL;
+  x->method()->get_method_at_bci(bci, ignored_will_link, &signature_at_call);
+
+  ciKlass* exact = profile_type(md, 0, md->byte_offset_of_slot(data, ret->type_offset()),
+                                ret->type(), x->ret(), mdp,
+                                !x->needs_null_check(),
+                                signature_at_call->return_type()->as_klass(),
+                                x->callee()->signature()->return_type()->as_klass());
   if (exact != NULL) {
     md->set_return_type(bci, exact);
   }
diff --git a/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp b/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp
index f0c640d..90b278f 100644
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.hpp
@@ -434,7 +434,9 @@
   void do_ThreadIDIntrinsic(Intrinsic* x);
   void do_ClassIDIntrinsic(Intrinsic* x);
 #endif
-  ciKlass* profile_arg_type(ciMethodData* md, int md_first_offset, int md_offset, intptr_t profiled_k, Value arg, LIR_Opr& mdp, bool not_null, ciKlass* signature_k);
+  ciKlass* profile_type(ciMethodData* md, int md_first_offset, int md_offset, intptr_t profiled_k,
+                        Value arg, LIR_Opr& mdp, bool not_null, ciKlass* signature_at_call_k,
+                        ciKlass* callee_signature_k);
   void profile_arguments(ProfileCall* x);
   void profile_parameters(Base* x);
   void profile_parameters_at_call(ProfileCall* x);
diff --git a/hotspot/src/share/vm/c1/c1_globals.hpp b/hotspot/src/share/vm/c1/c1_globals.hpp
index 9cc51ed..c713690 100644
--- a/hotspot/src/share/vm/c1/c1_globals.hpp
+++ b/hotspot/src/share/vm/c1/c1_globals.hpp
@@ -341,9 +341,6 @@
   diagnostic(bool, C1PatchInvokeDynamic, true,                              \
              "Patch invokedynamic appendix not known at compile time")      \
                                                                             \
-  develop(intx, MaxForceInlineLevel, 100,                                   \
-          "maximum number of nested @ForceInline calls that are inlined")   \
-                                                                            \
 
 
 // Read default values for c1 globals
diff --git a/hotspot/src/share/vm/ci/ciEnv.cpp b/hotspot/src/share/vm/ci/ciEnv.cpp
index 7e61a84..f6c8949 100644
--- a/hotspot/src/share/vm/ci/ciEnv.cpp
+++ b/hotspot/src/share/vm/ci/ciEnv.cpp
@@ -935,7 +935,9 @@
 
     // Prevent SystemDictionary::add_to_hierarchy from running
     // and invalidating our dependencies until we install this method.
+    // No safepoints are allowed. Otherwise, class redefinition can occur in between.
     MutexLocker ml(Compile_lock);
+    No_Safepoint_Verifier nsv;
 
     // Change in Jvmti state may invalidate compilation.
     if (!failing() &&
@@ -1001,16 +1003,6 @@
     // Free codeBlobs
     code_buffer->free_blob();
 
-    // stress test 6243940 by immediately making the method
-    // non-entrant behind the system's back. This has serious
-    // side effects on the code cache and is not meant for
-    // general stress testing
-    if (nm != NULL && StressNonEntrant) {
-      MutexLockerEx pl(Patching_lock, Mutex::_no_safepoint_check_flag);
-      NativeJump::patch_verified_entry(nm->entry_point(), nm->verified_entry_point(),
-                  SharedRuntime::get_handle_wrong_method_stub());
-    }
-
     if (nm == NULL) {
       // The CodeCache is full.  Print out warning and disable compilation.
       record_failure("code cache is full");
@@ -1036,11 +1028,11 @@
             char *method_name = method->name_and_sig_as_C_string();
             tty->print_cr("Replacing method %s", method_name);
           }
-          if (old != NULL ) {
+          if (old != NULL) {
             old->make_not_entrant();
           }
         }
-        if (TraceNMethodInstalls ) {
+        if (TraceNMethodInstalls) {
           ResourceMark rm;
           char *method_name = method->name_and_sig_as_C_string();
           ttyLocker ttyl;
@@ -1051,7 +1043,7 @@
         // Allow the code to be executed
         method->set_code(method, nm);
       } else {
-        if (TraceNMethodInstalls ) {
+        if (TraceNMethodInstalls) {
           ResourceMark rm;
           char *method_name = method->name_and_sig_as_C_string();
           ttyLocker ttyl;
@@ -1061,7 +1053,6 @@
                         entry_bci);
         }
         method->method_holder()->add_osr_nmethod(nm);
-
       }
     }
   }
diff --git a/hotspot/src/share/vm/ci/ciMethodData.hpp b/hotspot/src/share/vm/ci/ciMethodData.hpp
index 0602f85..0eeb510 100644
--- a/hotspot/src/share/vm/ci/ciMethodData.hpp
+++ b/hotspot/src/share/vm/ci/ciMethodData.hpp
@@ -77,7 +77,9 @@
   static ciKlass* valid_ciklass(intptr_t k) {
     if (!TypeEntries::is_type_none(k) &&
         !TypeEntries::is_type_unknown(k)) {
-      return (ciKlass*)TypeEntries::klass_part(k);
+      ciKlass* res = (ciKlass*)TypeEntries::klass_part(k);
+      assert(res != NULL, "invalid");
+      return res;
     } else {
       return NULL;
     }
diff --git a/hotspot/src/share/vm/classfile/classFileParser.cpp b/hotspot/src/share/vm/classfile/classFileParser.cpp
index 1774ac1..8990cc3 100644
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp
@@ -4080,7 +4080,7 @@
 
     // Generate any default methods - default methods are interface methods
     // that have a default implementation.  This is new with Lambda project.
-    if (has_default_methods && !access_flags.is_interface() ) {
+    if (has_default_methods ) {
       DefaultMethods::generate_default_methods(
           this_klass(), &all_mirandas, CHECK_(nullHandle));
     }
diff --git a/hotspot/src/share/vm/classfile/defaultMethods.cpp b/hotspot/src/share/vm/classfile/defaultMethods.cpp
index c05c587..619856d 100644
--- a/hotspot/src/share/vm/classfile/defaultMethods.cpp
+++ b/hotspot/src/share/vm/classfile/defaultMethods.cpp
@@ -171,8 +171,12 @@
   }
   bool is_cancelled() const { return _cancelled; }
 
+  // This code used to skip interface classes because their only
+  // superclass was j.l.Object which would be also covered by class
+  // superclass hierarchy walks. Now that the starting point can be
+  // an interface, we must ensure we catch j.l.Object as the super.
   static bool has_super(InstanceKlass* cls) {
-    return cls->super() != NULL && !cls->is_interface();
+    return cls->super() != NULL;
   }
 
   Node* node_at_depth(int i) const {
@@ -391,16 +395,21 @@
       return;
     }
 
+    // Qualified methods are maximally-specific methods
+    // These include public, instance concrete (=default) and abstract methods
     GrowableArray<Method*> qualified_methods;
     int num_defaults = 0;
     int default_index = -1;
+    int qualified_index = -1;
     for (int i = 0; i < _members.length(); ++i) {
       Pair<Method*,QualifiedState> entry = _members.at(i);
       if (entry.second == QUALIFIED) {
         qualified_methods.append(entry.first);
-        default_index++;
+        qualified_index++;
         if (entry.first->is_default_method()) {
           num_defaults++;
+          default_index = qualified_index;
+
         }
       }
     }
@@ -408,16 +417,10 @@
     if (qualified_methods.length() == 0) {
       _exception_message = generate_no_defaults_message(CHECK);
       _exception_name = vmSymbols::java_lang_AbstractMethodError();
-    } else if (qualified_methods.length() == 1) {
-      // leave abstract methods alone, they will be found via normal search path
-      Method* method = qualified_methods.at(0);
-      if (!method->is_abstract()) {
-        _selected_target = qualified_methods.at(0);
-      }
-      // If only one qualified method is default, select that
+    // If only one qualified method is default, select that
     } else if (num_defaults == 1) {
         _selected_target = qualified_methods.at(default_index);
-    } else {
+    } else if (num_defaults > 1) {
       _exception_message = generate_conflicts_message(&qualified_methods,CHECK);
       _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError();
       if (TraceDefaultMethods) {
@@ -425,6 +428,7 @@
         tty->print_cr("");
       }
     }
+    // leave abstract methods alone, they will be found via normal search path
   }
 
   bool contains_signature(Symbol* query) {
@@ -704,8 +708,10 @@
     Method* m = iklass->find_method(_method_name, _method_signature);
     // private interface methods are not candidates for default methods
     // invokespecial to private interface methods doesn't use default method logic
+    // The overpasses are your supertypes' errors, we do not include them
     // future: take access controls into account for superclass methods
-    if (m != NULL && !m->is_static() && (!iklass->is_interface() || m->is_public())) {
+    if (m != NULL && !m->is_static() && !m->is_overpass() &&
+         (!iklass->is_interface() || m->is_public())) {
       if (_family == NULL) {
         _family = new StatefulMethodFamily();
       }
@@ -781,7 +787,8 @@
 #ifndef PRODUCT
   if (TraceDefaultMethods) {
     ResourceMark rm;  // be careful with these!
-    tty->print_cr("Class %s requires default method processing",
+    tty->print_cr("%s %s requires default method processing",
+        klass->is_interface() ? "Interface" : "Class",
         klass->name()->as_klass_external_name());
     PrintHierarchy printer;
     printer.run(klass);
@@ -806,7 +813,7 @@
  }
 #ifndef PRODUCT
   if (TraceDefaultMethods) {
-    tty->print_cr("Creating overpasses...");
+    tty->print_cr("Creating defaults and overpasses...");
   }
 #endif // ndef PRODUCT
 
@@ -1076,7 +1083,9 @@
   klass->set_initial_method_idnum(new_size);
 
   ClassLoaderData* cld = klass->class_loader_data();
-  MetadataFactory::free_array(cld, original_methods);
+  if (original_methods ->length() > 0) {
+    MetadataFactory::free_array(cld, original_methods);
+  }
   if (original_ordering->length() > 0) {
     klass->set_method_ordering(merged_ordering);
     MetadataFactory::free_array(cld, original_ordering);
diff --git a/hotspot/src/share/vm/code/nmethod.cpp b/hotspot/src/share/vm/code/nmethod.cpp
index 5d74db0..6871849 100644
--- a/hotspot/src/share/vm/code/nmethod.cpp
+++ b/hotspot/src/share/vm/code/nmethod.cpp
@@ -618,21 +618,18 @@
         // record this nmethod as dependent on this klass
         InstanceKlass::cast(klass)->add_dependent_nmethod(nm);
       }
-    }
-    NOT_PRODUCT(if (nm != NULL)  nmethod_stats.note_nmethod(nm));
-    if (PrintAssembly && nm != NULL) {
-      Disassembler::decode(nm);
+      NOT_PRODUCT(nmethod_stats.note_nmethod(nm));
+      if (PrintAssembly) {
+        Disassembler::decode(nm);
+      }
     }
   }
-
-  // verify nmethod
-  debug_only(if (nm) nm->verify();) // might block
-
+  // Do verification and logging outside CodeCache_lock.
   if (nm != NULL) {
+    // Safepoints in nmethod::verify aren't allowed because nm hasn't been installed yet.
+    DEBUG_ONLY(nm->verify();)
     nm->log_new_nmethod();
   }
-
-  // done
   return nm;
 }
 
@@ -1262,7 +1259,7 @@
 
   set_osr_link(NULL);
   //set_scavenge_root_link(NULL); // done by prune_scavenge_root_nmethods
-  NMethodSweeper::notify();
+  NMethodSweeper::report_state_change(this);
 }
 
 void nmethod::invalidate_osr_method() {
@@ -1296,7 +1293,9 @@
   }
 }
 
-// Common functionality for both make_not_entrant and make_zombie
+/**
+ * Common functionality for both make_not_entrant and make_zombie
+ */
 bool nmethod::make_not_entrant_or_zombie(unsigned int state) {
   assert(state == zombie || state == not_entrant, "must be zombie or not_entrant");
   assert(!is_zombie(), "should not already be a zombie");
@@ -1420,9 +1419,7 @@
     tty->print_cr("nmethod <" INTPTR_FORMAT "> code made %s", this, (state == not_entrant) ? "not entrant" : "zombie");
   }
 
-  // Make sweeper aware that there is a zombie method that needs to be removed
-  NMethodSweeper::notify();
-
+  NMethodSweeper::report_state_change(this);
   return true;
 }
 
@@ -2395,20 +2392,23 @@
 
 
 void nmethod::verify_interrupt_point(address call_site) {
-  // This code does not work in release mode since
-  // owns_lock only is available in debug mode.
-  CompiledIC* ic = NULL;
-  Thread *cur = Thread::current();
-  if (CompiledIC_lock->owner() == cur ||
-      ((cur->is_VM_thread() || cur->is_ConcurrentGC_thread()) &&
-       SafepointSynchronize::is_at_safepoint())) {
-    ic = CompiledIC_at(this, call_site);
-    CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
-  } else {
-    MutexLocker ml_verify (CompiledIC_lock);
-    ic = CompiledIC_at(this, call_site);
+  // Verify IC only when nmethod installation is finished.
+  bool is_installed = (method()->code() == this) // nmethod is in state 'alive' and installed
+                      || !this->is_in_use();     // nmethod is installed, but not in 'alive' state
+  if (is_installed) {
+    Thread *cur = Thread::current();
+    if (CompiledIC_lock->owner() == cur ||
+        ((cur->is_VM_thread() || cur->is_ConcurrentGC_thread()) &&
+         SafepointSynchronize::is_at_safepoint())) {
+      CompiledIC_at(this, call_site);
+      CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops());
+    } else {
+      MutexLocker ml_verify (CompiledIC_lock);
+      CompiledIC_at(this, call_site);
+    }
   }
-  PcDesc* pd = pc_desc_at(ic->end_of_call());
+
+  PcDesc* pd = pc_desc_at(nativeCall_at(call_site)->return_address());
   assert(pd != NULL, "PcDesc must exist");
   for (ScopeDesc* sd = new ScopeDesc(this, pd->scope_decode_offset(),
                                      pd->obj_decode_offset(), pd->should_reexecute(),
diff --git a/hotspot/src/share/vm/compiler/compileBroker.cpp b/hotspot/src/share/vm/compiler/compileBroker.cpp
index fb47df2..f8fa26f 100644
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp
@@ -126,6 +126,7 @@
 
 bool CompileBroker::_initialized = false;
 volatile bool CompileBroker::_should_block = false;
+volatile jint CompileBroker::_print_compilation_warning = 0;
 volatile jint CompileBroker::_should_compile_new_jobs = run_compilation;
 
 // The installed compiler(s)
@@ -2027,11 +2028,10 @@
 #endif
 }
 
-// ------------------------------------------------------------------
-// CompileBroker::handle_full_code_cache
-//
-// The CodeCache is full.  Print out warning and disable compilation or
-// try code cache cleaning so compilation can continue later.
+/**
+ * The CodeCache is full.  Print out warning and disable compilation
+ * or try code cache cleaning so compilation can continue later.
+ */
 void CompileBroker::handle_full_code_cache() {
   UseInterpreter = true;
   if (UseCompiler || AlwaysCompileLoopMethods ) {
@@ -2048,12 +2048,9 @@
       xtty->stamp();
       xtty->end_elem();
     }
-    warning("CodeCache is full. Compiler has been disabled.");
-    warning("Try increasing the code cache size using -XX:ReservedCodeCacheSize=");
 
     CodeCache::report_codemem_full();
 
-
 #ifndef PRODUCT
     if (CompileTheWorld || ExitOnFullCodeCache) {
       codecache_print(/* detailed= */ true);
@@ -2066,17 +2063,22 @@
       // Since code cache is full, immediately stop new compiles
       if (CompileBroker::set_should_compile_new_jobs(CompileBroker::stop_compilation)) {
         NMethodSweeper::log_sweep("disable_compiler");
-
-        // Switch to 'vm_state'. This ensures that possibly_sweep() can be called
-        // without having to consider the state in which the current thread is.
-        ThreadInVMfromUnknown in_vm;
-        NMethodSweeper::possibly_sweep();
       }
+      // Switch to 'vm_state'. This ensures that possibly_sweep() can be called
+      // without having to consider the state in which the current thread is.
+      ThreadInVMfromUnknown in_vm;
+      NMethodSweeper::possibly_sweep();
     } else {
       disable_compilation_forever();
     }
+
+    // Print warning only once
+    if (should_print_compiler_warning()) {
+      warning("CodeCache is full. Compiler has been disabled.");
+      warning("Try increasing the code cache size using -XX:ReservedCodeCacheSize=");
+      codecache_print(/* detailed= */ true);
+    }
   }
-  codecache_print(/* detailed= */ true);
 }
 
 // ------------------------------------------------------------------
diff --git a/hotspot/src/share/vm/compiler/compileBroker.hpp b/hotspot/src/share/vm/compiler/compileBroker.hpp
index 19beeec..a74afb3 100644
--- a/hotspot/src/share/vm/compiler/compileBroker.hpp
+++ b/hotspot/src/share/vm/compiler/compileBroker.hpp
@@ -315,6 +315,8 @@
   static int _sum_nmethod_code_size;
   static long _peak_compilation_time;
 
+  static volatile jint _print_compilation_warning;
+
   static CompilerThread* make_compiler_thread(const char* name, CompileQueue* queue, CompilerCounters* counters, AbstractCompiler* comp, TRAPS);
   static void init_compiler_threads(int c1_compiler_count, int c2_compiler_count);
   static bool compilation_is_complete  (methodHandle method, int osr_bci, int comp_level);
@@ -418,7 +420,11 @@
     return _should_compile_new_jobs == shutdown_compilaton;
   }
   static void handle_full_code_cache();
-
+  // Ensures that warning is only printed once.
+  static bool should_print_compiler_warning() {
+    jint old = Atomic::cmpxchg(1, &_print_compilation_warning, 0);
+    return old == 0;
+  }
   // Return total compilation ticks
   static jlong total_compilation_ticks() {
     return _perf_total_compilation != NULL ? _perf_total_compilation->get_value() : 0;
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp
index c2aafb7..a236a10 100644
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp
@@ -47,8 +47,9 @@
 // ConcurrentMarkSweepPolicy methods
 //
 
-ConcurrentMarkSweepPolicy::ConcurrentMarkSweepPolicy() {
-  initialize_all();
+void ConcurrentMarkSweepPolicy::initialize_alignments() {
+  _space_alignment = _gen_alignment = (uintx)Generation::GenGrain;
+  _heap_alignment = compute_heap_alignment();
 }
 
 void ConcurrentMarkSweepPolicy::initialize_generations() {
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp
index 1483bca..d26959f 100644
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.hpp
@@ -29,10 +29,11 @@
 
 class ConcurrentMarkSweepPolicy : public TwoGenerationCollectorPolicy {
  protected:
+  void initialize_alignments();
   void initialize_generations();
 
  public:
-  ConcurrentMarkSweepPolicy();
+  ConcurrentMarkSweepPolicy() {}
 
   ConcurrentMarkSweepPolicy* as_concurrent_mark_sweep_policy() { return this; }
 
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
index bf4ac21..ffe87d5 100644
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
@@ -594,9 +594,9 @@
   _verification_mark_bm(0, Mutex::leaf + 1, "CMS_verification_mark_bm_lock"),
   _completed_initialization(false),
   _collector_policy(cp),
-  _should_unload_classes(false),
+  _should_unload_classes(CMSClassUnloadingEnabled),
   _concurrent_cycles_since_last_unload(0),
-  _roots_scanning_options(0),
+  _roots_scanning_options(SharedHeap::SO_None),
   _inter_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding),
   _intra_sweep_estimate(CMS_SweepWeight, CMS_SweepPadding),
   _gc_tracer_cm(new (ResourceObj::C_HEAP, mtGC) CMSTracer()),
@@ -788,14 +788,6 @@
              && _survivor_chunk_index == 0),
          "Error");
 
-  // Choose what strong roots should be scanned depending on verification options
-  if (!CMSClassUnloadingEnabled) {
-    // If class unloading is disabled we want to include all classes into the root set.
-    add_root_scanning_option(SharedHeap::SO_AllClasses);
-  } else {
-    add_root_scanning_option(SharedHeap::SO_SystemClasses);
-  }
-
   NOT_PRODUCT(_overflow_counter = CMSMarkStackOverflowInterval;)
   _gc_counters = new CollectorCounters("CMS", 1);
   _completed_initialization = true;
@@ -2532,6 +2524,9 @@
   // Snapshot the soft reference policy to be used in this collection cycle.
   ref_processor()->setup_policy(clear_all_soft_refs);
 
+  // Decide if class unloading should be done
+  update_should_unload_classes();
+
   bool init_mark_was_synchronous = false; // until proven otherwise
   while (_collectorState != Idling) {
     if (TraceCMSState) {
@@ -3310,7 +3305,10 @@
                              || VerifyBeforeExit;
   const  int  rso           =   SharedHeap::SO_Strings | SharedHeap::SO_CodeCache;
 
+  // We set the proper root for this CMS cycle here.
   if (should_unload_classes()) {   // Should unload classes this cycle
+    remove_root_scanning_option(SharedHeap::SO_AllClasses);
+    add_root_scanning_option(SharedHeap::SO_SystemClasses);
     remove_root_scanning_option(rso);  // Shrink the root set appropriately
     set_verifying(should_verify);    // Set verification state for this cycle
     return;                            // Nothing else needs to be done at this time
@@ -3318,6 +3316,9 @@
 
   // Not unloading classes this cycle
   assert(!should_unload_classes(), "Inconsitency!");
+  remove_root_scanning_option(SharedHeap::SO_SystemClasses);
+  add_root_scanning_option(SharedHeap::SO_AllClasses);
+
   if ((!verifying() || unloaded_classes_last_cycle()) && should_verify) {
     // Include symbols, strings and code cache elements to prevent their resurrection.
     add_root_scanning_option(rso);
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
index 3f53067..4b82d5b 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
@@ -2008,7 +2008,7 @@
 
   size_t init_byte_size = collector_policy()->initial_heap_byte_size();
   size_t max_byte_size = collector_policy()->max_heap_byte_size();
-  size_t heap_alignment = collector_policy()->max_alignment();
+  size_t heap_alignment = collector_policy()->heap_alignment();
 
   // Ensure that the sizes are properly aligned.
   Universe::check_alignment(init_byte_size, HeapRegion::GrainBytes, "g1 heap");
@@ -6656,13 +6656,18 @@
     if (!oopDesc::is_null(heap_oop)) {
       oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
       HeapRegion* hr = _g1h->heap_region_containing(obj);
-      assert(!hr->isHumongous(), "code root in humongous region?");
+      assert(!hr->continuesHumongous(),
+             err_msg("trying to add code root "PTR_FORMAT" in continuation of humongous region "HR_FORMAT
+                     " starting at "HR_FORMAT,
+                     _nm, HR_FORMAT_PARAMS(hr), HR_FORMAT_PARAMS(hr->humongous_start_region())));
 
       // HeapRegion::add_strong_code_root() avoids adding duplicate
       // entries but having duplicates is  OK since we "mark" nmethods
       // as visited when we scan the strong code root lists during the GC.
       hr->add_strong_code_root(_nm);
-      assert(hr->rem_set()->strong_code_roots_list_contains(_nm), "add failed?");
+      assert(hr->rem_set()->strong_code_roots_list_contains(_nm),
+             err_msg("failed to add code root "PTR_FORMAT" to remembered set of region "HR_FORMAT,
+                     _nm, HR_FORMAT_PARAMS(hr)));
     }
   }
 
@@ -6683,9 +6688,15 @@
     if (!oopDesc::is_null(heap_oop)) {
       oop obj = oopDesc::decode_heap_oop_not_null(heap_oop);
       HeapRegion* hr = _g1h->heap_region_containing(obj);
-      assert(!hr->isHumongous(), "code root in humongous region?");
+      assert(!hr->continuesHumongous(),
+             err_msg("trying to remove code root "PTR_FORMAT" in continuation of humongous region "HR_FORMAT
+                     " starting at "HR_FORMAT,
+                     _nm, HR_FORMAT_PARAMS(hr), HR_FORMAT_PARAMS(hr->humongous_start_region())));
+
       hr->remove_strong_code_root(_nm);
-      assert(!hr->rem_set()->strong_code_roots_list_contains(_nm), "remove failed?");
+      assert(!hr->rem_set()->strong_code_roots_list_contains(_nm),
+             err_msg("failed to remove code root "PTR_FORMAT" of region "HR_FORMAT,
+                     _nm, HR_FORMAT_PARAMS(hr)));
     }
   }
 
@@ -6716,7 +6727,9 @@
 class MigrateCodeRootsHeapRegionClosure: public HeapRegionClosure {
 public:
   bool doHeapRegion(HeapRegion *hr) {
-    assert(!hr->isHumongous(), "humongous region in collection set?");
+    assert(!hr->isHumongous(),
+           err_msg("humongous region "HR_FORMAT" should not have been added to collection set",
+                   HR_FORMAT_PARAMS(hr)));
     hr->migrate_strong_code_roots();
     return false;
   }
@@ -6796,9 +6809,13 @@
 
   bool doHeapRegion(HeapRegion *hr) {
     HeapRegionRemSet* hrrs = hr->rem_set();
-    if (hr->isHumongous()) {
-      // Code roots should never be attached to a humongous region
-      assert(hrrs->strong_code_roots_list_length() == 0, "sanity");
+    if (hr->continuesHumongous()) {
+      // Code roots should never be attached to a continuation of a humongous region
+      assert(hrrs->strong_code_roots_list_length() == 0,
+             err_msg("code roots should never be attached to continuations of humongous region "HR_FORMAT
+                     " starting at "HR_FORMAT", but has "INT32_FORMAT,
+                     HR_FORMAT_PARAMS(hr), HR_FORMAT_PARAMS(hr->humongous_start_region()),
+                     hrrs->strong_code_roots_list_length()));
       return false;
     }
 
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
index 92eee2e..b4f9a0b 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp
@@ -313,27 +313,38 @@
   // for the first time during initialization.
   _reserve_regions = 0;
 
-  initialize_all();
   _collectionSetChooser = new CollectionSetChooser();
-  _young_gen_sizer = new G1YoungGenSizer(); // Must be after call to initialize_flags
+}
+
+void G1CollectorPolicy::initialize_alignments() {
+  _space_alignment = HeapRegion::GrainBytes;
+  size_t card_table_alignment = GenRemSet::max_alignment_constraint(GenRemSet::CardTable);
+  size_t page_size = UseLargePages ? os::large_page_size() : os::vm_page_size();
+  _heap_alignment = MAX3(card_table_alignment, _space_alignment, page_size);
 }
 
 void G1CollectorPolicy::initialize_flags() {
-  _min_alignment = HeapRegion::GrainBytes;
-  size_t card_table_alignment = GenRemSet::max_alignment_constraint(rem_set_name());
-  size_t page_size = UseLargePages ? os::large_page_size() : os::vm_page_size();
-  _max_alignment = MAX3(card_table_alignment, _min_alignment, page_size);
+  if (G1HeapRegionSize != HeapRegion::GrainBytes) {
+    FLAG_SET_ERGO(uintx, G1HeapRegionSize, HeapRegion::GrainBytes);
+  }
+
   if (SurvivorRatio < 1) {
     vm_exit_during_initialization("Invalid survivor ratio specified");
   }
   CollectorPolicy::initialize_flags();
+  _young_gen_sizer = new G1YoungGenSizer(); // Must be after call to initialize_flags
 }
 
-G1YoungGenSizer::G1YoungGenSizer() : _sizer_kind(SizerDefaults), _adaptive_size(true) {
-  assert(G1NewSizePercent <= G1MaxNewSizePercent, "Min larger than max");
-  assert(G1NewSizePercent > 0 && G1NewSizePercent < 100, "Min out of bounds");
-  assert(G1MaxNewSizePercent > 0 && G1MaxNewSizePercent < 100, "Max out of bounds");
+void G1CollectorPolicy::post_heap_initialize() {
+  uintx max_regions = G1CollectedHeap::heap()->max_regions();
+  size_t max_young_size = (size_t)_young_gen_sizer->max_young_length(max_regions) * HeapRegion::GrainBytes;
+  if (max_young_size != MaxNewSize) {
+    FLAG_SET_ERGO(uintx, MaxNewSize, max_young_size);
+  }
+}
 
+G1YoungGenSizer::G1YoungGenSizer() : _sizer_kind(SizerDefaults), _adaptive_size(true),
+        _min_desired_young_length(0), _max_desired_young_length(0) {
   if (FLAG_IS_CMDLINE(NewRatio)) {
     if (FLAG_IS_CMDLINE(NewSize) || FLAG_IS_CMDLINE(MaxNewSize)) {
       warning("-XX:NewSize and -XX:MaxNewSize override -XX:NewRatio");
@@ -344,8 +355,13 @@
     }
   }
 
-  if (FLAG_IS_CMDLINE(NewSize) && FLAG_IS_CMDLINE(MaxNewSize) && NewSize > MaxNewSize) {
-    vm_exit_during_initialization("Initial young gen size set larger than the maximum young gen size");
+  if (NewSize > MaxNewSize) {
+    if (FLAG_IS_CMDLINE(MaxNewSize)) {
+      warning("NewSize (" SIZE_FORMAT "k) is greater than the MaxNewSize (" SIZE_FORMAT "k). "
+              "A new max generation size of " SIZE_FORMAT "k will be used.",
+              NewSize/K, MaxNewSize/K, NewSize/K);
+    }
+    MaxNewSize = NewSize;
   }
 
   if (FLAG_IS_CMDLINE(NewSize)) {
@@ -378,34 +394,48 @@
   return MAX2(1U, default_value);
 }
 
-void G1YoungGenSizer::heap_size_changed(uint new_number_of_heap_regions) {
-  assert(new_number_of_heap_regions > 0, "Heap must be initialized");
+void G1YoungGenSizer::recalculate_min_max_young_length(uint number_of_heap_regions, uint* min_young_length, uint* max_young_length) {
+  assert(number_of_heap_regions > 0, "Heap must be initialized");
 
   switch (_sizer_kind) {
     case SizerDefaults:
-      _min_desired_young_length = calculate_default_min_length(new_number_of_heap_regions);
-      _max_desired_young_length = calculate_default_max_length(new_number_of_heap_regions);
+      *min_young_length = calculate_default_min_length(number_of_heap_regions);
+      *max_young_length = calculate_default_max_length(number_of_heap_regions);
       break;
     case SizerNewSizeOnly:
-      _max_desired_young_length = calculate_default_max_length(new_number_of_heap_regions);
-      _max_desired_young_length = MAX2(_min_desired_young_length, _max_desired_young_length);
+      *max_young_length = calculate_default_max_length(number_of_heap_regions);
+      *max_young_length = MAX2(*min_young_length, *max_young_length);
       break;
     case SizerMaxNewSizeOnly:
-      _min_desired_young_length = calculate_default_min_length(new_number_of_heap_regions);
-      _min_desired_young_length = MIN2(_min_desired_young_length, _max_desired_young_length);
+      *min_young_length = calculate_default_min_length(number_of_heap_regions);
+      *min_young_length = MIN2(*min_young_length, *max_young_length);
       break;
     case SizerMaxAndNewSize:
       // Do nothing. Values set on the command line, don't update them at runtime.
       break;
     case SizerNewRatio:
-      _min_desired_young_length = new_number_of_heap_regions / (NewRatio + 1);
-      _max_desired_young_length = _min_desired_young_length;
+      *min_young_length = number_of_heap_regions / (NewRatio + 1);
+      *max_young_length = *min_young_length;
       break;
     default:
       ShouldNotReachHere();
   }
 
-  assert(_min_desired_young_length <= _max_desired_young_length, "Invalid min/max young gen size values");
+  assert(*min_young_length <= *max_young_length, "Invalid min/max young gen size values");
+}
+
+uint G1YoungGenSizer::max_young_length(uint number_of_heap_regions) {
+  // We need to pass the desired values because recalculation may not update these
+  // values in some cases.
+  uint temp = _min_desired_young_length;
+  uint result = _max_desired_young_length;
+  recalculate_min_max_young_length(number_of_heap_regions, &temp, &result);
+  return result;
+}
+
+void G1YoungGenSizer::heap_size_changed(uint new_number_of_heap_regions) {
+  recalculate_min_max_young_length(new_number_of_heap_regions, &_min_desired_young_length,
+          &_max_desired_young_length);
 }
 
 void G1CollectorPolicy::init() {
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
index a497f2f..438bec8 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp
@@ -136,8 +136,16 @@
   uint calculate_default_min_length(uint new_number_of_heap_regions);
   uint calculate_default_max_length(uint new_number_of_heap_regions);
 
+  // Update the given values for minimum and maximum young gen length in regions
+  // given the number of heap regions depending on the kind of sizing algorithm.
+  void recalculate_min_max_young_length(uint number_of_heap_regions, uint* min_young_length, uint* max_young_length);
+
 public:
   G1YoungGenSizer();
+  // Calculate the maximum length of the young gen given the number of regions
+  // depending on the sizing algorithm.
+  uint max_young_length(uint number_of_heap_regions);
+
   void heap_size_changed(uint new_number_of_heap_regions);
   uint min_desired_young_length() {
     return _min_desired_young_length;
@@ -165,13 +173,9 @@
 
   G1MMUTracker* _mmu_tracker;
 
+  void initialize_alignments();
   void initialize_flags();
 
-  void initialize_all() {
-    initialize_flags();
-    initialize_size_info();
-  }
-
   CollectionSetChooser* _collectionSetChooser;
 
   double _full_collection_start_sec;
@@ -217,7 +221,6 @@
     return _during_marking;
   }
 
-private:
   enum PredictionConstants {
     TruncatedSeqLength = 10
   };
@@ -665,8 +668,6 @@
 
   BarrierSet::Name barrier_set_name() { return BarrierSet::G1SATBCTLogging; }
 
-  GenRemSet::Name  rem_set_name()     { return GenRemSet::CardTable; }
-
   bool need_to_start_conc_mark(const char* source, size_t alloc_word_size = 0);
 
   // Record the start and end of an evacuation pause.
@@ -934,6 +935,7 @@
   // Calculates survivor space parameters.
   void update_survivors_policy();
 
+  virtual void post_heap_initialize();
 };
 
 // This should move to some place more general...
diff --git a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp
index 0ed37e6..a11be17 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1RemSet.cpp
@@ -377,11 +377,6 @@
   DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
   dcqs.concatenate_logs();
 
-  if (G1CollectedHeap::use_parallel_gc_threads()) {
-    // Don't set the number of workers here.  It will be set
-    // when the task is run
-    // _seq_task->set_n_termination((int)n_workers());
-  }
   guarantee( _cards_scanned == NULL, "invariant" );
   _cards_scanned = NEW_C_HEAP_ARRAY(size_t, n_workers(), mtGC);
   for (uint i = 0; i < n_workers(); ++i) {
diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
index 00eec54..47a7a7a 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
@@ -174,11 +174,6 @@
     region_size = MAX_REGION_SIZE;
   }
 
-  if (region_size != G1HeapRegionSize) {
-    // Update the flag to make sure that PrintFlagsFinal logs the correct value
-    FLAG_SET_ERGO(uintx, G1HeapRegionSize, region_size);
-  }
-
   // And recalculate the log.
   region_size_log = log2_long((jlong) region_size);
 
@@ -606,7 +601,9 @@
 
 void HeapRegion::migrate_strong_code_roots() {
   assert(in_collection_set(), "only collection set regions");
-  assert(!isHumongous(), "not humongous regions");
+  assert(!isHumongous(),
+          err_msg("humongous region "HR_FORMAT" should not have been added to collection set",
+                  HR_FORMAT_PARAMS(this)));
 
   HeapRegionRemSet* hrrs = rem_set();
   hrrs->migrate_strong_code_roots();
@@ -727,12 +724,11 @@
     return;
   }
 
-  // An H-region should have an empty strong code root list
-  if (isHumongous()) {
+  if (continuesHumongous()) {
     if (strong_code_roots_length > 0) {
-      gclog_or_tty->print_cr("region ["PTR_FORMAT","PTR_FORMAT"] is humongous "
-                             "but has "INT32_FORMAT" code root entries",
-                             bottom(), end(), strong_code_roots_length);
+      gclog_or_tty->print_cr("region "HR_FORMAT" is a continuation of a humongous "
+                             "region but has "INT32_FORMAT" code root entries",
+                             HR_FORMAT_PARAMS(this), strong_code_roots_length);
       *failures = true;
     }
     return;
diff --git a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
index 68bdd76..4308fc0 100644
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp
@@ -1004,7 +1004,9 @@
 
 void HeapRegionRemSet::migrate_strong_code_roots() {
   assert(hr()->in_collection_set(), "only collection set regions");
-  assert(!hr()->isHumongous(), "not humongous regions");
+  assert(!hr()->isHumongous(),
+         err_msg("humongous region "HR_FORMAT" should not have been added to the collection set",
+                 HR_FORMAT_PARAMS(hr())));
 
   ResourceMark rm;
 
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp
index 996a522..90bf630 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.cpp
@@ -25,6 +25,7 @@
 #include "precompiled.hpp"
 #include "gc_implementation/parallelScavenge/adjoiningGenerations.hpp"
 #include "gc_implementation/parallelScavenge/adjoiningVirtualSpaces.hpp"
+#include "gc_implementation/parallelScavenge/generationSizer.hpp"
 #include "gc_implementation/parallelScavenge/parallelScavengeHeap.hpp"
 
 // If boundary moving is being used, create the young gen and old
@@ -32,15 +33,17 @@
 // the old behavior otherwise (with PSYoungGen and PSOldGen).
 
 AdjoiningGenerations::AdjoiningGenerations(ReservedSpace old_young_rs,
-                                           size_t init_low_byte_size,
-                                           size_t min_low_byte_size,
-                                           size_t max_low_byte_size,
-                                           size_t init_high_byte_size,
-                                           size_t min_high_byte_size,
-                                           size_t max_high_byte_size,
+                                           GenerationSizer* policy,
                                            size_t alignment) :
-  _virtual_spaces(old_young_rs, min_low_byte_size,
-                  min_high_byte_size, alignment) {
+  _virtual_spaces(old_young_rs, policy->min_gen1_size(),
+                  policy->min_gen0_size(), alignment) {
+  size_t init_low_byte_size = policy->initial_gen1_size();
+  size_t min_low_byte_size = policy->min_gen1_size();
+  size_t max_low_byte_size = policy->max_gen1_size();
+  size_t init_high_byte_size = policy->initial_gen0_size();
+  size_t min_high_byte_size = policy->min_gen0_size();
+  size_t max_high_byte_size = policy->max_gen0_size();
+
   assert(min_low_byte_size <= init_low_byte_size &&
          init_low_byte_size <= max_low_byte_size, "Parameter check");
   assert(min_high_byte_size <= init_high_byte_size &&
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp
index 70afb99..950baa1 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/adjoiningGenerations.hpp
@@ -28,6 +28,7 @@
 #include "gc_implementation/parallelScavenge/adjoiningVirtualSpaces.hpp"
 #include "gc_implementation/parallelScavenge/asPSOldGen.hpp"
 #include "gc_implementation/parallelScavenge/asPSYoungGen.hpp"
+#include "gc_implementation/parallelScavenge/generationSizer.hpp"
 
 
 // Contains two generations that both use an AdjoiningVirtualSpaces.
@@ -56,14 +57,7 @@
   bool request_young_gen_expansion(size_t desired_change_in_bytes);
 
  public:
-  AdjoiningGenerations(ReservedSpace rs,
-                       size_t init_low_byte_size,
-                       size_t min_low_byte_size,
-                       size_t max_low_byte_size,
-                       size_t init_high_byte_size,
-                       size_t min_high_byte_size,
-                       size_t max_high_bytes_size,
-                       size_t alignment);
+  AdjoiningGenerations(ReservedSpace rs, GenerationSizer* policy, size_t alignment);
 
   // Accessors
   PSYoungGen* young_gen() { return _young_gen; }
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp
index 39f5835..9d2e818 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSOldGen.cpp
@@ -54,7 +54,6 @@
                        int level) :
   PSOldGen(initial_size, min_size, size_limit, gen_name, level),
   _gen_size_limit(size_limit)
-
 {}
 
 ASPSOldGen::ASPSOldGen(PSVirtualSpace* vs,
@@ -65,13 +64,11 @@
                        int level) :
   PSOldGen(initial_size, min_size, size_limit, gen_name, level),
   _gen_size_limit(size_limit)
-
 {
   _virtual_space = vs;
 }
 
 void ASPSOldGen::initialize_work(const char* perf_data_name, int level) {
-
   PSOldGen::initialize_work(perf_data_name, level);
 
   // The old gen can grow to gen_size_limit().  _reserve reflects only
@@ -94,7 +91,7 @@
 
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
   size_t result =  gen_size_limit() - virtual_space()->committed_size();
-  size_t result_aligned = align_size_down(result, heap->old_gen_alignment());
+  size_t result_aligned = align_size_down(result, heap->generation_alignment());
   return result_aligned;
 }
 
@@ -105,7 +102,7 @@
   }
 
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
-  const size_t gen_alignment = heap->old_gen_alignment();
+  const size_t gen_alignment = heap->generation_alignment();
   PSAdaptiveSizePolicy* policy = heap->size_policy();
   const size_t working_size =
     used_in_bytes() + (size_t) policy->avg_promoted()->padded_average();
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp
index 73b6304..1057724 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/asPSYoungGen.cpp
@@ -70,13 +70,12 @@
 }
 
 size_t ASPSYoungGen::available_for_expansion() {
-
   size_t current_committed_size = virtual_space()->committed_size();
   assert((gen_size_limit() >= current_committed_size),
     "generation size limit is wrong");
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
   size_t result =  gen_size_limit() - current_committed_size;
-  size_t result_aligned = align_size_down(result, heap->young_gen_alignment());
+  size_t result_aligned = align_size_down(result, heap->generation_alignment());
   return result_aligned;
 }
 
@@ -85,7 +84,6 @@
 // Future implementations could check the survivors and if to_space is in the
 // right place (below from_space), take a chunk from to_space.
 size_t ASPSYoungGen::available_for_contraction() {
-
   size_t uncommitted_bytes = virtual_space()->uncommitted_size();
   if (uncommitted_bytes != 0) {
     return uncommitted_bytes;
@@ -94,8 +92,8 @@
   if (eden_space()->is_empty()) {
     // Respect the minimum size for eden and for the young gen as a whole.
     ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
-    const size_t eden_alignment = heap->intra_heap_alignment();
-    const size_t gen_alignment = heap->young_gen_alignment();
+    const size_t eden_alignment = heap->space_alignment();
+    const size_t gen_alignment = heap->generation_alignment();
 
     assert(eden_space()->capacity_in_bytes() >= eden_alignment,
       "Alignment is wrong");
@@ -121,7 +119,6 @@
       gclog_or_tty->print_cr("  gen_avail %d K", gen_avail/K);
     }
     return result_aligned;
-
   }
 
   return 0;
@@ -132,7 +129,7 @@
 // to_space can be.
 size_t ASPSYoungGen::available_to_live() {
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
-  const size_t alignment = heap->intra_heap_alignment();
+  const size_t alignment = heap->space_alignment();
 
   // Include any space that is committed but is not in eden.
   size_t available = pointer_delta(eden_space()->bottom(),
@@ -296,7 +293,7 @@
   assert(eden_start < from_start, "Cannot push into from_space");
 
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
-  const size_t alignment = heap->intra_heap_alignment();
+  const size_t alignment = heap->space_alignment();
   const bool maintain_minimum =
     (requested_eden_size + 2 * requested_survivor_size) <= min_gen_size();
 
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/generationSizer.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/generationSizer.cpp
new file mode 100644
index 0000000..e417cd4
--- /dev/null
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/generationSizer.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ *
+ */
+
+#include "precompiled.hpp"
+#include "gc_implementation/parallelScavenge/generationSizer.hpp"
+#include "memory/collectorPolicy.hpp"
+
+void GenerationSizer::trace_gen_sizes(const char* const str) {
+  if (TracePageSizes) {
+    tty->print_cr("%s:  " SIZE_FORMAT "," SIZE_FORMAT " "
+                  SIZE_FORMAT "," SIZE_FORMAT " "
+                  SIZE_FORMAT,
+                  str,
+                  _min_gen1_size / K, _max_gen1_size / K,
+                  _min_gen0_size / K, _max_gen0_size / K,
+                  _max_heap_byte_size / K);
+  }
+}
+
+void GenerationSizer::initialize_alignments() {
+  _space_alignment = _gen_alignment = default_gen_alignment();
+  _heap_alignment = compute_heap_alignment();
+}
+
+void GenerationSizer::initialize_flags() {
+  // Do basic sizing work
+  TwoGenerationCollectorPolicy::initialize_flags();
+
+  assert(UseSerialGC ||
+          !FLAG_IS_DEFAULT(ParallelGCThreads) ||
+          (ParallelGCThreads > 0),
+         "ParallelGCThreads should be set before flag initialization");
+
+  // The survivor ratio's are calculated "raw", unlike the
+  // default gc, which adds 2 to the ratio value. We need to
+  // make sure the values are valid before using them.
+  if (MinSurvivorRatio < 3) {
+    FLAG_SET_ERGO(uintx, MinSurvivorRatio, 3);
+  }
+
+  if (InitialSurvivorRatio < 3) {
+    FLAG_SET_ERGO(uintx, InitialSurvivorRatio, 3);
+  }
+}
+
+void GenerationSizer::initialize_size_info() {
+  trace_gen_sizes("ps heap raw");
+  const size_t page_sz = os::page_size_for_region(_min_heap_byte_size,
+                                                  _max_heap_byte_size,
+                                                  8);
+
+  // Can a page size be something else than a power of two?
+  assert(is_power_of_2((intptr_t)page_sz), "must be a power of 2");
+  size_t new_alignment = round_to(page_sz, _gen_alignment);
+  if (new_alignment != _gen_alignment) {
+    _gen_alignment = new_alignment;
+    _space_alignment = new_alignment;
+    // Redo everything from the start
+    initialize_flags();
+  }
+  TwoGenerationCollectorPolicy::initialize_size_info();
+
+  trace_gen_sizes("ps heap rnd");
+}
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/generationSizer.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/generationSizer.hpp
index f7be767..eb8c78a 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/generationSizer.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/generationSizer.hpp
@@ -31,41 +31,17 @@
 // TwoGenerationCollectorPolicy. Lets reuse it!
 
 class GenerationSizer : public TwoGenerationCollectorPolicy {
- public:
-  GenerationSizer() {
-    // Partial init only!
-    initialize_flags();
-    initialize_size_info();
-  }
+ private:
 
-  void initialize_flags() {
-    // Do basic sizing work
-    TwoGenerationCollectorPolicy::initialize_flags();
+  void trace_gen_sizes(const char* const str);
 
-    assert(UseSerialGC ||
-           !FLAG_IS_DEFAULT(ParallelGCThreads) ||
-           (ParallelGCThreads > 0),
-           "ParallelGCThreads should be set before flag initialization");
+  // The alignment used for boundary between young gen and old gen
+  static size_t default_gen_alignment() { return 64 * K * HeapWordSize; }
 
-    // The survivor ratio's are calculated "raw", unlike the
-    // default gc, which adds 2 to the ratio value. We need to
-    // make sure the values are valid before using them.
-    if (MinSurvivorRatio < 3) {
-      MinSurvivorRatio = 3;
-    }
+ protected:
 
-    if (InitialSurvivorRatio < 3) {
-      InitialSurvivorRatio = 3;
-    }
-  }
-
-  size_t min_young_gen_size() { return _min_gen0_size; }
-  size_t young_gen_size()     { return _initial_gen0_size; }
-  size_t max_young_gen_size() { return _max_gen0_size; }
-
-  size_t min_old_gen_size()   { return _min_gen1_size; }
-  size_t old_gen_size()       { return _initial_gen1_size; }
-  size_t max_old_gen_size()   { return _max_gen1_size; }
+  void initialize_alignments();
+  void initialize_flags();
+  void initialize_size_info();
 };
-
 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_GENERATIONSIZER_HPP
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp
index e5d5229..f93f2e8 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp
@@ -52,76 +52,20 @@
 ParallelScavengeHeap* ParallelScavengeHeap::_psh = NULL;
 GCTaskManager* ParallelScavengeHeap::_gc_task_manager = NULL;
 
-static void trace_gen_sizes(const char* const str,
-                            size_t og_min, size_t og_max,
-                            size_t yg_min, size_t yg_max)
-{
-  if (TracePageSizes) {
-    tty->print_cr("%s:  " SIZE_FORMAT "," SIZE_FORMAT " "
-                  SIZE_FORMAT "," SIZE_FORMAT " "
-                  SIZE_FORMAT,
-                  str,
-                  og_min / K, og_max / K,
-                  yg_min / K, yg_max / K,
-                  (og_max + yg_max) / K);
-  }
-}
-
 jint ParallelScavengeHeap::initialize() {
   CollectedHeap::pre_initialize();
 
-  // Cannot be initialized until after the flags are parsed
-  // GenerationSizer flag_parser;
+  // Initialize collector policy
   _collector_policy = new GenerationSizer();
+  _collector_policy->initialize_all();
 
-  size_t yg_min_size = _collector_policy->min_young_gen_size();
-  size_t yg_max_size = _collector_policy->max_young_gen_size();
-  size_t og_min_size = _collector_policy->min_old_gen_size();
-  size_t og_max_size = _collector_policy->max_old_gen_size();
+  const size_t heap_size = _collector_policy->max_heap_byte_size();
 
-  trace_gen_sizes("ps heap raw",
-                  og_min_size, og_max_size,
-                  yg_min_size, yg_max_size);
-
-  const size_t og_page_sz = os::page_size_for_region(yg_min_size + og_min_size,
-                                                     yg_max_size + og_max_size,
-                                                     8);
-
-  const size_t og_align = set_alignment(_old_gen_alignment,   og_page_sz);
-  const size_t yg_align = set_alignment(_young_gen_alignment, og_page_sz);
-
-  // Update sizes to reflect the selected page size(s).
-  //
-  // NEEDS_CLEANUP.  The default TwoGenerationCollectorPolicy uses NewRatio; it
-  // should check UseAdaptiveSizePolicy.  Changes from generationSizer could
-  // move to the common code.
-  yg_min_size = align_size_up(yg_min_size, yg_align);
-  yg_max_size = align_size_up(yg_max_size, yg_align);
-  size_t yg_cur_size =
-    align_size_up(_collector_policy->young_gen_size(), yg_align);
-  yg_cur_size = MAX2(yg_cur_size, yg_min_size);
-
-  og_min_size = align_size_up(og_min_size, og_align);
-  // Align old gen size down to preserve specified heap size.
-  assert(og_align == yg_align, "sanity");
-  og_max_size = align_size_down(og_max_size, og_align);
-  og_max_size = MAX2(og_max_size, og_min_size);
-  size_t og_cur_size =
-    align_size_down(_collector_policy->old_gen_size(), og_align);
-  og_cur_size = MAX2(og_cur_size, og_min_size);
-
-  trace_gen_sizes("ps heap rnd",
-                  og_min_size, og_max_size,
-                  yg_min_size, yg_max_size);
-
-  const size_t heap_size = og_max_size + yg_max_size;
-
-  ReservedSpace heap_rs = Universe::reserve_heap(heap_size, og_align);
-
+  ReservedSpace heap_rs = Universe::reserve_heap(heap_size, _collector_policy->heap_alignment());
   MemTracker::record_virtual_memory_type((address)heap_rs.base(), mtJavaHeap);
 
-  os::trace_page_sizes("ps main", og_min_size + yg_min_size,
-                       og_max_size + yg_max_size, og_page_sz,
+  os::trace_page_sizes("ps main", _collector_policy->min_heap_byte_size(),
+                       heap_size, generation_alignment(),
                        heap_rs.base(),
                        heap_rs.size());
   if (!heap_rs.is_reserved()) {
@@ -142,12 +86,6 @@
     return JNI_ENOMEM;
   }
 
-  // Initial young gen size is 4 Mb
-  //
-  // XXX - what about flag_parser.young_gen_size()?
-  const size_t init_young_size = align_size_up(4 * M, yg_align);
-  yg_cur_size = MAX2(MIN2(init_young_size, yg_max_size), yg_cur_size);
-
   // Make up the generations
   // Calculate the maximum size that a generation can grow.  This
   // includes growth into the other generation.  Note that the
@@ -157,14 +95,7 @@
   double max_gc_pause_sec = ((double) MaxGCPauseMillis)/1000.0;
   double max_gc_minor_pause_sec = ((double) MaxGCMinorPauseMillis)/1000.0;
 
-  _gens = new AdjoiningGenerations(heap_rs,
-                                   og_cur_size,
-                                   og_min_size,
-                                   og_max_size,
-                                   yg_cur_size,
-                                   yg_min_size,
-                                   yg_max_size,
-                                   yg_align);
+  _gens = new AdjoiningGenerations(heap_rs, _collector_policy, generation_alignment());
 
   _old_gen = _gens->old_gen();
   _young_gen = _gens->young_gen();
@@ -176,7 +107,7 @@
     new PSAdaptiveSizePolicy(eden_capacity,
                              initial_promo_size,
                              young_gen()->to_space()->capacity_in_bytes(),
-                             intra_heap_alignment(),
+                             _collector_policy->gen_alignment(),
                              max_gc_pause_sec,
                              max_gc_minor_pause_sec,
                              GCTimeRatio
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp
index 4e458ef..51f40d8 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp
@@ -25,6 +25,7 @@
 #ifndef SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP
 #define SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP
 
+#include "gc_implementation/parallelScavenge/generationSizer.hpp"
 #include "gc_implementation/parallelScavenge/objectStartArray.hpp"
 #include "gc_implementation/parallelScavenge/psGCAdaptivePolicyCounters.hpp"
 #include "gc_implementation/parallelScavenge/psOldGen.hpp"
@@ -32,14 +33,12 @@
 #include "gc_implementation/shared/gcPolicyCounters.hpp"
 #include "gc_implementation/shared/gcWhen.hpp"
 #include "gc_interface/collectedHeap.inline.hpp"
+#include "memory/collectorPolicy.hpp"
 #include "utilities/ostream.hpp"
 
 class AdjoiningGenerations;
-class CollectorPolicy;
 class GCHeapSummary;
 class GCTaskManager;
-class GenerationSizer;
-class CollectorPolicy;
 class PSAdaptiveSizePolicy;
 class PSHeapSummary;
 
@@ -50,24 +49,20 @@
   static PSOldGen*   _old_gen;
 
   // Sizing policy for entire heap
-  static PSAdaptiveSizePolicy* _size_policy;
-  static PSGCAdaptivePolicyCounters*   _gc_policy_counters;
+  static PSAdaptiveSizePolicy*       _size_policy;
+  static PSGCAdaptivePolicyCounters* _gc_policy_counters;
 
   static ParallelScavengeHeap* _psh;
 
-  size_t _young_gen_alignment;
-  size_t _old_gen_alignment;
-
   GenerationSizer* _collector_policy;
 
-  inline size_t set_alignment(size_t& var, size_t val);
-
   // Collection of generations that are adjacent in the
   // space reserved for the heap.
   AdjoiningGenerations* _gens;
   unsigned int _death_march_count;
 
-  static GCTaskManager*          _gc_task_manager;      // The task manager.
+  // The task manager
+  static GCTaskManager* _gc_task_manager;
 
   void trace_heap(GCWhen::Type when, GCTracer* tracer);
 
@@ -80,16 +75,7 @@
   HeapWord* mem_allocate_old_gen(size_t size);
 
  public:
-  ParallelScavengeHeap() : CollectedHeap() {
-    _death_march_count = 0;
-    set_alignment(_young_gen_alignment, intra_heap_alignment());
-    set_alignment(_old_gen_alignment, intra_heap_alignment());
-  }
-
-  // Return the (conservative) maximum heap alignment
-  static size_t conservative_max_heap_alignment() {
-    return intra_heap_alignment();
-  }
+  ParallelScavengeHeap() : CollectedHeap(), _death_march_count(0) { }
 
   // For use by VM operations
   enum CollectionType {
@@ -103,8 +89,8 @@
 
   virtual CollectorPolicy* collector_policy() const { return (CollectorPolicy*) _collector_policy; }
 
-  static PSYoungGen* young_gen()     { return _young_gen; }
-  static PSOldGen* old_gen()         { return _old_gen; }
+  static PSYoungGen* young_gen() { return _young_gen; }
+  static PSOldGen* old_gen()     { return _old_gen; }
 
   virtual PSAdaptiveSizePolicy* size_policy() { return _size_policy; }
 
@@ -121,13 +107,15 @@
 
   void post_initialize();
   void update_counters();
-  // The alignment used for the various generations.
-  size_t young_gen_alignment() const { return _young_gen_alignment; }
-  size_t old_gen_alignment()  const { return _old_gen_alignment; }
 
-  // The alignment used for eden and survivors within the young gen
-  // and for boundary between young gen and old gen.
-  static size_t intra_heap_alignment() { return 64 * K * HeapWordSize; }
+  // The alignment used for the various areas
+  size_t space_alignment()      { return _collector_policy->space_alignment(); }
+  size_t generation_alignment() { return _collector_policy->gen_alignment(); }
+
+  // Return the (conservative) maximum heap alignment
+  static size_t conservative_max_heap_alignment() {
+    return CollectorPolicy::compute_heap_alignment();
+  }
 
   size_t capacity() const;
   size_t used() const;
@@ -157,16 +145,15 @@
   virtual bool is_in_partial_collection(const void *p);
 #endif
 
-  bool is_in_young(oop p);        // reserved part
-  bool is_in_old(oop p);          // reserved part
+  bool is_in_young(oop p);  // reserved part
+  bool is_in_old(oop p);    // reserved part
 
   // Memory allocation.   "gc_time_limit_was_exceeded" will
   // be set to true if the adaptive size policy determine that
   // an excessive amount of time is being spent doing collections
   // and caused a NULL to be returned.  If a NULL is not returned,
   // "gc_time_limit_was_exceeded" has an undefined meaning.
-  HeapWord* mem_allocate(size_t size,
-                         bool* gc_overhead_limit_was_exceeded);
+  HeapWord* mem_allocate(size_t size, bool* gc_overhead_limit_was_exceeded);
 
   // Allocation attempt(s) during a safepoint. It should never be called
   // to allocate a new TLAB as this allocation might be satisfied out
@@ -257,17 +244,10 @@
 
   // Call these in sequential code around the processing of strong roots.
   class ParStrongRootsScope : public MarkingCodeBlobClosure::MarkScope {
-  public:
+   public:
     ParStrongRootsScope();
     ~ParStrongRootsScope();
   };
 };
 
-inline size_t ParallelScavengeHeap::set_alignment(size_t& var, size_t val)
-{
-  assert(is_power_of_2((intptr_t)val), "must be a power of 2");
-  var = round_to(val, intra_heap_alignment());
-  return var;
-}
-
 #endif // SHARE_VM_GC_IMPLEMENTATION_PARALLELSCAVENGE_PARALLELSCAVENGEHEAP_HPP
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
index 8d41181..a2f2fa7 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.cpp
@@ -37,7 +37,7 @@
 PSAdaptiveSizePolicy::PSAdaptiveSizePolicy(size_t init_eden_size,
                                            size_t init_promo_size,
                                            size_t init_survivor_size,
-                                           size_t intra_generation_alignment,
+                                           size_t space_alignment,
                                            double gc_pause_goal_sec,
                                            double gc_minor_pause_goal_sec,
                                            uint gc_cost_ratio) :
@@ -46,9 +46,8 @@
                         init_survivor_size,
                         gc_pause_goal_sec,
                         gc_cost_ratio),
-     _collection_cost_margin_fraction(AdaptiveSizePolicyCollectionCostMargin/
-       100.0),
-     _intra_generation_alignment(intra_generation_alignment),
+     _collection_cost_margin_fraction(AdaptiveSizePolicyCollectionCostMargin / 100.0),
+     _space_alignment(space_alignment),
      _live_at_last_full_gc(init_promo_size),
      _gc_minor_pause_goal_sec(gc_minor_pause_goal_sec),
      _latest_major_mutator_interval_seconds(0),
@@ -353,11 +352,10 @@
   }
 
   // Align everything and make a final limit check
-  const size_t alignment = _intra_generation_alignment;
-  desired_eden_size  = align_size_up(desired_eden_size, alignment);
-  desired_eden_size  = MAX2(desired_eden_size, alignment);
+  desired_eden_size  = align_size_up(desired_eden_size, _space_alignment);
+  desired_eden_size  = MAX2(desired_eden_size, _space_alignment);
 
-  eden_limit  = align_size_down(eden_limit, alignment);
+  eden_limit  = align_size_down(eden_limit, _space_alignment);
 
   // And one last limit check, now that we've aligned things.
   if (desired_eden_size > eden_limit) {
@@ -561,11 +559,10 @@
   }
 
   // Align everything and make a final limit check
-  const size_t alignment = _intra_generation_alignment;
-  desired_promo_size = align_size_up(desired_promo_size, alignment);
-  desired_promo_size = MAX2(desired_promo_size, alignment);
+  desired_promo_size = align_size_up(desired_promo_size, _space_alignment);
+  desired_promo_size = MAX2(desired_promo_size, _space_alignment);
 
-  promo_limit = align_size_down(promo_limit, alignment);
+  promo_limit = align_size_down(promo_limit, _space_alignment);
 
   // And one last limit check, now that we've aligned things.
   desired_promo_size = MIN2(desired_promo_size, promo_limit);
@@ -650,7 +647,7 @@
     }
     // If the desired eden size is as small as it will get,
     // try to adjust the old gen size.
-    if (*desired_eden_size_ptr <= _intra_generation_alignment) {
+    if (*desired_eden_size_ptr <= _space_alignment) {
       // Vary the old gen size to reduce the young gen pause.  This
       // may not be a good idea.  This is just a test.
       if (minor_pause_old_estimator()->decrement_will_decrease()) {
@@ -755,7 +752,7 @@
       // If the promo size is at the minimum (i.e., the old gen
       // size will not actually decrease), consider changing the
       // young gen size.
-      if (*desired_promo_size_ptr < _intra_generation_alignment) {
+      if (*desired_promo_size_ptr < _space_alignment) {
         // If increasing the young generation will decrease the old gen
         // pause, do it.
         // During startup there is noise in the statistics for deciding
@@ -1066,24 +1063,24 @@
 
 size_t PSAdaptiveSizePolicy::eden_increment_aligned_up(size_t cur_eden) {
   size_t result = eden_increment(cur_eden, YoungGenerationSizeIncrement);
-  return align_size_up(result, _intra_generation_alignment);
+  return align_size_up(result, _space_alignment);
 }
 
 size_t PSAdaptiveSizePolicy::eden_increment_aligned_down(size_t cur_eden) {
   size_t result = eden_increment(cur_eden);
-  return align_size_down(result, _intra_generation_alignment);
+  return align_size_down(result, _space_alignment);
 }
 
 size_t PSAdaptiveSizePolicy::eden_increment_with_supplement_aligned_up(
   size_t cur_eden) {
   size_t result = eden_increment(cur_eden,
     YoungGenerationSizeIncrement + _young_gen_size_increment_supplement);
-  return align_size_up(result, _intra_generation_alignment);
+  return align_size_up(result, _space_alignment);
 }
 
 size_t PSAdaptiveSizePolicy::eden_decrement_aligned_down(size_t cur_eden) {
   size_t eden_heap_delta = eden_decrement(cur_eden);
-  return align_size_down(eden_heap_delta, _intra_generation_alignment);
+  return align_size_down(eden_heap_delta, _space_alignment);
 }
 
 size_t PSAdaptiveSizePolicy::eden_decrement(size_t cur_eden) {
@@ -1105,24 +1102,24 @@
 
 size_t PSAdaptiveSizePolicy::promo_increment_aligned_up(size_t cur_promo) {
   size_t result =  promo_increment(cur_promo, TenuredGenerationSizeIncrement);
-  return align_size_up(result, _intra_generation_alignment);
+  return align_size_up(result, _space_alignment);
 }
 
 size_t PSAdaptiveSizePolicy::promo_increment_aligned_down(size_t cur_promo) {
   size_t result =  promo_increment(cur_promo, TenuredGenerationSizeIncrement);
-  return align_size_down(result, _intra_generation_alignment);
+  return align_size_down(result, _space_alignment);
 }
 
 size_t PSAdaptiveSizePolicy::promo_increment_with_supplement_aligned_up(
   size_t cur_promo) {
   size_t result =  promo_increment(cur_promo,
     TenuredGenerationSizeIncrement + _old_gen_size_increment_supplement);
-  return align_size_up(result, _intra_generation_alignment);
+  return align_size_up(result, _space_alignment);
 }
 
 size_t PSAdaptiveSizePolicy::promo_decrement_aligned_down(size_t cur_promo) {
   size_t promo_heap_delta = promo_decrement(cur_promo);
-  return align_size_down(promo_heap_delta, _intra_generation_alignment);
+  return align_size_down(promo_heap_delta, _space_alignment);
 }
 
 size_t PSAdaptiveSizePolicy::promo_decrement(size_t cur_promo) {
@@ -1135,9 +1132,9 @@
                                              bool is_survivor_overflow,
                                              uint tenuring_threshold,
                                              size_t survivor_limit) {
-  assert(survivor_limit >= _intra_generation_alignment,
+  assert(survivor_limit >= _space_alignment,
          "survivor_limit too small");
-  assert((size_t)align_size_down(survivor_limit, _intra_generation_alignment)
+  assert((size_t)align_size_down(survivor_limit, _space_alignment)
          == survivor_limit, "survivor_limit not aligned");
 
   // This method is called even if the tenuring threshold and survivor
@@ -1201,8 +1198,8 @@
   // We're trying to pad the survivor size as little as possible without
   // overflowing the survivor spaces.
   size_t target_size = align_size_up((size_t)_avg_survived->padded_average(),
-                                     _intra_generation_alignment);
-  target_size = MAX2(target_size, _intra_generation_alignment);
+                                     _space_alignment);
+  target_size = MAX2(target_size, _space_alignment);
 
   if (target_size > survivor_limit) {
     // Target size is bigger than we can handle. Let's also reduce
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp
index d88af2b..3389911 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psAdaptiveSizePolicy.hpp
@@ -91,7 +91,7 @@
   // for making ergonomic decisions.
   double _latest_major_mutator_interval_seconds;
 
-  const size_t _intra_generation_alignment; // alignment for eden, survivors
+  const size_t _space_alignment; // alignment for eden, survivors
 
   const double _gc_minor_pause_goal_sec;    // goal for maximum minor gc pause
 
@@ -229,7 +229,7 @@
   PSAdaptiveSizePolicy(size_t init_eden_size,
                        size_t init_promo_size,
                        size_t init_survivor_size,
-                       size_t intra_generation_alignment,
+                       size_t space_alignment,
                        double gc_pause_goal_sec,
                        double gc_minor_pause_goal_sec,
                        uint gc_time_ratio);
@@ -378,7 +378,7 @@
     // remain almost full anyway (top() will be near end(), but there will be a
     // large filler object at the bottom).
     const size_t sz = gen_size / MinSurvivorRatio;
-    const size_t alignment = _intra_generation_alignment;
+    const size_t alignment = _space_alignment;
     return sz > alignment ? align_size_down(sz, alignment) : alignment;
   }
 
diff --git a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp
index 2d86975..c1f5c29 100644
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psYoungGen.cpp
@@ -103,7 +103,7 @@
 
   // Compute maximum space sizes for performance counters
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
-  size_t alignment = heap->intra_heap_alignment();
+  size_t alignment = heap->space_alignment();
   size_t size = virtual_space()->reserved_size();
 
   size_t max_survivor_size;
@@ -156,8 +156,9 @@
   assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
 
   // Compute sizes
-  size_t alignment = heap->intra_heap_alignment();
+  size_t alignment = heap->space_alignment();
   size_t size = virtual_space()->committed_size();
+  assert(size >= 3 * alignment, "Young space is not large enough for eden + 2 survivors");
 
   size_t survivor_size = size / InitialSurvivorRatio;
   survivor_size = align_size_down(survivor_size, alignment);
@@ -207,7 +208,7 @@
 #ifndef PRODUCT
 void PSYoungGen::space_invariants() {
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
-  const size_t alignment = heap->intra_heap_alignment();
+  const size_t alignment = heap->space_alignment();
 
   // Currently, our eden size cannot shrink to zero
   guarantee(eden_space()->capacity_in_bytes() >= alignment, "eden too small");
@@ -491,7 +492,7 @@
   char* to_end     = (char*)to_space()->end();
 
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
-  const size_t alignment = heap->intra_heap_alignment();
+  const size_t alignment = heap->space_alignment();
   const bool maintain_minimum =
     (requested_eden_size + 2 * requested_survivor_size) <= min_gen_size();
 
@@ -840,8 +841,8 @@
 size_t PSYoungGen::available_to_live() {
   size_t delta_in_survivor = 0;
   ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
-  const size_t space_alignment = heap->intra_heap_alignment();
-  const size_t gen_alignment = heap->young_gen_alignment();
+  const size_t space_alignment = heap->space_alignment();
+  const size_t gen_alignment = heap->generation_alignment();
 
   MutableSpace* space_shrinking = NULL;
   if (from_space()->end() > to_space()->end()) {
diff --git a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp
index bbf5419..742e3b7 100644
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp
@@ -469,6 +469,10 @@
   fill_with_object_impl(start, words, zap);
 }
 
+void CollectedHeap::post_initialize() {
+  collector_policy()->post_heap_initialize();
+}
+
 HeapWord* CollectedHeap::allocate_new_tlab(size_t size) {
   guarantee(false, "thread-local allocation buffers not supported");
   return NULL;
diff --git a/hotspot/src/share/vm/interpreter/linkResolver.cpp b/hotspot/src/share/vm/interpreter/linkResolver.cpp
index f88dd15..f829a96 100644
--- a/hotspot/src/share/vm/interpreter/linkResolver.cpp
+++ b/hotspot/src/share/vm/interpreter/linkResolver.cpp
@@ -152,11 +152,13 @@
     // Could be an Object method inherited into an interface, but still a vtable call.
     kind = CallInfo::vtable_call;
   } else if (!resolved_klass->is_interface()) {
-    // A miranda method.  Compute the vtable index.
+    // A default or miranda method.  Compute the vtable index.
     ResourceMark rm;
     klassVtable* vt = InstanceKlass::cast(resolved_klass)->vtable();
-    index = vt->index_of_miranda(resolved_method->name(),
-                                 resolved_method->signature());
+    index = LinkResolver::vtable_index_of_interface_method(resolved_klass,
+                           resolved_method);
+    assert(index >= 0 , "we should have valid vtable index at this point");
+
     kind = CallInfo::vtable_call;
   } else if (resolved_method->has_vtable_index()) {
     // Can occur if an interface redeclares a method of Object.
@@ -279,7 +281,7 @@
 }
 
 int LinkResolver::vtable_index_of_interface_method(KlassHandle klass,
-                                          methodHandle resolved_method, TRAPS) {
+                                          methodHandle resolved_method) {
 
   int vtable_index = Method::invalid_vtable_index;
   Symbol* name = resolved_method->name();
@@ -295,7 +297,7 @@
   }
   if (vtable_index == Method::invalid_vtable_index) {
     // get vtable_index for miranda methods
-    ResourceMark rm(THREAD);
+    ResourceMark rm;
     klassVtable *vt = InstanceKlass::cast(klass())->vtable();
     vtable_index = vt->index_of_miranda(name, signature);
   }
@@ -691,7 +693,7 @@
                   );
     resolved_method->access_flags().print_on(tty);
     if (resolved_method->is_default_method()) {
-      tty->print("default");
+      tty->print("default ");
     }
     if (resolved_method->is_overpass()) {
       tty->print("overpass");
@@ -937,7 +939,7 @@
                );
     resolved_method->access_flags().print_on(tty);
     if (resolved_method->is_default_method()) {
-      tty->print("default");
+      tty->print("default ");
     }
     if (resolved_method->is_overpass()) {
       tty->print("overpass");
@@ -1017,7 +1019,7 @@
                 );
     sel_method->access_flags().print_on(tty);
     if (sel_method->is_default_method()) {
-      tty->print("default");
+      tty->print("default ");
     }
     if (sel_method->is_overpass()) {
       tty->print("overpass");
@@ -1081,7 +1083,7 @@
                   );
     resolved_method->access_flags().print_on(tty);
     if (resolved_method->is_default_method()) {
-      tty->print("default");
+      tty->print("default ");
     }
     if (resolved_method->is_overpass()) {
       tty->print("overpass");
@@ -1118,7 +1120,7 @@
   // do lookup based on receiver klass using the vtable index
   if (resolved_method->method_holder()->is_interface()) { // miranda method
     vtable_index = vtable_index_of_interface_method(resolved_klass,
-                           resolved_method, CHECK);
+                           resolved_method);
     assert(vtable_index >= 0 , "we should have valid vtable index at this point");
 
     InstanceKlass* inst = InstanceKlass::cast(recv_klass());
@@ -1175,7 +1177,7 @@
                   );
     selected_method->access_flags().print_on(tty);
     if (selected_method->is_default_method()) {
-      tty->print("default");
+      tty->print("default ");
     }
     if (selected_method->is_overpass()) {
       tty->print("overpass");
@@ -1268,14 +1270,6 @@
                                                       sel_method->name(),
                                                       sel_method->signature()));
   }
-  // setup result
-  if (!resolved_method->has_itable_index()) {
-    int vtable_index = resolved_method->vtable_index();
-    assert(vtable_index == sel_method->vtable_index(), "sanity check");
-    result.set_virtual(resolved_klass, recv_klass, resolved_method, sel_method, vtable_index, CHECK);
-    return;
-  }
-  int itable_index = resolved_method()->itable_index();
 
   if (TraceItables && Verbose) {
     ResourceMark rm(THREAD);
@@ -1289,14 +1283,22 @@
                   );
     sel_method->access_flags().print_on(tty);
     if (sel_method->is_default_method()) {
-      tty->print("default");
+      tty->print("default ");
     }
     if (sel_method->is_overpass()) {
       tty->print("overpass");
     }
     tty->cr();
   }
-  result.set_interface(resolved_klass, recv_klass, resolved_method, sel_method, itable_index, CHECK);
+  // setup result
+  if (!resolved_method->has_itable_index()) {
+    int vtable_index = resolved_method->vtable_index();
+    assert(vtable_index == sel_method->vtable_index(), "sanity check");
+    result.set_virtual(resolved_klass, recv_klass, resolved_method, sel_method, vtable_index, CHECK);
+  } else {
+    int itable_index = resolved_method()->itable_index();
+    result.set_interface(resolved_klass, recv_klass, resolved_method, sel_method, itable_index, CHECK);
+  }
 }
 
 
diff --git a/hotspot/src/share/vm/interpreter/linkResolver.hpp b/hotspot/src/share/vm/interpreter/linkResolver.hpp
index 339cb92..1411d90 100644
--- a/hotspot/src/share/vm/interpreter/linkResolver.hpp
+++ b/hotspot/src/share/vm/interpreter/linkResolver.hpp
@@ -130,7 +130,6 @@
   static void lookup_polymorphic_method         (methodHandle& result, KlassHandle klass, Symbol* name, Symbol* signature,
                                                  KlassHandle current_klass, Handle *appendix_result_or_null, Handle *method_type_result, TRAPS);
 
-  static int vtable_index_of_interface_method(KlassHandle klass, methodHandle resolved_method, TRAPS);
   static void resolve_klass           (KlassHandle& result, constantPoolHandle  pool, int index, TRAPS);
 
   static void resolve_pool  (KlassHandle& resolved_klass, Symbol*& method_name, Symbol*& method_signature, KlassHandle& current_klass, constantPoolHandle pool, int index, TRAPS);
@@ -186,6 +185,7 @@
   static methodHandle resolve_interface_call_or_null(KlassHandle receiver_klass, KlassHandle resolved_klass, Symbol* method_name, Symbol* method_signature, KlassHandle current_klass);
   static methodHandle resolve_static_call_or_null   (KlassHandle resolved_klass, Symbol* method_name, Symbol* method_signature, KlassHandle current_klass);
   static methodHandle resolve_special_call_or_null  (KlassHandle resolved_klass, Symbol* method_name, Symbol* method_signature, KlassHandle current_klass);
+  static int vtable_index_of_interface_method(KlassHandle klass, methodHandle resolved_method);
 
   // same as above for compile-time resolution; returns vtable_index if current_klass if linked
   static int resolve_virtual_vtable_index  (KlassHandle receiver_klass, KlassHandle resolved_klass, Symbol* method_name, Symbol* method_signature, KlassHandle current_klass);
diff --git a/hotspot/src/share/vm/interpreter/rewriter.cpp b/hotspot/src/share/vm/interpreter/rewriter.cpp
index 249fca3..82dfade 100644
--- a/hotspot/src/share/vm/interpreter/rewriter.cpp
+++ b/hotspot/src/share/vm/interpreter/rewriter.cpp
@@ -70,21 +70,21 @@
 }
 
 // Unrewrite the bytecodes if an error occurs.
-void Rewriter::restore_bytecodes() {
+void Rewriter::restore_bytecodes(TRAPS) {
   int len = _methods->length();
 
   for (int i = len-1; i >= 0; i--) {
     Method* method = _methods->at(i);
-    scan_method(method, true);
+    scan_method(method, true, CHECK);
   }
 }
 
 // Creates a constant pool cache given a CPC map
 void Rewriter::make_constant_pool_cache(TRAPS) {
-  const int length = _cp_cache_map.length();
   ClassLoaderData* loader_data = _pool->pool_holder()->class_loader_data();
   ConstantPoolCache* cache =
-      ConstantPoolCache::allocate(loader_data, length, _cp_cache_map,
+      ConstantPoolCache::allocate(loader_data, _cp_cache_map,
+                                  _invokedynamic_cp_cache_map,
                                   _invokedynamic_references_map, CHECK);
 
   // initialize object cache in constant pool
@@ -154,6 +154,31 @@
   }
 }
 
+// If the constant pool entry for invokespecial is InterfaceMethodref,
+// we need to add a separate cpCache entry for its resolution, because it is
+// different than the resolution for invokeinterface with InterfaceMethodref.
+// These cannot share cpCache entries.  It's unclear if all invokespecial to
+// InterfaceMethodrefs would resolve to the same thing so a new cpCache entry
+// is created for each one.  This was added with lambda.
+void Rewriter::rewrite_invokespecial(address bcp, int offset, bool reverse, TRAPS) {
+  static int count = 0;
+  address p = bcp + offset;
+  if (!reverse) {
+    int cp_index = Bytes::get_Java_u2(p);
+    int cache_index = add_invokespecial_cp_cache_entry(cp_index);
+    if (cache_index != (int)(jushort) cache_index) {
+      THROW_MSG(vmSymbols::java_lang_InternalError(),
+                "This classfile overflows invokespecial for interfaces "
+                "and cannot be loaded");
+    }
+    Bytes::put_native_u2(p, cache_index);
+  } else {
+    int cache_index = Bytes::get_native_u2(p);
+    int cp_index = cp_cache_entry_pool_index(cache_index);
+    Bytes::put_Java_u2(p, cp_index);
+  }
+}
+
 
 // Adjust the invocation bytecode for a signature-polymorphic method (MethodHandle.invoke, etc.)
 void Rewriter::maybe_rewrite_invokehandle(address opc, int cp_index, int cache_index, bool reverse) {
@@ -203,7 +228,7 @@
   if (!reverse) {
     int cp_index = Bytes::get_Java_u2(p);
     int cache_index = add_invokedynamic_cp_cache_entry(cp_index);
-    add_invokedynamic_resolved_references_entries(cp_index, cache_index);
+    int resolved_index = add_invokedynamic_resolved_references_entries(cp_index, cache_index);
     // Replace the trailing four bytes with a CPC index for the dynamic
     // call site.  Unlike other CPC entries, there is one per bytecode,
     // not just one per distinct CP entry.  In other words, the
@@ -212,13 +237,20 @@
     // all these entries.  That is the main reason invokedynamic
     // must have a five-byte instruction format.  (Of course, other JVM
     // implementations can use the bytes for other purposes.)
-    Bytes::put_native_u4(p, ConstantPool::encode_invokedynamic_index(cache_index));
     // Note: We use native_u4 format exclusively for 4-byte indexes.
+    Bytes::put_native_u4(p, ConstantPool::encode_invokedynamic_index(cache_index));
+    // add the bcp in case we need to patch this bytecode if we also find a
+    // invokespecial/InterfaceMethodref in the bytecode stream
+    _patch_invokedynamic_bcps->push(p);
+    _patch_invokedynamic_refs->push(resolved_index);
   } else {
-    // callsite index
     int cache_index = ConstantPool::decode_invokedynamic_index(
                         Bytes::get_native_u4(p));
-    int cp_index = cp_cache_entry_pool_index(cache_index);
+    // We will reverse the bytecode rewriting _after_ adjusting them.
+    // Adjust the cache index by offset to the invokedynamic entries in the
+    // cpCache plus the delta if the invokedynamic bytecodes were adjusted.
+    cache_index = cp_cache_delta() + _first_iteration_cp_cache_limit;
+    int cp_index = invokedynamic_cp_cache_entry_pool_index(cache_index);
     assert(_pool->tag_at(cp_index).is_invoke_dynamic(), "wrong index");
     // zero out 4 bytes
     Bytes::put_Java_u4(p, 0);
@@ -226,6 +258,34 @@
   }
 }
 
+void Rewriter::patch_invokedynamic_bytecodes() {
+  // If the end of the cp_cache is the same as after initializing with the
+  // cpool, nothing needs to be done.  Invokedynamic bytecodes are at the
+  // correct offsets. ie. no invokespecials added
+  int delta = cp_cache_delta();
+  if (delta > 0) {
+    int length = _patch_invokedynamic_bcps->length();
+    assert(length == _patch_invokedynamic_refs->length(),
+           "lengths should match");
+    for (int i = 0; i < length; i++) {
+      address p = _patch_invokedynamic_bcps->at(i);
+      int cache_index = ConstantPool::decode_invokedynamic_index(
+                          Bytes::get_native_u4(p));
+      Bytes::put_native_u4(p, ConstantPool::encode_invokedynamic_index(cache_index + delta));
+
+      // invokedynamic resolved references map also points to cp cache and must
+      // add delta to each.
+      int resolved_index = _patch_invokedynamic_refs->at(i);
+      for (int entry = 0; entry < ConstantPoolCacheEntry::_indy_resolved_references_entries; entry++) {
+        assert(_invokedynamic_references_map[resolved_index+entry] == cache_index,
+             "should be the same index");
+        _invokedynamic_references_map.at_put(resolved_index+entry,
+                                             cache_index + delta);
+      }
+    }
+  }
+}
+
 
 // Rewrite some ldc bytecodes to _fast_aldc
 void Rewriter::maybe_rewrite_ldc(address bcp, int offset, bool is_wide,
@@ -269,7 +329,7 @@
 
 
 // Rewrites a method given the index_map information
-void Rewriter::scan_method(Method* method, bool reverse) {
+void Rewriter::scan_method(Method* method, bool reverse, TRAPS) {
 
   int nof_jsrs = 0;
   bool has_monitor_bytecodes = false;
@@ -329,12 +389,25 @@
 #endif
           break;
         }
+
+        case Bytecodes::_invokespecial  : {
+          int offset = prefix_length + 1;
+          address p = bcp + offset;
+          int cp_index = Bytes::get_Java_u2(p);
+          // InterfaceMethodref
+          if (_pool->tag_at(cp_index).is_interface_method()) {
+            rewrite_invokespecial(bcp, offset, reverse, CHECK);
+          } else {
+            rewrite_member_reference(bcp, offset, reverse);
+          }
+          break;
+        }
+
         case Bytecodes::_getstatic      : // fall through
         case Bytecodes::_putstatic      : // fall through
         case Bytecodes::_getfield       : // fall through
         case Bytecodes::_putfield       : // fall through
         case Bytecodes::_invokevirtual  : // fall through
-        case Bytecodes::_invokespecial  : // fall through
         case Bytecodes::_invokestatic   :
         case Bytecodes::_invokeinterface:
         case Bytecodes::_invokehandle   : // if reverse=true
@@ -426,16 +499,21 @@
 
   for (int i = len-1; i >= 0; i--) {
     Method* method = _methods->at(i);
-    scan_method(method);
+    scan_method(method, false, CHECK);  // If you get an error here,
+                                        // there is no reversing bytecodes
   }
 
+  // May have to fix invokedynamic bytecodes if invokestatic/InterfaceMethodref
+  // entries had to be added.
+  patch_invokedynamic_bytecodes();
+
   // allocate constant pool cache, now that we've seen all the bytecodes
   make_constant_pool_cache(THREAD);
 
   // Restore bytecodes to their unrewritten state if there are exceptions
   // rewriting bytecodes or allocating the cpCache
   if (HAS_PENDING_EXCEPTION) {
-    restore_bytecodes();
+    restore_bytecodes(CATCH);
     return;
   }
 
@@ -452,7 +530,7 @@
       // relocating bytecodes.  If some are relocated, that is ok because that
       // doesn't affect constant pool to cpCache rewriting.
       if (HAS_PENDING_EXCEPTION) {
-        restore_bytecodes();
+        restore_bytecodes(CATCH);
         return;
       }
       // Method might have gotten rewritten.
diff --git a/hotspot/src/share/vm/interpreter/rewriter.hpp b/hotspot/src/share/vm/interpreter/rewriter.hpp
index 5606798..79fc99f 100644
--- a/hotspot/src/share/vm/interpreter/rewriter.hpp
+++ b/hotspot/src/share/vm/interpreter/rewriter.hpp
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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,55 +46,102 @@
   intArray            _method_handle_invokers;
   int                 _resolved_reference_limit;
 
+  // For mapping invokedynamic bytecodes, which are discovered during method
+  // scanning.  The invokedynamic entries are added at the end of the cpCache.
+  // If there are any invokespecial/InterfaceMethodref special case bytecodes,
+  // these entries are added before invokedynamic entries so that the
+  // invokespecial bytecode 16 bit index doesn't overflow.
+  intStack            _invokedynamic_cp_cache_map;
+
+  // For patching.
+  GrowableArray<address>* _patch_invokedynamic_bcps;
+  GrowableArray<int>*     _patch_invokedynamic_refs;
+
   void init_maps(int length) {
     _cp_map.initialize(length, -1);
     // Choose an initial value large enough that we don't get frequent
     // calls to grow().
-    _cp_cache_map.initialize(length / 2);
+    _cp_cache_map.initialize(length/2);
     // Also cache resolved objects, in another different cache.
     _reference_map.initialize(length, -1);
-    _resolved_references_map.initialize(length / 2);
-    _invokedynamic_references_map.initialize(length / 2);
+    _resolved_references_map.initialize(length/2);
+    _invokedynamic_references_map.initialize(length/2);
     _resolved_reference_limit = -1;
-    DEBUG_ONLY(_cp_cache_index_limit = -1);
+    _first_iteration_cp_cache_limit = -1;
+
+    // invokedynamic specific fields
+    _invokedynamic_cp_cache_map.initialize(length/4);
+    _patch_invokedynamic_bcps = new GrowableArray<address>(length/4);
+    _patch_invokedynamic_refs = new GrowableArray<int>(length/4);
   }
 
-  int _cp_cache_index_limit;
+  int _first_iteration_cp_cache_limit;
   void record_map_limits() {
-#ifdef ASSERT
-    // Record initial size of the two arrays generated for the CP cache:
-    _cp_cache_index_limit = _cp_cache_map.length();
-#endif //ASSERT
+    // Record initial size of the two arrays generated for the CP cache
+    // relative to walking the constant pool.
+    _first_iteration_cp_cache_limit = _cp_cache_map.length();
     _resolved_reference_limit = _resolved_references_map.length();
   }
 
+  int cp_cache_delta() {
+    // How many cp cache entries were added since recording map limits after
+    // cp cache initialization?
+    assert(_first_iteration_cp_cache_limit != -1, "only valid after first iteration");
+    return _cp_cache_map.length() - _first_iteration_cp_cache_limit;
+  }
+
   int  cp_entry_to_cp_cache(int i) { assert(has_cp_cache(i), "oob"); return _cp_map[i]; }
   bool has_cp_cache(int i) { return (uint)i < (uint)_cp_map.length() && _cp_map[i] >= 0; }
 
+  int add_map_entry(int cp_index, intArray* cp_map, intStack* cp_cache_map) {
+    assert(cp_map->at(cp_index) == -1, "not twice on same cp_index");
+    int cache_index = cp_cache_map->append(cp_index);
+    cp_map->at_put(cp_index, cache_index);
+    return cache_index;
+  }
+
   int add_cp_cache_entry(int cp_index) {
     assert(_pool->tag_at(cp_index).value() != JVM_CONSTANT_InvokeDynamic, "use indy version");
-    assert(_cp_map[cp_index] == -1, "not twice on same cp_index");
-    assert(_cp_cache_index_limit == -1, "do not add cache entries after first iteration");
-    int cache_index = _cp_cache_map.append(cp_index);
-    _cp_map.at_put(cp_index, cache_index);
+    assert(_first_iteration_cp_cache_limit == -1, "do not add cache entries after first iteration");
+    int cache_index = add_map_entry(cp_index, &_cp_map, &_cp_cache_map);
     assert(cp_entry_to_cp_cache(cp_index) == cache_index, "");
     assert(cp_cache_entry_pool_index(cache_index) == cp_index, "");
     return cache_index;
   }
 
-  // add a new CP cache entry beyond the normal cache (for invokedynamic only)
   int add_invokedynamic_cp_cache_entry(int cp_index) {
     assert(_pool->tag_at(cp_index).value() == JVM_CONSTANT_InvokeDynamic, "use non-indy version");
-    assert(_cp_map[cp_index] == -1, "do not map from cp_index");
-    assert(_cp_cache_index_limit >= 0, "add indy cache entries after first iteration");
+    assert(_first_iteration_cp_cache_limit >= 0, "add indy cache entries after first iteration");
+    // add to the invokedynamic index map.
+    int cache_index = _invokedynamic_cp_cache_map.append(cp_index);
+    // do not update _cp_map, since the mapping is one-to-many
+    assert(invokedynamic_cp_cache_entry_pool_index(cache_index) == cp_index, "");
+    // this index starts at one but in the bytecode it's appended to the end.
+    return cache_index + _first_iteration_cp_cache_limit;
+  }
+
+  int invokedynamic_cp_cache_entry_pool_index(int cache_index) {
+    int cp_index = _invokedynamic_cp_cache_map[cache_index];
+    return cp_index;
+  }
+
+  // add a new CP cache entry beyond the normal cache for the special case of
+  // invokespecial with InterfaceMethodref as cpool operand.
+  int add_invokespecial_cp_cache_entry(int cp_index) {
+    assert(_first_iteration_cp_cache_limit >= 0, "add these special cache entries after first iteration");
+    // Don't add InterfaceMethodref if it already exists at the end.
+    for (int i = _first_iteration_cp_cache_limit; i < _cp_cache_map.length(); i++) {
+     if (cp_cache_entry_pool_index(i) == cp_index) {
+       return i;
+     }
+    }
     int cache_index = _cp_cache_map.append(cp_index);
-    assert(cache_index >= _cp_cache_index_limit, "");
+    assert(cache_index >= _first_iteration_cp_cache_limit, "");
     // do not update _cp_map, since the mapping is one-to-many
     assert(cp_cache_entry_pool_index(cache_index) == cp_index, "");
     return cache_index;
   }
 
-  // fix duplicated code later
   int  cp_entry_to_resolved_references(int cp_index) const {
     assert(has_entry_in_resolved_references(cp_index), "oob");
     return _reference_map[cp_index];
@@ -105,10 +152,7 @@
 
   // add a new entry to the resolved_references map
   int add_resolved_references_entry(int cp_index) {
-    assert(_reference_map[cp_index] == -1, "not twice on same cp_index");
-    assert(_resolved_reference_limit == -1, "do not add CP refs after first iteration");
-    int ref_index = _resolved_references_map.append(cp_index);
-    _reference_map.at_put(cp_index, ref_index);
+    int ref_index = add_map_entry(cp_index, &_reference_map, &_resolved_references_map);
     assert(cp_entry_to_resolved_references(cp_index) == ref_index, "");
     return ref_index;
   }
@@ -137,7 +181,7 @@
   // Access the contents of _cp_cache_map to determine CP cache layout.
   int cp_cache_entry_pool_index(int cache_index) {
     int cp_index = _cp_cache_map[cache_index];
-      return cp_index;
+    return cp_index;
   }
 
   // All the work goes in here:
@@ -145,14 +189,18 @@
 
   void compute_index_maps();
   void make_constant_pool_cache(TRAPS);
-  void scan_method(Method* m, bool reverse = false);
+  void scan_method(Method* m, bool reverse, TRAPS);
   void rewrite_Object_init(methodHandle m, TRAPS);
-  void rewrite_member_reference(address bcp, int offset, bool reverse = false);
-  void maybe_rewrite_invokehandle(address opc, int cp_index, int cache_index, bool reverse = false);
-  void rewrite_invokedynamic(address bcp, int offset, bool reverse = false);
-  void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse = false);
+  void rewrite_member_reference(address bcp, int offset, bool reverse);
+  void maybe_rewrite_invokehandle(address opc, int cp_index, int cache_index, bool reverse);
+  void rewrite_invokedynamic(address bcp, int offset, bool reverse);
+  void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse);
+  void rewrite_invokespecial(address bcp, int offset, bool reverse, TRAPS);
+
+  void patch_invokedynamic_bytecodes();
+
   // Revert bytecodes in case of an exception.
-  void restore_bytecodes();
+  void restore_bytecodes(TRAPS);
 
   static methodHandle rewrite_jsrs(methodHandle m, TRAPS);
  public:
diff --git a/hotspot/src/share/vm/memory/collectorPolicy.cpp b/hotspot/src/share/vm/memory/collectorPolicy.cpp
index a3c4663..204011b 100644
--- a/hotspot/src/share/vm/memory/collectorPolicy.cpp
+++ b/hotspot/src/share/vm/memory/collectorPolicy.cpp
@@ -47,54 +47,107 @@
 
 // CollectorPolicy methods.
 
-void CollectorPolicy::initialize_flags() {
-  assert(_max_alignment >= _min_alignment,
-         err_msg("max_alignment: " SIZE_FORMAT " less than min_alignment: " SIZE_FORMAT,
-                 _max_alignment, _min_alignment));
-  assert(_max_alignment % _min_alignment == 0,
-         err_msg("max_alignment: " SIZE_FORMAT " not aligned by min_alignment: " SIZE_FORMAT,
-                 _max_alignment, _min_alignment));
+CollectorPolicy::CollectorPolicy() :
+    _space_alignment(0),
+    _heap_alignment(0),
+    _initial_heap_byte_size(InitialHeapSize),
+    _max_heap_byte_size(MaxHeapSize),
+    _min_heap_byte_size(Arguments::min_heap_size()),
+    _max_heap_size_cmdline(false),
+    _size_policy(NULL),
+    _should_clear_all_soft_refs(false),
+    _all_soft_refs_clear(false)
+{}
 
-  if (MaxHeapSize < InitialHeapSize) {
-    vm_exit_during_initialization("Incompatible initial and maximum heap sizes specified");
-  }
-
-  MinHeapDeltaBytes = align_size_up(MinHeapDeltaBytes, _min_alignment);
+#ifdef ASSERT
+void CollectorPolicy::assert_flags() {
+  assert(InitialHeapSize <= MaxHeapSize, "Ergonomics decided on incompatible initial and maximum heap sizes");
+  assert(InitialHeapSize % _heap_alignment == 0, "InitialHeapSize alignment");
+  assert(MaxHeapSize % _heap_alignment == 0, "MaxHeapSize alignment");
 }
 
-void CollectorPolicy::initialize_size_info() {
-  // User inputs from -mx and ms must be aligned
-  _min_heap_byte_size = align_size_up(Arguments::min_heap_size(), _min_alignment);
-  _initial_heap_byte_size = align_size_up(InitialHeapSize, _min_alignment);
-  _max_heap_byte_size = align_size_up(MaxHeapSize, _max_alignment);
+void CollectorPolicy::assert_size_info() {
+  assert(InitialHeapSize == _initial_heap_byte_size, "Discrepancy between InitialHeapSize flag and local storage");
+  assert(MaxHeapSize == _max_heap_byte_size, "Discrepancy between MaxHeapSize flag and local storage");
+  assert(_max_heap_byte_size >= _min_heap_byte_size, "Ergonomics decided on incompatible minimum and maximum heap sizes");
+  assert(_initial_heap_byte_size >= _min_heap_byte_size, "Ergonomics decided on incompatible initial and minimum heap sizes");
+  assert(_max_heap_byte_size >= _initial_heap_byte_size, "Ergonomics decided on incompatible initial and maximum heap sizes");
+  assert(_min_heap_byte_size % _heap_alignment == 0, "min_heap_byte_size alignment");
+  assert(_initial_heap_byte_size % _heap_alignment == 0, "initial_heap_byte_size alignment");
+  assert(_max_heap_byte_size % _heap_alignment == 0, "max_heap_byte_size alignment");
+}
+#endif // ASSERT
+
+void CollectorPolicy::initialize_flags() {
+  assert(_space_alignment != 0, "Space alignment not set up properly");
+  assert(_heap_alignment != 0, "Heap alignment not set up properly");
+  assert(_heap_alignment >= _space_alignment,
+         err_msg("heap_alignment: " SIZE_FORMAT " less than space_alignment: " SIZE_FORMAT,
+                 _heap_alignment, _space_alignment));
+  assert(_heap_alignment % _space_alignment == 0,
+         err_msg("heap_alignment: " SIZE_FORMAT " not aligned by space_alignment: " SIZE_FORMAT,
+                 _heap_alignment, _space_alignment));
+
+  if (FLAG_IS_CMDLINE(MaxHeapSize)) {
+    if (FLAG_IS_CMDLINE(InitialHeapSize) && InitialHeapSize > MaxHeapSize) {
+      vm_exit_during_initialization("Initial heap size set to a larger value than the maximum heap size");
+    }
+    if (_min_heap_byte_size != 0 && MaxHeapSize < _min_heap_byte_size) {
+      vm_exit_during_initialization("Incompatible minimum and maximum heap sizes specified");
+    }
+    _max_heap_size_cmdline = true;
+  }
 
   // Check heap parameter properties
-  if (_initial_heap_byte_size < M) {
+  if (InitialHeapSize < M) {
     vm_exit_during_initialization("Too small initial heap");
   }
-  // Check heap parameter properties
   if (_min_heap_byte_size < M) {
     vm_exit_during_initialization("Too small minimum heap");
   }
-  if (_initial_heap_byte_size <= NewSize) {
-     // make sure there is at least some room in old space
-    vm_exit_during_initialization("Too small initial heap for new size specified");
+
+  // User inputs from -Xmx and -Xms must be aligned
+  _min_heap_byte_size = align_size_up(_min_heap_byte_size, _heap_alignment);
+  uintx aligned_initial_heap_size = align_size_up(InitialHeapSize, _heap_alignment);
+  uintx aligned_max_heap_size = align_size_up(MaxHeapSize, _heap_alignment);
+
+  // Write back to flags if the values changed
+  if (aligned_initial_heap_size != InitialHeapSize) {
+    FLAG_SET_ERGO(uintx, InitialHeapSize, aligned_initial_heap_size);
   }
-  if (_max_heap_byte_size < _min_heap_byte_size) {
-    vm_exit_during_initialization("Incompatible minimum and maximum heap sizes specified");
-  }
-  if (_initial_heap_byte_size < _min_heap_byte_size) {
-    vm_exit_during_initialization("Incompatible minimum and initial heap sizes specified");
-  }
-  if (_max_heap_byte_size < _initial_heap_byte_size) {
-    vm_exit_during_initialization("Incompatible initial and maximum heap sizes specified");
+  if (aligned_max_heap_size != MaxHeapSize) {
+    FLAG_SET_ERGO(uintx, MaxHeapSize, aligned_max_heap_size);
   }
 
+  if (FLAG_IS_CMDLINE(InitialHeapSize) && _min_heap_byte_size != 0 &&
+      InitialHeapSize < _min_heap_byte_size) {
+    vm_exit_during_initialization("Incompatible minimum and initial heap sizes specified");
+  }
+  if (!FLAG_IS_DEFAULT(InitialHeapSize) && InitialHeapSize > MaxHeapSize) {
+    FLAG_SET_ERGO(uintx, MaxHeapSize, InitialHeapSize);
+  } else if (!FLAG_IS_DEFAULT(MaxHeapSize) && InitialHeapSize > MaxHeapSize) {
+    FLAG_SET_ERGO(uintx, InitialHeapSize, MaxHeapSize);
+    if (InitialHeapSize < _min_heap_byte_size) {
+      _min_heap_byte_size = InitialHeapSize;
+    }
+  }
+
+  _initial_heap_byte_size = InitialHeapSize;
+  _max_heap_byte_size = MaxHeapSize;
+
+  FLAG_SET_ERGO(uintx, MinHeapDeltaBytes, align_size_up(MinHeapDeltaBytes, _space_alignment));
+
+  DEBUG_ONLY(CollectorPolicy::assert_flags();)
+}
+
+void CollectorPolicy::initialize_size_info() {
   if (PrintGCDetails && Verbose) {
     gclog_or_tty->print_cr("Minimum heap " SIZE_FORMAT "  Initial heap "
       SIZE_FORMAT "  Maximum heap " SIZE_FORMAT,
       _min_heap_byte_size, _initial_heap_byte_size, _max_heap_byte_size);
   }
+
+  DEBUG_ONLY(CollectorPolicy::assert_size_info();)
 }
 
 bool CollectorPolicy::use_should_clear_all_soft_refs(bool v) {
@@ -105,7 +158,6 @@
 
 GenRemSet* CollectorPolicy::create_rem_set(MemRegion whole_heap,
                                            int max_covered_regions) {
-  assert(rem_set_name() == GenRemSet::CardTable, "unrecognized GenRemSet::Name");
   return new CardTableRS(whole_heap, max_covered_regions);
 }
 
@@ -119,7 +171,7 @@
   _all_soft_refs_clear = true;
 }
 
-size_t CollectorPolicy::compute_max_alignment() {
+size_t CollectorPolicy::compute_heap_alignment() {
   // The card marking array and the offset arrays for old generations are
   // committed in os pages as well. Make sure they are entirely full (to
   // avoid partial page problems), e.g. if 512 bytes heap corresponds to 1
@@ -146,18 +198,21 @@
 
 // GenCollectorPolicy methods.
 
+GenCollectorPolicy::GenCollectorPolicy() :
+    _min_gen0_size(0),
+    _initial_gen0_size(0),
+    _max_gen0_size(0),
+    _gen_alignment(0),
+    _generations(NULL)
+{}
+
 size_t GenCollectorPolicy::scale_by_NewRatio_aligned(size_t base_size) {
-  size_t x = base_size / (NewRatio+1);
-  size_t new_gen_size = x > _min_alignment ?
-                     align_size_down(x, _min_alignment) :
-                     _min_alignment;
-  return new_gen_size;
+  return align_size_down_bounded(base_size / (NewRatio + 1), _gen_alignment);
 }
 
 size_t GenCollectorPolicy::bound_minus_alignment(size_t desired_size,
                                                  size_t maximum_size) {
-  size_t alignment = _min_alignment;
-  size_t max_minus = maximum_size - alignment;
+  size_t max_minus = maximum_size - _gen_alignment;
   return desired_size < max_minus ? desired_size : max_minus;
 }
 
@@ -165,7 +220,7 @@
 void GenCollectorPolicy::initialize_size_policy(size_t init_eden_size,
                                                 size_t init_promo_size,
                                                 size_t init_survivor_size) {
-  const double max_gc_pause_sec = ((double) MaxGCPauseMillis)/1000.0;
+  const double max_gc_pause_sec = ((double) MaxGCPauseMillis) / 1000.0;
   _size_policy = new AdaptiveSizePolicy(init_eden_size,
                                         init_promo_size,
                                         init_survivor_size,
@@ -173,100 +228,181 @@
                                         GCTimeRatio);
 }
 
-void GenCollectorPolicy::initialize_flags() {
-  // All sizes must be multiples of the generation granularity.
-  _min_alignment = (uintx) Generation::GenGrain;
-  _max_alignment = compute_max_alignment();
+size_t GenCollectorPolicy::young_gen_size_lower_bound() {
+  // The young generation must be aligned and have room for eden + two survivors
+  return align_size_up(3 * _space_alignment, _gen_alignment);
+}
 
+#ifdef ASSERT
+void GenCollectorPolicy::assert_flags() {
+  CollectorPolicy::assert_flags();
+  assert(NewSize >= _min_gen0_size, "Ergonomics decided on a too small young gen size");
+  assert(NewSize <= MaxNewSize, "Ergonomics decided on incompatible initial and maximum young gen sizes");
+  assert(FLAG_IS_DEFAULT(MaxNewSize) || MaxNewSize < MaxHeapSize, "Ergonomics decided on incompatible maximum young gen and heap sizes");
+  assert(NewSize % _gen_alignment == 0, "NewSize alignment");
+  assert(FLAG_IS_DEFAULT(MaxNewSize) || MaxNewSize % _gen_alignment == 0, "MaxNewSize alignment");
+}
+
+void TwoGenerationCollectorPolicy::assert_flags() {
+  GenCollectorPolicy::assert_flags();
+  assert(OldSize + NewSize <= MaxHeapSize, "Ergonomics decided on incompatible generation and heap sizes");
+  assert(OldSize % _gen_alignment == 0, "OldSize alignment");
+}
+
+void GenCollectorPolicy::assert_size_info() {
+  CollectorPolicy::assert_size_info();
+  // GenCollectorPolicy::initialize_size_info may update the MaxNewSize
+  assert(MaxNewSize < MaxHeapSize, "Ergonomics decided on incompatible maximum young and heap sizes");
+  assert(NewSize == _initial_gen0_size, "Discrepancy between NewSize flag and local storage");
+  assert(MaxNewSize == _max_gen0_size, "Discrepancy between MaxNewSize flag and local storage");
+  assert(_min_gen0_size <= _initial_gen0_size, "Ergonomics decided on incompatible minimum and initial young gen sizes");
+  assert(_initial_gen0_size <= _max_gen0_size, "Ergonomics decided on incompatible initial and maximum young gen sizes");
+  assert(_min_gen0_size % _gen_alignment == 0, "_min_gen0_size alignment");
+  assert(_initial_gen0_size % _gen_alignment == 0, "_initial_gen0_size alignment");
+  assert(_max_gen0_size % _gen_alignment == 0, "_max_gen0_size alignment");
+}
+
+void TwoGenerationCollectorPolicy::assert_size_info() {
+  GenCollectorPolicy::assert_size_info();
+  assert(OldSize == _initial_gen1_size, "Discrepancy between OldSize flag and local storage");
+  assert(_min_gen1_size <= _initial_gen1_size, "Ergonomics decided on incompatible minimum and initial old gen sizes");
+  assert(_initial_gen1_size <= _max_gen1_size, "Ergonomics decided on incompatible initial and maximum old gen sizes");
+  assert(_max_gen1_size % _gen_alignment == 0, "_max_gen1_size alignment");
+  assert(_initial_gen1_size % _gen_alignment == 0, "_initial_gen1_size alignment");
+  assert(_max_heap_byte_size <= (_max_gen0_size + _max_gen1_size), "Total maximum heap sizes must be sum of generation maximum sizes");
+}
+#endif // ASSERT
+
+void GenCollectorPolicy::initialize_flags() {
   CollectorPolicy::initialize_flags();
 
-  // All generational heaps have a youngest gen; handle those flags here.
+  assert(_gen_alignment != 0, "Generation alignment not set up properly");
+  assert(_heap_alignment >= _gen_alignment,
+         err_msg("heap_alignment: " SIZE_FORMAT " less than gen_alignment: " SIZE_FORMAT,
+                 _heap_alignment, _gen_alignment));
+  assert(_gen_alignment % _space_alignment == 0,
+         err_msg("gen_alignment: " SIZE_FORMAT " not aligned by space_alignment: " SIZE_FORMAT,
+                 _gen_alignment, _space_alignment));
+  assert(_heap_alignment % _gen_alignment == 0,
+         err_msg("heap_alignment: " SIZE_FORMAT " not aligned by gen_alignment: " SIZE_FORMAT,
+                 _heap_alignment, _gen_alignment));
 
-  // Adjust max size parameters
+  // All generational heaps have a youngest gen; handle those flags here
+
+  // Make sure the heap is large enough for two generations
+  uintx smallest_new_size = young_gen_size_lower_bound();
+  uintx smallest_heap_size = align_size_up(smallest_new_size + align_size_up(_space_alignment, _gen_alignment),
+                                           _heap_alignment);
+  if (MaxHeapSize < smallest_heap_size) {
+    FLAG_SET_ERGO(uintx, MaxHeapSize, smallest_heap_size);
+    _max_heap_byte_size = MaxHeapSize;
+  }
+  // If needed, synchronize _min_heap_byte size and _initial_heap_byte_size
+  if (_min_heap_byte_size < smallest_heap_size) {
+    _min_heap_byte_size = smallest_heap_size;
+    if (InitialHeapSize < _min_heap_byte_size) {
+      FLAG_SET_ERGO(uintx, InitialHeapSize, smallest_heap_size);
+      _initial_heap_byte_size = smallest_heap_size;
+    }
+  }
+
+  // Now take the actual NewSize into account. We will silently increase NewSize
+  // if the user specified a smaller value.
+  smallest_new_size = MAX2(smallest_new_size, (uintx)align_size_down(NewSize, _gen_alignment));
+  if (smallest_new_size != NewSize) {
+    FLAG_SET_ERGO(uintx, NewSize, smallest_new_size);
+  }
+  _initial_gen0_size = NewSize;
+
+  if (!FLAG_IS_DEFAULT(MaxNewSize)) {
+    uintx min_new_size = MAX2(_gen_alignment, _min_gen0_size);
+
+    if (MaxNewSize >= MaxHeapSize) {
+      // Make sure there is room for an old generation
+      uintx smaller_max_new_size = MaxHeapSize - _gen_alignment;
+      if (FLAG_IS_CMDLINE(MaxNewSize)) {
+        warning("MaxNewSize (" SIZE_FORMAT "k) is equal to or greater than the entire "
+                "heap (" SIZE_FORMAT "k).  A new max generation size of " SIZE_FORMAT "k will be used.",
+                MaxNewSize/K, MaxHeapSize/K, smaller_max_new_size/K);
+      }
+      FLAG_SET_ERGO(uintx, MaxNewSize, smaller_max_new_size);
+      if (NewSize > MaxNewSize) {
+        FLAG_SET_ERGO(uintx, NewSize, MaxNewSize);
+        _initial_gen0_size = NewSize;
+      }
+    } else if (MaxNewSize < min_new_size) {
+      FLAG_SET_ERGO(uintx, MaxNewSize, min_new_size);
+    } else if (!is_size_aligned(MaxNewSize, _gen_alignment)) {
+      FLAG_SET_ERGO(uintx, MaxNewSize, align_size_down(MaxNewSize, _gen_alignment));
+    }
+    _max_gen0_size = MaxNewSize;
+  }
+
   if (NewSize > MaxNewSize) {
-    MaxNewSize = NewSize;
+    // At this point this should only happen if the user specifies a large NewSize and/or
+    // a small (but not too small) MaxNewSize.
+    if (FLAG_IS_CMDLINE(MaxNewSize)) {
+      warning("NewSize (" SIZE_FORMAT "k) is greater than the MaxNewSize (" SIZE_FORMAT "k). "
+              "A new max generation size of " SIZE_FORMAT "k will be used.",
+              NewSize/K, MaxNewSize/K, NewSize/K);
+    }
+    FLAG_SET_ERGO(uintx, MaxNewSize, NewSize);
+    _max_gen0_size = MaxNewSize;
   }
-  NewSize = align_size_down(NewSize, _min_alignment);
-  MaxNewSize = align_size_down(MaxNewSize, _min_alignment);
 
-  // Check validity of heap flags
-  assert(NewSize     % _min_alignment == 0, "eden space alignment");
-  assert(MaxNewSize  % _min_alignment == 0, "survivor space alignment");
-
-  if (NewSize < 3 * _min_alignment) {
-     // make sure there room for eden and two survivor spaces
-    vm_exit_during_initialization("Too small new size specified");
-  }
   if (SurvivorRatio < 1 || NewRatio < 1) {
     vm_exit_during_initialization("Invalid young gen ratio specified");
   }
+
+  DEBUG_ONLY(GenCollectorPolicy::assert_flags();)
 }
 
 void TwoGenerationCollectorPolicy::initialize_flags() {
   GenCollectorPolicy::initialize_flags();
 
-  OldSize = align_size_down(OldSize, _min_alignment);
+  if (!is_size_aligned(OldSize, _gen_alignment)) {
+    FLAG_SET_ERGO(uintx, OldSize, align_size_down(OldSize, _gen_alignment));
+  }
 
-  if (FLAG_IS_CMDLINE(OldSize) && FLAG_IS_DEFAULT(NewSize)) {
+  if (FLAG_IS_CMDLINE(OldSize) && FLAG_IS_DEFAULT(MaxHeapSize)) {
     // NewRatio will be used later to set the young generation size so we use
     // it to calculate how big the heap should be based on the requested OldSize
     // and NewRatio.
     assert(NewRatio > 0, "NewRatio should have been set up earlier");
     size_t calculated_heapsize = (OldSize / NewRatio) * (NewRatio + 1);
 
-    calculated_heapsize = align_size_up(calculated_heapsize, _max_alignment);
-    MaxHeapSize = calculated_heapsize;
-    InitialHeapSize = calculated_heapsize;
+    calculated_heapsize = align_size_up(calculated_heapsize, _heap_alignment);
+    FLAG_SET_ERGO(uintx, MaxHeapSize, calculated_heapsize);
+    _max_heap_byte_size = MaxHeapSize;
+    FLAG_SET_ERGO(uintx, InitialHeapSize, calculated_heapsize);
+    _initial_heap_byte_size = InitialHeapSize;
   }
-  MaxHeapSize = align_size_up(MaxHeapSize, _max_alignment);
 
   // adjust max heap size if necessary
   if (NewSize + OldSize > MaxHeapSize) {
-    if (FLAG_IS_CMDLINE(MaxHeapSize)) {
+    if (_max_heap_size_cmdline) {
       // somebody set a maximum heap size with the intention that we should not
       // exceed it. Adjust New/OldSize as necessary.
       uintx calculated_size = NewSize + OldSize;
       double shrink_factor = (double) MaxHeapSize / calculated_size;
-      // align
-      NewSize = align_size_down((uintx) (NewSize * shrink_factor), _min_alignment);
-      // OldSize is already aligned because above we aligned MaxHeapSize to
-      // _max_alignment, and we just made sure that NewSize is aligned to
-      // _min_alignment. In initialize_flags() we verified that _max_alignment
-      // is a multiple of _min_alignment.
-      OldSize = MaxHeapSize - NewSize;
-    } else {
-      MaxHeapSize = NewSize + OldSize;
-    }
-  }
-  // need to do this again
-  MaxHeapSize = align_size_up(MaxHeapSize, _max_alignment);
+      uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment);
+      FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size));
+      _initial_gen0_size = NewSize;
 
-  // adjust max heap size if necessary
-  if (NewSize + OldSize > MaxHeapSize) {
-    if (FLAG_IS_CMDLINE(MaxHeapSize)) {
-      // somebody set a maximum heap size with the intention that we should not
-      // exceed it. Adjust New/OldSize as necessary.
-      uintx calculated_size = NewSize + OldSize;
-      double shrink_factor = (double) MaxHeapSize / calculated_size;
-      // align
-      NewSize = align_size_down((uintx) (NewSize * shrink_factor), _min_alignment);
       // OldSize is already aligned because above we aligned MaxHeapSize to
-      // _max_alignment, and we just made sure that NewSize is aligned to
-      // _min_alignment. In initialize_flags() we verified that _max_alignment
-      // is a multiple of _min_alignment.
-      OldSize = MaxHeapSize - NewSize;
+      // _heap_alignment, and we just made sure that NewSize is aligned to
+      // _gen_alignment. In initialize_flags() we verified that _heap_alignment
+      // is a multiple of _gen_alignment.
+      FLAG_SET_ERGO(uintx, OldSize, MaxHeapSize - NewSize);
     } else {
-      MaxHeapSize = NewSize + OldSize;
+      FLAG_SET_ERGO(uintx, MaxHeapSize, align_size_up(NewSize + OldSize, _heap_alignment));
+      _max_heap_byte_size = MaxHeapSize;
     }
   }
-  // need to do this again
-  MaxHeapSize = align_size_up(MaxHeapSize, _max_alignment);
 
   always_do_update_barrier = UseConcMarkSweepGC;
 
-  // Check validity of heap flags
-  assert(OldSize     % _min_alignment == 0, "old space alignment");
-  assert(MaxHeapSize % _max_alignment == 0, "maximum heap alignment");
+  DEBUG_ONLY(TwoGenerationCollectorPolicy::assert_flags();)
 }
 
 // Values set on the command line win over any ergonomically
@@ -281,7 +417,7 @@
 void GenCollectorPolicy::initialize_size_info() {
   CollectorPolicy::initialize_size_info();
 
-  // _min_alignment is used for alignment within a generation.
+  // _space_alignment is used for alignment within a generation.
   // There is additional alignment done down stream for some
   // collectors that sometimes causes unwanted rounding up of
   // generations sizes.
@@ -289,35 +425,8 @@
   // Determine maximum size of gen0
 
   size_t max_new_size = 0;
-  if (FLAG_IS_CMDLINE(MaxNewSize) || FLAG_IS_ERGO(MaxNewSize)) {
-    if (MaxNewSize < _min_alignment) {
-      max_new_size = _min_alignment;
-    }
-    if (MaxNewSize >= _max_heap_byte_size) {
-      max_new_size = align_size_down(_max_heap_byte_size - _min_alignment,
-                                     _min_alignment);
-      warning("MaxNewSize (" SIZE_FORMAT "k) is equal to or "
-        "greater than the entire heap (" SIZE_FORMAT "k).  A "
-        "new generation size of " SIZE_FORMAT "k will be used.",
-        MaxNewSize/K, _max_heap_byte_size/K, max_new_size/K);
-    } else {
-      max_new_size = align_size_down(MaxNewSize, _min_alignment);
-    }
-
-  // The case for FLAG_IS_ERGO(MaxNewSize) could be treated
-  // specially at this point to just use an ergonomically set
-  // MaxNewSize to set max_new_size.  For cases with small
-  // heaps such a policy often did not work because the MaxNewSize
-  // was larger than the entire heap.  The interpretation given
-  // to ergonomically set flags is that the flags are set
-  // by different collectors for their own special needs but
-  // are not allowed to badly shape the heap.  This allows the
-  // different collectors to decide what's best for themselves
-  // without having to factor in the overall heap shape.  It
-  // can be the case in the future that the collectors would
-  // only make "wise" ergonomics choices and this policy could
-  // just accept those choices.  The choices currently made are
-  // not always "wise".
+  if (!FLAG_IS_DEFAULT(MaxNewSize)) {
+    max_new_size = MaxNewSize;
   } else {
     max_new_size = scale_by_NewRatio_aligned(_max_heap_byte_size);
     // Bound the maximum size by NewSize below (since it historically
@@ -386,11 +495,22 @@
     _min_gen0_size = MIN2(_min_gen0_size, _initial_gen0_size);
   }
 
+  // Write back to flags if necessary
+  if (NewSize != _initial_gen0_size) {
+    FLAG_SET_ERGO(uintx, NewSize, _initial_gen0_size);
+  }
+
+  if (MaxNewSize != _max_gen0_size) {
+    FLAG_SET_ERGO(uintx, MaxNewSize, _max_gen0_size);
+  }
+
   if (PrintGCDetails && Verbose) {
     gclog_or_tty->print_cr("1: Minimum gen0 " SIZE_FORMAT "  Initial gen0 "
       SIZE_FORMAT "  Maximum gen0 " SIZE_FORMAT,
       _min_gen0_size, _initial_gen0_size, _max_gen0_size);
   }
+
+  DEBUG_ONLY(GenCollectorPolicy::assert_size_info();)
 }
 
 // Call this method during the sizing of the gen1 to make
@@ -403,23 +523,18 @@
 // keeping it simple also seems a worthwhile goal.
 bool TwoGenerationCollectorPolicy::adjust_gen0_sizes(size_t* gen0_size_ptr,
                                                      size_t* gen1_size_ptr,
-                                                     const size_t heap_size,
-                                                     const size_t min_gen1_size) {
+                                                     const size_t heap_size) {
   bool result = false;
 
-  if ((*gen1_size_ptr + *gen0_size_ptr) > heap_size) {
-    if ((heap_size < (*gen0_size_ptr + min_gen1_size)) &&
-        (heap_size >= min_gen1_size + _min_alignment)) {
-      // Adjust gen0 down to accommodate min_gen1_size
-      *gen0_size_ptr = heap_size - min_gen1_size;
-      *gen0_size_ptr =
-        MAX2((uintx)align_size_down(*gen0_size_ptr, _min_alignment), _min_alignment);
-      assert(*gen0_size_ptr > 0, "Min gen0 is too large");
+  if ((*gen0_size_ptr + *gen1_size_ptr) > heap_size) {
+    uintx smallest_new_size = young_gen_size_lower_bound();
+    if ((heap_size < (*gen0_size_ptr + _min_gen1_size)) &&
+        (heap_size >= _min_gen1_size + smallest_new_size)) {
+      // Adjust gen0 down to accommodate _min_gen1_size
+      *gen0_size_ptr = align_size_down_bounded(heap_size - _min_gen1_size, _gen_alignment);
       result = true;
     } else {
-      *gen1_size_ptr = heap_size - *gen0_size_ptr;
-      *gen1_size_ptr =
-        MAX2((uintx)align_size_down(*gen1_size_ptr, _min_alignment), _min_alignment);
+      *gen1_size_ptr = align_size_down_bounded(heap_size - *gen0_size_ptr, _gen_alignment);
     }
   }
   return result;
@@ -440,41 +555,36 @@
   // The maximum gen1 size can be determined from the maximum gen0
   // and maximum heap size since no explicit flags exits
   // for setting the gen1 maximum.
-  _max_gen1_size = _max_heap_byte_size - _max_gen0_size;
-  _max_gen1_size =
-    MAX2((uintx)align_size_down(_max_gen1_size, _min_alignment), _min_alignment);
+  _max_gen1_size = MAX2(_max_heap_byte_size - _max_gen0_size, _gen_alignment);
+
   // If no explicit command line flag has been set for the
   // gen1 size, use what is left for gen1.
-  if (FLAG_IS_DEFAULT(OldSize) || FLAG_IS_ERGO(OldSize)) {
-    // The user has not specified any value or ergonomics
-    // has chosen a value (which may or may not be consistent
+  if (!FLAG_IS_CMDLINE(OldSize)) {
+    // The user has not specified any value but the ergonomics
+    // may have chosen a value (which may or may not be consistent
     // with the overall heap size).  In either case make
     // the minimum, maximum and initial sizes consistent
     // with the gen0 sizes and the overall heap sizes.
-    assert(_min_heap_byte_size > _min_gen0_size,
-      "gen0 has an unexpected minimum size");
-    _min_gen1_size = _min_heap_byte_size - _min_gen0_size;
-    _min_gen1_size =
-      MAX2((uintx)align_size_down(_min_gen1_size, _min_alignment), _min_alignment);
-    _initial_gen1_size = _initial_heap_byte_size - _initial_gen0_size;
-    _initial_gen1_size =
-      MAX2((uintx)align_size_down(_initial_gen1_size, _min_alignment), _min_alignment);
+    _min_gen1_size = MAX2(_min_heap_byte_size - _min_gen0_size, _gen_alignment);
+    _initial_gen1_size = MAX2(_initial_heap_byte_size - _initial_gen0_size, _gen_alignment);
+    // _max_gen1_size has already been made consistent above
+    FLAG_SET_ERGO(uintx, OldSize, _initial_gen1_size);
   } else {
     // It's been explicitly set on the command line.  Use the
     // OldSize and then determine the consequences.
-    _min_gen1_size = OldSize;
+    _min_gen1_size = MIN2(OldSize, _min_heap_byte_size - _min_gen0_size);
     _initial_gen1_size = OldSize;
 
     // If the user has explicitly set an OldSize that is inconsistent
     // with other command line flags, issue a warning.
     // The generation minimums and the overall heap mimimum should
-    // be within one heap alignment.
-    if ((_min_gen1_size + _min_gen0_size + _min_alignment) < _min_heap_byte_size) {
+    // be within one generation alignment.
+    if ((_min_gen1_size + _min_gen0_size + _gen_alignment) < _min_heap_byte_size) {
       warning("Inconsistency between minimum heap size and minimum "
               "generation sizes: using minimum heap = " SIZE_FORMAT,
               _min_heap_byte_size);
     }
-    if ((OldSize > _max_gen1_size)) {
+    if (OldSize > _max_gen1_size) {
       warning("Inconsistency between maximum heap size and maximum "
               "generation sizes: using maximum heap = " SIZE_FORMAT
               " -XX:OldSize flag is being ignored",
@@ -482,8 +592,7 @@
     }
     // If there is an inconsistency between the OldSize and the minimum and/or
     // initial size of gen0, since OldSize was explicitly set, OldSize wins.
-    if (adjust_gen0_sizes(&_min_gen0_size, &_min_gen1_size,
-                          _min_heap_byte_size, OldSize)) {
+    if (adjust_gen0_sizes(&_min_gen0_size, &_min_gen1_size, _min_heap_byte_size)) {
       if (PrintGCDetails && Verbose) {
         gclog_or_tty->print_cr("2: Minimum gen0 " SIZE_FORMAT "  Initial gen0 "
               SIZE_FORMAT "  Maximum gen0 " SIZE_FORMAT,
@@ -492,7 +601,7 @@
     }
     // Initial size
     if (adjust_gen0_sizes(&_initial_gen0_size, &_initial_gen1_size,
-                          _initial_heap_byte_size, OldSize)) {
+                          _initial_heap_byte_size)) {
       if (PrintGCDetails && Verbose) {
         gclog_or_tty->print_cr("3: Minimum gen0 " SIZE_FORMAT "  Initial gen0 "
           SIZE_FORMAT "  Maximum gen0 " SIZE_FORMAT,
@@ -507,11 +616,26 @@
   _initial_gen1_size = MAX2(_initial_gen1_size, _min_gen1_size);
   _initial_gen1_size = MIN2(_initial_gen1_size, _max_gen1_size);
 
+  // Write back to flags if necessary
+  if (NewSize != _initial_gen0_size) {
+    FLAG_SET_ERGO(uintx, NewSize, _initial_gen0_size);
+  }
+
+  if (MaxNewSize != _max_gen0_size) {
+    FLAG_SET_ERGO(uintx, MaxNewSize, _max_gen0_size);
+  }
+
+  if (OldSize != _initial_gen1_size) {
+    FLAG_SET_ERGO(uintx, OldSize, _initial_gen1_size);
+  }
+
   if (PrintGCDetails && Verbose) {
     gclog_or_tty->print_cr("Minimum gen1 " SIZE_FORMAT "  Initial gen1 "
       SIZE_FORMAT "  Maximum gen1 " SIZE_FORMAT,
       _min_gen1_size, _initial_gen1_size, _max_gen1_size);
   }
+
+  DEBUG_ONLY(TwoGenerationCollectorPolicy::assert_size_info();)
 }
 
 HeapWord* GenCollectorPolicy::mem_allocate_work(size_t size,
@@ -605,9 +729,7 @@
       gc_count_before = Universe::heap()->total_collections();
     }
 
-    VM_GenCollectForAllocation op(size,
-                                  is_tlab,
-                                  gc_count_before);
+    VM_GenCollectForAllocation op(size, is_tlab, gc_count_before);
     VMThread::execute(&op);
     if (op.prologue_succeeded()) {
       result = op.result();
@@ -836,14 +958,16 @@
 // MarkSweepPolicy methods
 //
 
-MarkSweepPolicy::MarkSweepPolicy() {
-  initialize_all();
+void MarkSweepPolicy::initialize_alignments() {
+  _space_alignment = _gen_alignment = (uintx)Generation::GenGrain;
+  _heap_alignment = compute_heap_alignment();
 }
 
 void MarkSweepPolicy::initialize_generations() {
   _generations = NEW_C_HEAP_ARRAY3(GenerationSpecPtr, number_of_generations(), mtGC, 0, AllocFailStrategy::RETURN_NULL);
-  if (_generations == NULL)
+  if (_generations == NULL) {
     vm_exit_during_initialization("Unable to allocate gen spec");
+  }
 
   if (UseParNewGC) {
     _generations[0] = new GenerationSpec(Generation::ParNew, _initial_gen0_size, _max_gen0_size);
@@ -852,8 +976,9 @@
   }
   _generations[1] = new GenerationSpec(Generation::MarkSweepCompact, _initial_gen1_size, _max_gen1_size);
 
-  if (_generations[0] == NULL || _generations[1] == NULL)
+  if (_generations[0] == NULL || _generations[1] == NULL) {
     vm_exit_during_initialization("Unable to allocate gen spec");
+  }
 }
 
 void MarkSweepPolicy::initialize_gc_policy_counters() {
diff --git a/hotspot/src/share/vm/memory/collectorPolicy.hpp b/hotspot/src/share/vm/memory/collectorPolicy.hpp
index 42976b3..b720301 100644
--- a/hotspot/src/share/vm/memory/collectorPolicy.hpp
+++ b/hotspot/src/share/vm/memory/collectorPolicy.hpp
@@ -61,17 +61,23 @@
  protected:
   GCPolicyCounters* _gc_policy_counters;
 
-  // Requires that the concrete subclass sets the alignment constraints
-  // before calling.
+  virtual void initialize_alignments() = 0;
   virtual void initialize_flags();
   virtual void initialize_size_info();
 
+  DEBUG_ONLY(virtual void assert_flags();)
+  DEBUG_ONLY(virtual void assert_size_info();)
+
   size_t _initial_heap_byte_size;
   size_t _max_heap_byte_size;
   size_t _min_heap_byte_size;
 
-  size_t _min_alignment;
-  size_t _max_alignment;
+  size_t _space_alignment;
+  size_t _heap_alignment;
+
+  // Needed to keep information if MaxHeapSize was set on the command line
+  // when the flag value is aligned etc by ergonomics
+  bool _max_heap_size_cmdline;
 
   // The sizing of the heap are controlled by a sizing policy.
   AdaptiveSizePolicy* _size_policy;
@@ -79,6 +85,7 @@
   // Set to true when policy wants soft refs cleared.
   // Reset to false by gc after it clears all soft refs.
   bool _should_clear_all_soft_refs;
+
   // Set to true by the GC if the just-completed gc cleared all
   // softrefs.  This is set to true whenever a gc clears all softrefs, and
   // set to false each time gc returns to the mutator.  For example, in the
@@ -86,23 +93,20 @@
   // mem_allocate() where it returns op.result()
   bool _all_soft_refs_clear;
 
-  CollectorPolicy() :
-    _min_alignment(1),
-    _max_alignment(1),
-    _initial_heap_byte_size(0),
-    _max_heap_byte_size(0),
-    _min_heap_byte_size(0),
-    _size_policy(NULL),
-    _should_clear_all_soft_refs(false),
-    _all_soft_refs_clear(false)
-  {}
+  CollectorPolicy();
 
  public:
-  // Return maximum heap alignment that may be imposed by the policy
-  static size_t compute_max_alignment();
+  virtual void initialize_all() {
+    initialize_alignments();
+    initialize_flags();
+    initialize_size_info();
+  }
 
-  size_t min_alignment()                       { return _min_alignment; }
-  size_t max_alignment()                       { return _max_alignment; }
+  // Return maximum heap alignment that may be imposed by the policy
+  static size_t compute_heap_alignment();
+
+  size_t space_alignment()        { return _space_alignment; }
+  size_t heap_alignment()         { return _heap_alignment; }
 
   size_t initial_heap_byte_size() { return _initial_heap_byte_size; }
   size_t max_heap_byte_size()     { return _max_heap_byte_size; }
@@ -151,7 +155,6 @@
 
 
   virtual BarrierSet::Name barrier_set_name() = 0;
-  virtual GenRemSet::Name  rem_set_name() = 0;
 
   // Create the remembered set (to cover the given reserved region,
   // allowing breaking up into at most "max_covered_regions").
@@ -195,6 +198,9 @@
     return false;
   }
 
+  // Do any updates required to global flags that are due to heap initialization
+  // changes
+  virtual void post_heap_initialize() = 0;
 };
 
 class ClearedAllSoftRefs : public StackObj {
@@ -219,6 +225,10 @@
   size_t _initial_gen0_size;
   size_t _max_gen0_size;
 
+  // _gen_alignment and _space_alignment will have the same value most of the
+  // time. When using large pages they can differ.
+  size_t _gen_alignment;
+
   GenerationSpec **_generations;
 
   // Return true if an allocation should be attempted in the older
@@ -229,41 +239,50 @@
   void initialize_flags();
   void initialize_size_info();
 
+  DEBUG_ONLY(void assert_flags();)
+  DEBUG_ONLY(void assert_size_info();)
+
   // Try to allocate space by expanding the heap.
   virtual HeapWord* expand_heap_and_allocate(size_t size, bool is_tlab);
 
- // Scale the base_size by NewRation according to
+  // Compute max heap alignment
+  size_t compute_max_alignment();
+
+ // Scale the base_size by NewRatio according to
  //     result = base_size / (NewRatio + 1)
  // and align by min_alignment()
  size_t scale_by_NewRatio_aligned(size_t base_size);
 
- // Bound the value by the given maximum minus the
- // min_alignment.
+ // Bound the value by the given maximum minus the min_alignment
  size_t bound_minus_alignment(size_t desired_size, size_t maximum_size);
 
  public:
+  GenCollectorPolicy();
+
   // Accessors
   size_t min_gen0_size()     { return _min_gen0_size; }
   size_t initial_gen0_size() { return _initial_gen0_size; }
   size_t max_gen0_size()     { return _max_gen0_size; }
+  size_t gen_alignment()     { return _gen_alignment; }
 
   virtual int number_of_generations() = 0;
 
-  virtual GenerationSpec **generations()       {
+  virtual GenerationSpec **generations() {
     assert(_generations != NULL, "Sanity check");
     return _generations;
   }
 
   virtual GenCollectorPolicy* as_generation_policy() { return this; }
 
-  virtual void initialize_generations() = 0;
+  virtual void initialize_generations() { };
 
   virtual void initialize_all() {
-    initialize_flags();
-    initialize_size_info();
+    CollectorPolicy::initialize_all();
     initialize_generations();
   }
 
+  size_t young_gen_size_lower_bound();
+
   HeapWord* mem_allocate_work(size_t size,
                               bool is_tlab,
                               bool* gc_overhead_limit_was_exceeded);
@@ -274,6 +293,10 @@
   virtual void initialize_size_policy(size_t init_eden_size,
                                       size_t init_promo_size,
                                       size_t init_survivor_size);
+
+  virtual void post_heap_initialize() {
+    assert(_max_gen0_size == MaxNewSize, "Should be taken care of by initialize_size_info");
+  }
 };
 
 // All of hotspot's current collectors are subtypes of this
@@ -290,9 +313,14 @@
 
   void initialize_flags();
   void initialize_size_info();
-  void initialize_generations()                { ShouldNotReachHere(); }
+
+  DEBUG_ONLY(void assert_flags();)
+  DEBUG_ONLY(void assert_size_info();)
 
  public:
+  TwoGenerationCollectorPolicy() : GenCollectorPolicy(), _min_gen1_size(0),
+    _initial_gen1_size(0), _max_gen1_size(0) {}
+
   // Accessors
   size_t min_gen1_size()     { return _min_gen1_size; }
   size_t initial_gen1_size() { return _initial_gen1_size; }
@@ -301,25 +329,25 @@
   // Inherited methods
   TwoGenerationCollectorPolicy* as_two_generation_policy() { return this; }
 
-  int number_of_generations()                  { return 2; }
-  BarrierSet::Name barrier_set_name()          { return BarrierSet::CardTableModRef; }
-  GenRemSet::Name rem_set_name()               { return GenRemSet::CardTable; }
+  int number_of_generations()          { return 2; }
+  BarrierSet::Name barrier_set_name()  { return BarrierSet::CardTableModRef; }
 
   virtual CollectorPolicy::Name kind() {
     return CollectorPolicy::TwoGenerationCollectorPolicyKind;
   }
 
-  // Returns true is gen0 sizes were adjusted
+  // Returns true if gen0 sizes were adjusted
   bool adjust_gen0_sizes(size_t* gen0_size_ptr, size_t* gen1_size_ptr,
-                         const size_t heap_size, const size_t min_gen1_size);
+                         const size_t heap_size);
 };
 
 class MarkSweepPolicy : public TwoGenerationCollectorPolicy {
  protected:
+  void initialize_alignments();
   void initialize_generations();
 
  public:
-  MarkSweepPolicy();
+  MarkSweepPolicy() {}
 
   MarkSweepPolicy* as_mark_sweep_policy() { return this; }
 
diff --git a/hotspot/src/share/vm/memory/defNewGeneration.cpp b/hotspot/src/share/vm/memory/defNewGeneration.cpp
index 0b4af29..ca3ff46 100644
--- a/hotspot/src/share/vm/memory/defNewGeneration.cpp
+++ b/hotspot/src/share/vm/memory/defNewGeneration.cpp
@@ -204,7 +204,7 @@
   // Compute the maximum eden and survivor space sizes. These sizes
   // are computed assuming the entire reserved space is committed.
   // These values are exported as performance counters.
-  uintx alignment = GenCollectedHeap::heap()->collector_policy()->min_alignment();
+  uintx alignment = GenCollectedHeap::heap()->collector_policy()->space_alignment();
   uintx size = _virtual_space.reserved_size();
   _max_survivor_size = compute_survivor_size(size, alignment);
   _max_eden_size = size - (2*_max_survivor_size);
@@ -235,7 +235,7 @@
                                                 bool clear_space,
                                                 bool mangle_space) {
   uintx alignment =
-    GenCollectedHeap::heap()->collector_policy()->min_alignment();
+    GenCollectedHeap::heap()->collector_policy()->space_alignment();
 
   // If the spaces are being cleared (only done at heap initialization
   // currently), the survivor spaces need not be empty.
@@ -473,7 +473,7 @@
 }
 
 size_t DefNewGeneration::max_capacity() const {
-  const size_t alignment = GenCollectedHeap::heap()->collector_policy()->min_alignment();
+  const size_t alignment = GenCollectedHeap::heap()->collector_policy()->space_alignment();
   const size_t reserved_bytes = reserved().byte_size();
   return reserved_bytes - compute_survivor_size(reserved_bytes, alignment);
 }
diff --git a/hotspot/src/share/vm/memory/genCollectedHeap.cpp b/hotspot/src/share/vm/memory/genCollectedHeap.cpp
index 3a5ab21..aa6f24b 100644
--- a/hotspot/src/share/vm/memory/genCollectedHeap.cpp
+++ b/hotspot/src/share/vm/memory/genCollectedHeap.cpp
@@ -111,7 +111,7 @@
   int n_covered_regions = 0;
   ReservedSpace heap_rs;
 
-  size_t heap_alignment = collector_policy()->max_alignment();
+  size_t heap_alignment = collector_policy()->heap_alignment();
 
   heap_address = allocate(heap_alignment, &total_reserved,
                           &n_covered_regions, &heap_rs);
@@ -1053,12 +1053,6 @@
   }
 }
 
-void GenCollectedHeap::compute_new_generation_sizes(int collectedGen) {
-  for (int i = 0; i <= collectedGen; i++) {
-    _gens[i]->compute_new_size();
-  }
-}
-
 GenCollectedHeap* GenCollectedHeap::heap() {
   assert(_gch != NULL, "Uninitialized access to GenCollectedHeap::heap()");
   assert(_gch->kind() == CollectedHeap::GenCollectedHeap, "not a generational heap");
diff --git a/hotspot/src/share/vm/memory/genCollectedHeap.hpp b/hotspot/src/share/vm/memory/genCollectedHeap.hpp
index 8f81413..5cd8a71 100644
--- a/hotspot/src/share/vm/memory/genCollectedHeap.hpp
+++ b/hotspot/src/share/vm/memory/genCollectedHeap.hpp
@@ -86,10 +86,6 @@
   NOT_PRODUCT(static size_t _skip_header_HeapWords;)
 
 protected:
-  // Directs each generation up to and including "collectedGen" to recompute
-  // its desired size.
-  void compute_new_generation_sizes(int collectedGen);
-
   // Helper functions for allocation
   HeapWord* attempt_allocation(size_t size,
                                bool   is_tlab,
diff --git a/hotspot/src/share/vm/memory/metaspace.cpp b/hotspot/src/share/vm/memory/metaspace.cpp
index f9e3385..826dde3 100644
--- a/hotspot/src/share/vm/memory/metaspace.cpp
+++ b/hotspot/src/share/vm/memory/metaspace.cpp
@@ -2975,11 +2975,6 @@
 
 #endif
 
-// Align down. If the aligning result in 0, return 'alignment'.
-static size_t restricted_align_down(size_t size, size_t alignment) {
-  return MAX2(alignment, align_size_down_(size, alignment));
-}
-
 void Metaspace::ergo_initialize() {
   if (DumpSharedSpaces) {
     // Using large pages when dumping the shared archive is currently not implemented.
@@ -3002,13 +2997,13 @@
   // Ideally, we would be able to set the default value of MaxMetaspaceSize in
   // globals.hpp to the aligned value, but this is not possible, since the
   // alignment depends on other flags being parsed.
-  MaxMetaspaceSize = restricted_align_down(MaxMetaspaceSize, _reserve_alignment);
+  MaxMetaspaceSize = align_size_down_bounded(MaxMetaspaceSize, _reserve_alignment);
 
   if (MetaspaceSize > MaxMetaspaceSize) {
     MetaspaceSize = MaxMetaspaceSize;
   }
 
-  MetaspaceSize = restricted_align_down(MetaspaceSize, _commit_alignment);
+  MetaspaceSize = align_size_down_bounded(MetaspaceSize, _commit_alignment);
 
   assert(MetaspaceSize <= MaxMetaspaceSize, "MetaspaceSize should be limited by MaxMetaspaceSize");
 
@@ -3016,10 +3011,10 @@
     vm_exit_during_initialization("Too small initial Metaspace size");
   }
 
-  MinMetaspaceExpansion = restricted_align_down(MinMetaspaceExpansion, _commit_alignment);
-  MaxMetaspaceExpansion = restricted_align_down(MaxMetaspaceExpansion, _commit_alignment);
+  MinMetaspaceExpansion = align_size_down_bounded(MinMetaspaceExpansion, _commit_alignment);
+  MaxMetaspaceExpansion = align_size_down_bounded(MaxMetaspaceExpansion, _commit_alignment);
 
-  CompressedClassSpaceSize = restricted_align_down(CompressedClassSpaceSize, _reserve_alignment);
+  CompressedClassSpaceSize = align_size_down_bounded(CompressedClassSpaceSize, _reserve_alignment);
   set_compressed_class_space_size(CompressedClassSpaceSize);
 }
 
diff --git a/hotspot/src/share/vm/memory/sharedHeap.cpp b/hotspot/src/share/vm/memory/sharedHeap.cpp
index 79455db..47ebc18 100644
--- a/hotspot/src/share/vm/memory/sharedHeap.cpp
+++ b/hotspot/src/share/vm/memory/sharedHeap.cpp
@@ -247,6 +247,7 @@
 }
 
 void SharedHeap::post_initialize() {
+  CollectedHeap::post_initialize();
   ref_processing_init();
 }
 
diff --git a/hotspot/src/share/vm/memory/universe.cpp b/hotspot/src/share/vm/memory/universe.cpp
index 043962c..b393272 100644
--- a/hotspot/src/share/vm/memory/universe.cpp
+++ b/hotspot/src/share/vm/memory/universe.cpp
@@ -785,6 +785,7 @@
   } else if (UseG1GC) {
 #if INCLUDE_ALL_GCS
     G1CollectorPolicy* g1p = new G1CollectorPolicy();
+    g1p->initialize_all();
     G1CollectedHeap* g1h = new G1CollectedHeap(g1p);
     Universe::_collectedHeap = g1h;
 #else  // INCLUDE_ALL_GCS
@@ -809,6 +810,7 @@
     } else { // default old generation
       gc_policy = new MarkSweepPolicy();
     }
+    gc_policy->initialize_all();
 
     Universe::_collectedHeap = new GenCollectedHeap(gc_policy);
   }
@@ -1041,7 +1043,7 @@
     Universe::_virtual_machine_error_instance =
       InstanceKlass::cast(k)->allocate_instance(CHECK_false);
 
-    Universe::_vm_exception               = InstanceKlass::cast(k)->allocate_instance(CHECK_false);
+    Universe::_vm_exception = InstanceKlass::cast(k)->allocate_instance(CHECK_false);
 
   if (!DumpSharedSpaces) {
     // These are the only Java fields that are currently set during shared space dumping.
diff --git a/hotspot/src/share/vm/oops/cpCache.cpp b/hotspot/src/share/vm/oops/cpCache.cpp
index 215cf77..c9bbb5f 100644
--- a/hotspot/src/share/vm/oops/cpCache.cpp
+++ b/hotspot/src/share/vm/oops/cpCache.cpp
@@ -554,24 +554,37 @@
 // Implementation of ConstantPoolCache
 
 ConstantPoolCache* ConstantPoolCache::allocate(ClassLoaderData* loader_data,
-                                     int length,
                                      const intStack& index_map,
+                                     const intStack& invokedynamic_index_map,
                                      const intStack& invokedynamic_map, TRAPS) {
+
+  const int length = index_map.length() + invokedynamic_index_map.length();
   int size = ConstantPoolCache::size(length);
 
   return new (loader_data, size, false, MetaspaceObj::ConstantPoolCacheType, THREAD)
-    ConstantPoolCache(length, index_map, invokedynamic_map);
+    ConstantPoolCache(length, index_map, invokedynamic_index_map, invokedynamic_map);
 }
 
 void ConstantPoolCache::initialize(const intArray& inverse_index_map,
+                                   const intArray& invokedynamic_inverse_index_map,
                                    const intArray& invokedynamic_references_map) {
-  assert(inverse_index_map.length() == length(), "inverse index map must have same length as cache");
-  for (int i = 0; i < length(); i++) {
+  for (int i = 0; i < inverse_index_map.length(); i++) {
     ConstantPoolCacheEntry* e = entry_at(i);
     int original_index = inverse_index_map[i];
     e->initialize_entry(original_index);
     assert(entry_at(i) == e, "sanity");
   }
+
+  // Append invokedynamic entries at the end
+  int invokedynamic_offset = inverse_index_map.length();
+  for (int i = 0; i < invokedynamic_inverse_index_map.length(); i++) {
+    int offset = i + invokedynamic_offset;
+    ConstantPoolCacheEntry* e = entry_at(offset);
+    int original_index = invokedynamic_inverse_index_map[i];
+    e->initialize_entry(original_index);
+    assert(entry_at(offset) == e, "sanity");
+  }
+
   for (int ref = 0; ref < invokedynamic_references_map.length(); ref++) {
     const int cpci = invokedynamic_references_map[ref];
     if (cpci >= 0) {
diff --git a/hotspot/src/share/vm/oops/cpCache.hpp b/hotspot/src/share/vm/oops/cpCache.hpp
index 77c0deb..26079fd 100644
--- a/hotspot/src/share/vm/oops/cpCache.hpp
+++ b/hotspot/src/share/vm/oops/cpCache.hpp
@@ -31,6 +31,10 @@
 
 class PSPromotionManager;
 
+// The ConstantPoolCache is not a cache! It is the resolution table that the
+// interpreter uses to avoid going into the runtime and a way to access resolved
+// values.
+
 // A ConstantPoolCacheEntry describes an individual entry of the constant
 // pool cache. There's 2 principal kinds of entries: field entries for in-
 // stance & static field access, and method entries for invokes. Some of
@@ -392,26 +396,33 @@
   friend class MetadataFactory;
  private:
   int             _length;
-  ConstantPool* _constant_pool;                // the corresponding constant pool
+  ConstantPool*   _constant_pool;          // the corresponding constant pool
 
   // Sizing
   debug_only(friend class ClassVerifier;)
 
   // Constructor
-  ConstantPoolCache(int length, const intStack& inverse_index_map,
+  ConstantPoolCache(int length,
+                    const intStack& inverse_index_map,
+                    const intStack& invokedynamic_inverse_index_map,
                     const intStack& invokedynamic_references_map) :
-                                        _length(length), _constant_pool(NULL) {
-    initialize(inverse_index_map, invokedynamic_references_map);
+                          _length(length),
+                          _constant_pool(NULL) {
+    initialize(inverse_index_map, invokedynamic_inverse_index_map,
+               invokedynamic_references_map);
     for (int i = 0; i < length; i++) {
       assert(entry_at(i)->is_f1_null(), "Failed to clear?");
     }
   }
 
   // Initialization
-  void initialize(const intArray& inverse_index_map, const intArray& invokedynamic_references_map);
+  void initialize(const intArray& inverse_index_map,
+                  const intArray& invokedynamic_inverse_index_map,
+                  const intArray& invokedynamic_references_map);
  public:
-  static ConstantPoolCache* allocate(ClassLoaderData* loader_data, int length,
-                                     const intStack& inverse_index_map,
+  static ConstantPoolCache* allocate(ClassLoaderData* loader_data,
+                                     const intStack& cp_cache_map,
+                                     const intStack& invokedynamic_cp_cache_map,
                                      const intStack& invokedynamic_references_map, TRAPS);
   bool is_constantPoolCache() const { return true; }
 
diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp
index 510102d..ae7ea80 100644
--- a/hotspot/src/share/vm/oops/instanceKlass.cpp
+++ b/hotspot/src/share/vm/oops/instanceKlass.cpp
@@ -2211,6 +2211,10 @@
            data = mdo->next_data(data)) {
         data->clean_weak_klass_links(is_alive);
       }
+      ParametersTypeData* parameters = mdo->parameters_type_data();
+      if (parameters != NULL) {
+        parameters->clean_weak_klass_links(is_alive);
+      }
     }
   }
 }
diff --git a/hotspot/src/share/vm/oops/klassVtable.cpp b/hotspot/src/share/vm/oops/klassVtable.cpp
index 568e15f..07a1c75 100644
--- a/hotspot/src/share/vm/oops/klassVtable.cpp
+++ b/hotspot/src/share/vm/oops/klassVtable.cpp
@@ -86,7 +86,11 @@
   get_mirandas(&new_mirandas, all_mirandas, super, methods, NULL, local_interfaces);
   *num_new_mirandas = new_mirandas.length();
 
-  vtable_length += *num_new_mirandas * vtableEntry::size();
+  // Interfaces do not need interface methods in their vtables
+  // This includes miranda methods and during later processing, default methods
+  if (!class_flags.is_interface()) {
+    vtable_length += *num_new_mirandas * vtableEntry::size();
+  }
 
   if (Universe::is_bootstrapping() && vtable_length == 0) {
     // array classes don't have their superclass set correctly during
@@ -224,7 +228,11 @@
     }
 
     // add miranda methods; it will also return the updated initialized
-    initialized = fill_in_mirandas(initialized);
+    // Interfaces do not need interface methods in their vtables
+    // This includes miranda methods and during later processing, default methods
+    if (!ik()->is_interface()) {
+      initialized = fill_in_mirandas(initialized);
+    }
 
     // In class hierarchies where the accessibility is not increasing (i.e., going from private ->
     // package_private -> public/protected), the vtable might actually be smaller than our initial
@@ -264,12 +272,12 @@
            _klass->internal_name(), sig, vtable_index);
            super_method->access_flags().print_on(tty);
            if (super_method->is_default_method()) {
-             tty->print("default");
+             tty->print("default ");
            }
            tty->print("overriders flags: ");
            target_method->access_flags().print_on(tty);
            if (target_method->is_default_method()) {
-             tty->print("default");
+             tty->print("default ");
            }
         }
 #endif /*PRODUCT*/
@@ -332,9 +340,15 @@
     // An interface never allocates new vtable slots, only inherits old ones.
     // This method will either be assigned its own itable index later,
     // or be assigned an inherited vtable index in the loop below.
-    // default methods store their vtable indices in the inheritors default_vtable_indices
-    assert (default_index == -1, "interfaces don't store resolved default methods");
-    target_method()->set_vtable_index(Method::pending_itable_index);
+    // default methods inherited by classes store their vtable indices
+    // in the inheritor's default_vtable_indices
+    // default methods inherited by interfaces may already have a
+    // valid itable index, if so, don't change it
+    // overpass methods in an interface will be assigned an itable index later
+    // by an inheriting class
+    if (!is_default || !target_method()->has_itable_index()) {
+      target_method()->set_vtable_index(Method::pending_itable_index);
+    }
   }
 
   // we need a new entry if there is no superclass
@@ -441,7 +455,7 @@
            target_klass->internal_name(), sig, i);
            super_method->access_flags().print_on(tty);
            if (super_method->is_default_method()) {
-             tty->print("default");
+             tty->print("default ");
            }
            if (super_method->is_overpass()) {
              tty->print("overpass");
@@ -449,7 +463,7 @@
            tty->print("overriders flags: ");
            target_method->access_flags().print_on(tty);
            if (target_method->is_default_method()) {
-             tty->print("default");
+             tty->print("default ");
            }
            if (target_method->is_overpass()) {
              tty->print("overpass");
@@ -468,7 +482,7 @@
            target_klass->internal_name(), sig,i);
            super_method->access_flags().print_on(tty);
            if (super_method->is_default_method()) {
-             tty->print("default");
+             tty->print("default ");
            }
            if (super_method->is_overpass()) {
              tty->print("overpass");
@@ -476,7 +490,7 @@
            tty->print("overriders flags: ");
            target_method->access_flags().print_on(tty);
            if (target_method->is_default_method()) {
-             tty->print("default");
+             tty->print("default ");
            }
            if (target_method->is_overpass()) {
              tty->print("overpass");
@@ -494,8 +508,18 @@
 #ifndef PRODUCT
   if (PrintVtables && Verbose) {
     ResourceMark rm;
-    tty->print_cr("adding %s::%s at index %d", _klass->internal_name(),
-      (m != NULL) ? m->name()->as_C_string() : "<NULL>", index);
+    const char* sig = (m != NULL) ? m->name_and_sig_as_C_string() : "<NULL>";
+    tty->print("adding %s at index %d, flags: ", sig, index);
+    if (m != NULL) {
+      m->access_flags().print_on(tty);
+      if (m->is_default_method()) {
+        tty->print("default ");
+      }
+      if (m->is_overpass()) {
+        tty->print("overpass");
+      }
+    }
+    tty->cr();
   }
 #endif
   table()[index].set(m);
@@ -631,8 +655,10 @@
   if (mhk->is_interface()) {
     assert(m->is_public(), "should be public");
     assert(ik()->implements_interface(method_holder) , "this class should implement the interface");
-    assert(is_miranda(m, ik()->methods(), ik()->default_methods(), ik()->super()), "should be a miranda_method");
-    return true;
+    // the search could find a miranda or a default method
+    if (is_miranda(m, ik()->methods(), ik()->default_methods(), ik()->super())) {
+      return true;
+    }
   }
   return false;
 }
@@ -644,9 +670,10 @@
 // the caller must make sure that the method belongs to an interface implemented by the class
 // Miranda methods only include public interface instance methods
 // Not private methods, not static methods, not default == concrete abstract
+// Miranda methods also do not include overpass methods in interfaces
 bool klassVtable::is_miranda(Method* m, Array<Method*>* class_methods,
                              Array<Method*>* default_methods, Klass* super) {
-  if (m->is_static() || m->is_private()) {
+  if (m->is_static() || m->is_private() || m->is_overpass()) {
     return false;
   }
   Symbol* name = m->name();
@@ -744,6 +771,8 @@
 // Discover miranda methods ("miranda" = "interface abstract, no binding"),
 // and append them into the vtable starting at index initialized,
 // return the new value of initialized.
+// Miranda methods use vtable entries, but do not get assigned a vtable_index
+// The vtable_index is discovered by searching from the end of the vtable
 int klassVtable::fill_in_mirandas(int initialized) {
   GrowableArray<Method*> mirandas(20);
   get_mirandas(&mirandas, NULL, ik()->super(), ik()->methods(),
@@ -758,7 +787,7 @@
           sig, initialized);
         meth->access_flags().print_on(tty);
         if (meth->is_default_method()) {
-          tty->print("default");
+          tty->print("default ");
         }
         tty->cr();
       }
@@ -858,7 +887,7 @@
       tty->print("      (%5d)  ", i);
       m->access_flags().print_on(tty);
       if (m->is_default_method()) {
-        tty->print("default");
+        tty->print("default ");
       }
       if (m->is_overpass()) {
         tty->print("overpass");
@@ -977,6 +1006,25 @@
     if (interface_method_needs_itable_index(m)) {
       assert(!m->is_final_method(), "no final interface methods");
       // If m is already assigned a vtable index, do not disturb it.
+      if (TraceItables && Verbose) {
+        ResourceMark rm;
+        const char* sig = (m != NULL) ? m->name_and_sig_as_C_string() : "<NULL>";
+        if (m->has_vtable_index()) {
+          tty->print("itable index %d for method: %s, flags: ", m->vtable_index(), sig);
+        } else {
+          tty->print("itable index %d for method: %s, flags: ", ime_num, sig);
+        }
+        if (m != NULL) {
+          m->access_flags().print_on(tty);
+          if (m->is_default_method()) {
+            tty->print("default ");
+          }
+          if (m->is_overpass()) {
+            tty->print("overpass");
+          }
+        }
+        tty->cr();
+      }
       if (!m->has_vtable_index()) {
         assert(m->vtable_index() == Method::pending_itable_index, "set by initialize_vtable");
         m->set_itable_index(ime_num);
@@ -1079,7 +1127,7 @@
           tty->print("target_method flags: ");
           target()->access_flags().print_on(tty);
           if (target()->is_default_method()) {
-            tty->print("default");
+            tty->print("default ");
           }
           tty->cr();
         }
@@ -1158,7 +1206,7 @@
       tty->print("      (%5d)  ", i);
       m->access_flags().print_on(tty);
       if (m->is_default_method()) {
-        tty->print("default");
+        tty->print("default ");
       }
       tty->print(" --  ");
       m->print_name(tty);
diff --git a/hotspot/src/share/vm/oops/methodData.cpp b/hotspot/src/share/vm/oops/methodData.cpp
index 2cff5ee..64c2f16 100644
--- a/hotspot/src/share/vm/oops/methodData.cpp
+++ b/hotspot/src/share/vm/oops/methodData.cpp
@@ -275,23 +275,23 @@
 }
 
 bool TypeEntries::is_loader_alive(BoolObjectClosure* is_alive_cl, intptr_t p) {
-  return !is_type_none(p) &&
-    !((Klass*)klass_part(p))->is_loader_alive(is_alive_cl);
+  Klass* k = (Klass*)klass_part(p);
+  return k != NULL && k->is_loader_alive(is_alive_cl);
 }
 
 void TypeStackSlotEntries::clean_weak_klass_links(BoolObjectClosure* is_alive_cl) {
   for (int i = 0; i < _number_of_entries; i++) {
     intptr_t p = type(i);
-    if (is_loader_alive(is_alive_cl, p)) {
-      set_type(i, type_none());
+    if (!is_loader_alive(is_alive_cl, p)) {
+      set_type(i, with_status((Klass*)NULL, p));
     }
   }
 }
 
 void ReturnTypeEntry::clean_weak_klass_links(BoolObjectClosure* is_alive_cl) {
   intptr_t p = type();
-  if (is_loader_alive(is_alive_cl, p)) {
-    set_type(type_none());
+  if (!is_loader_alive(is_alive_cl, p)) {
+    set_type(with_status((Klass*)NULL, p));
   }
 }
 
diff --git a/hotspot/src/share/vm/oops/methodData.hpp b/hotspot/src/share/vm/oops/methodData.hpp
index a007708..75cae3b 100644
--- a/hotspot/src/share/vm/oops/methodData.hpp
+++ b/hotspot/src/share/vm/oops/methodData.hpp
@@ -690,7 +690,6 @@
   // recorded type: cell without bit 0 and 1
   static intptr_t klass_part(intptr_t v) {
     intptr_t r = v & type_klass_mask;
-    assert (r != 0, "invalid");
     return r;
   }
 
@@ -698,7 +697,9 @@
   static Klass* valid_klass(intptr_t k) {
     if (!is_type_none(k) &&
         !is_type_unknown(k)) {
-      return (Klass*)klass_part(k);
+      Klass* res = (Klass*)klass_part(k);
+      assert(res != NULL, "invalid");
+      return res;
     } else {
       return NULL;
     }
diff --git a/hotspot/src/share/vm/opto/bytecodeInfo.cpp b/hotspot/src/share/vm/opto/bytecodeInfo.cpp
index 885ed1d..1e875c4 100644
--- a/hotspot/src/share/vm/opto/bytecodeInfo.cpp
+++ b/hotspot/src/share/vm/opto/bytecodeInfo.cpp
@@ -389,6 +389,10 @@
     return false;
   }
   if (inline_level() > _max_inline_level) {
+    if (callee_method->force_inline() && inline_level() > MaxForceInlineLevel) {
+      set_msg("MaxForceInlineLevel");
+      return false;
+    }
     if (!callee_method->force_inline() || !IncrementalInline) {
       set_msg("inlining too deep");
       return false;
diff --git a/hotspot/src/share/vm/opto/callGenerator.cpp b/hotspot/src/share/vm/opto/callGenerator.cpp
index 33a13c8..adc27ac 100644
--- a/hotspot/src/share/vm/opto/callGenerator.cpp
+++ b/hotspot/src/share/vm/opto/callGenerator.cpp
@@ -776,7 +776,7 @@
         guarantee(!target->is_method_handle_intrinsic(), "should not happen");  // XXX remove
         const int vtable_index = Method::invalid_vtable_index;
         CallGenerator* cg = C->call_generator(target, vtable_index, false, jvms, true, PROB_ALWAYS, NULL, true, true);
-        assert(!cg->is_late_inline() || cg->is_mh_late_inline(), "no late inline here");
+        assert(cg == NULL || !cg->is_late_inline() || cg->is_mh_late_inline(), "no late inline here");
         if (cg != NULL && cg->is_inline())
           return cg;
       }
@@ -846,7 +846,7 @@
         }
 
         CallGenerator* cg = C->call_generator(target, vtable_index, call_does_dispatch, jvms, true, PROB_ALWAYS, speculative_receiver_type, true, true);
-        assert(!cg->is_late_inline() || cg->is_mh_late_inline(), "no late inline here");
+        assert(cg == NULL || !cg->is_late_inline() || cg->is_mh_late_inline(), "no late inline here");
         if (cg != NULL && cg->is_inline())
           return cg;
       }
diff --git a/hotspot/src/share/vm/opto/loopopts.cpp b/hotspot/src/share/vm/opto/loopopts.cpp
index 6529d19..a7bf3ad 100644
--- a/hotspot/src/share/vm/opto/loopopts.cpp
+++ b/hotspot/src/share/vm/opto/loopopts.cpp
@@ -42,6 +42,13 @@
     // so disable this for now
     return NULL;
   }
+
+  if (n->is_MathExact()) {
+    // MathExact has projections that are not correctly handled in the code
+    // below.
+    return NULL;
+  }
+
   int wins = 0;
   assert(!n->is_CFG(), "");
   assert(region->is_Region(), "");
diff --git a/hotspot/src/share/vm/opto/matcher.cpp b/hotspot/src/share/vm/opto/matcher.cpp
index 8547411..25a7100 100644
--- a/hotspot/src/share/vm/opto/matcher.cpp
+++ b/hotspot/src/share/vm/opto/matcher.cpp
@@ -464,17 +464,17 @@
   C->FIRST_STACK_mask().Clear();
 
   // Add in the incoming argument area
-  OptoReg::Name init = OptoReg::add(_old_SP, C->out_preserve_stack_slots());
-  for (i = init; i < _in_arg_limit; i = OptoReg::add(i,1))
+  OptoReg::Name init_in = OptoReg::add(_old_SP, C->out_preserve_stack_slots());
+  for (i = init_in; i < _in_arg_limit; i = OptoReg::add(i,1)) {
     C->FIRST_STACK_mask().Insert(i);
-
+  }
   // Add in all bits past the outgoing argument area
   guarantee(RegMask::can_represent_arg(OptoReg::add(_out_arg_limit,-1)),
             "must be able to represent all call arguments in reg mask");
-  init = _out_arg_limit;
-  for (i = init; RegMask::can_represent(i); i = OptoReg::add(i,1))
+  OptoReg::Name init = _out_arg_limit;
+  for (i = init; RegMask::can_represent(i); i = OptoReg::add(i,1)) {
     C->FIRST_STACK_mask().Insert(i);
-
+  }
   // Finally, set the "infinite stack" bit.
   C->FIRST_STACK_mask().set_AllStack();
 
@@ -506,16 +506,36 @@
      idealreg2spillmask[Op_VecS]->OR(C->FIRST_STACK_mask());
   }
   if (Matcher::vector_size_supported(T_FLOAT,2)) {
+    // For VecD we need dual alignment and 8 bytes (2 slots) for spills.
+    // RA guarantees such alignment since it is needed for Double and Long values.
     *idealreg2spillmask[Op_VecD] = *idealreg2regmask[Op_VecD];
      idealreg2spillmask[Op_VecD]->OR(aligned_stack_mask);
   }
   if (Matcher::vector_size_supported(T_FLOAT,4)) {
+    // For VecX we need quadro alignment and 16 bytes (4 slots) for spills.
+    //
+    // RA can use input arguments stack slots for spills but until RA
+    // we don't know frame size and offset of input arg stack slots.
+    //
+    // Exclude last input arg stack slots to avoid spilling vectors there
+    // otherwise vector spills could stomp over stack slots in caller frame.
+    OptoReg::Name in = OptoReg::add(_in_arg_limit, -1);
+    for (int k = 1; (in >= init_in) && (k < RegMask::SlotsPerVecX); k++) {
+      aligned_stack_mask.Remove(in);
+      in = OptoReg::add(in, -1);
+    }
      aligned_stack_mask.clear_to_sets(RegMask::SlotsPerVecX);
      assert(aligned_stack_mask.is_AllStack(), "should be infinite stack");
     *idealreg2spillmask[Op_VecX] = *idealreg2regmask[Op_VecX];
      idealreg2spillmask[Op_VecX]->OR(aligned_stack_mask);
   }
   if (Matcher::vector_size_supported(T_FLOAT,8)) {
+    // For VecY we need octo alignment and 32 bytes (8 slots) for spills.
+    OptoReg::Name in = OptoReg::add(_in_arg_limit, -1);
+    for (int k = 1; (in >= init_in) && (k < RegMask::SlotsPerVecY); k++) {
+      aligned_stack_mask.Remove(in);
+      in = OptoReg::add(in, -1);
+    }
      aligned_stack_mask.clear_to_sets(RegMask::SlotsPerVecY);
      assert(aligned_stack_mask.is_AllStack(), "should be infinite stack");
     *idealreg2spillmask[Op_VecY] = *idealreg2regmask[Op_VecY];
diff --git a/hotspot/src/share/vm/opto/mathexactnode.hpp b/hotspot/src/share/vm/opto/mathexactnode.hpp
index 59983e1..a30304b 100644
--- a/hotspot/src/share/vm/opto/mathexactnode.hpp
+++ b/hotspot/src/share/vm/opto/mathexactnode.hpp
@@ -49,7 +49,7 @@
   virtual Node* Identity(PhaseTransform* phase) { return this; }
   virtual Node* Ideal(PhaseGVN* phase, bool can_reshape) { return NULL; }
   virtual const Type* Value(PhaseTransform* phase) const { return bottom_type(); }
-  virtual uint hash() const { return Node::hash(); }
+  virtual uint hash() const { return NO_HASH; }
   virtual bool is_CFG() const { return false; }
   virtual uint ideal_reg() const { return NotAMachineReg; }
 
diff --git a/hotspot/src/share/vm/prims/whitebox.cpp b/hotspot/src/share/vm/prims/whitebox.cpp
index 6f6a200..1cb799b 100644
--- a/hotspot/src/share/vm/prims/whitebox.cpp
+++ b/hotspot/src/share/vm/prims/whitebox.cpp
@@ -53,6 +53,8 @@
 #include "compiler/compileBroker.hpp"
 #include "runtime/compilationPolicy.hpp"
 
+#define SIZE_T_MAX_VALUE ((size_t) -1)
+
 bool WhiteBox::_used = false;
 
 WB_ENTRY(jlong, WB_GetObjectAddress(JNIEnv* env, jobject o, jobject obj))
@@ -105,10 +107,116 @@
   gclog_or_tty->print_cr("Minimum heap "SIZE_FORMAT" Initial heap "
     SIZE_FORMAT" Maximum heap "SIZE_FORMAT" Min alignment "SIZE_FORMAT" Max alignment "SIZE_FORMAT,
     p->min_heap_byte_size(), p->initial_heap_byte_size(), p->max_heap_byte_size(),
-    p->min_alignment(), p->max_alignment());
+    p->space_alignment(), p->heap_alignment());
 }
 WB_END
 
+#ifndef PRODUCT
+// Forward declaration
+void TestReservedSpace_test();
+void TestReserveMemorySpecial_test();
+void TestVirtualSpace_test();
+void TestMetaspaceAux_test();
+#endif
+
+WB_ENTRY(void, WB_RunMemoryUnitTests(JNIEnv* env, jobject o))
+#ifndef PRODUCT
+  TestReservedSpace_test();
+  TestReserveMemorySpecial_test();
+  TestVirtualSpace_test();
+  TestMetaspaceAux_test();
+#endif
+WB_END
+
+WB_ENTRY(void, WB_ReadFromNoaccessArea(JNIEnv* env, jobject o))
+  size_t granularity = os::vm_allocation_granularity();
+  ReservedHeapSpace rhs(100 * granularity, granularity, false, NULL);
+  VirtualSpace vs;
+  vs.initialize(rhs, 50 * granularity);
+
+  //Check if constraints are complied
+  if (!( UseCompressedOops && rhs.base() != NULL &&
+         Universe::narrow_oop_base() != NULL &&
+         Universe::narrow_oop_use_implicit_null_checks() )) {
+    tty->print_cr("WB_ReadFromNoaccessArea method is useless:\n "
+                  "\tUseCompressedOops is %d\n"
+                  "\trhs.base() is "PTR_FORMAT"\n"
+                  "\tUniverse::narrow_oop_base() is "PTR_FORMAT"\n"
+                  "\tUniverse::narrow_oop_use_implicit_null_checks() is %d",
+                  UseCompressedOops,
+                  rhs.base(),
+                  Universe::narrow_oop_base(),
+                  Universe::narrow_oop_use_implicit_null_checks());
+    return;
+  }
+  tty->print_cr("Reading from no access area... ");
+  tty->print_cr("*(vs.low_boundary() - rhs.noaccess_prefix() / 2 ) = %c",
+                *(vs.low_boundary() - rhs.noaccess_prefix() / 2 ));
+WB_END
+
+static jint wb_stress_virtual_space_resize(size_t reserved_space_size,
+                                           size_t magnitude, size_t iterations) {
+  size_t granularity = os::vm_allocation_granularity();
+  ReservedHeapSpace rhs(reserved_space_size * granularity, granularity, false, NULL);
+  VirtualSpace vs;
+  if (!vs.initialize(rhs, 0)) {
+    tty->print_cr("Failed to initialize VirtualSpace. Can't proceed.");
+    return 3;
+  }
+
+  long seed = os::random();
+  tty->print_cr("Random seed is %ld", seed);
+  os::init_random(seed);
+
+  for (size_t i = 0; i < iterations; i++) {
+
+    // Whether we will shrink or grow
+    bool shrink = os::random() % 2L == 0;
+
+    // Get random delta to resize virtual space
+    size_t delta = (size_t)os::random() % magnitude;
+
+    // If we are about to shrink virtual space below zero, then expand instead
+    if (shrink && vs.committed_size() < delta) {
+      shrink = false;
+    }
+
+    // Resizing by delta
+    if (shrink) {
+      vs.shrink_by(delta);
+    } else {
+      // If expanding fails expand_by will silently return false
+      vs.expand_by(delta, true);
+    }
+  }
+  return 0;
+}
+
+WB_ENTRY(jint, WB_StressVirtualSpaceResize(JNIEnv* env, jobject o,
+        jlong reserved_space_size, jlong magnitude, jlong iterations))
+  tty->print_cr("reservedSpaceSize="JLONG_FORMAT", magnitude="JLONG_FORMAT", "
+                "iterations="JLONG_FORMAT"\n", reserved_space_size, magnitude,
+                iterations);
+  if (reserved_space_size < 0 || magnitude < 0 || iterations < 0) {
+    tty->print_cr("One of variables printed above is negative. Can't proceed.\n");
+    return 1;
+  }
+
+  // sizeof(size_t) depends on whether OS is 32bit or 64bit. sizeof(jlong) is
+  // always 8 byte. That's why we should avoid overflow in case of 32bit platform.
+  if (sizeof(size_t) < sizeof(jlong)) {
+    jlong size_t_max_value = (jlong) SIZE_T_MAX_VALUE;
+    if (reserved_space_size > size_t_max_value || magnitude > size_t_max_value
+        || iterations > size_t_max_value) {
+      tty->print_cr("One of variables printed above overflows size_t. Can't proceed.\n");
+      return 2;
+    }
+  }
+
+  return wb_stress_virtual_space_resize((size_t) reserved_space_size,
+                                        (size_t) magnitude, (size_t) iterations);
+WB_END
+
 #if INCLUDE_ALL_GCS
 WB_ENTRY(jboolean, WB_G1IsHumongous(JNIEnv* env, jobject o, jobject obj))
   G1CollectedHeap* g1 = G1CollectedHeap::heap();
@@ -445,6 +553,9 @@
   {CC"getCompressedOopsMaxHeapSize", CC"()J",
       (void*)&WB_GetCompressedOopsMaxHeapSize},
   {CC"printHeapSizes",     CC"()V",                   (void*)&WB_PrintHeapSizes    },
+  {CC"runMemoryUnitTests", CC"()V",                   (void*)&WB_RunMemoryUnitTests},
+  {CC"readFromNoaccessArea",CC"()V",                  (void*)&WB_ReadFromNoaccessArea},
+  {CC"stressVirtualSpaceResize",CC"(JJJ)I",           (void*)&WB_StressVirtualSpaceResize},
 #if INCLUDE_ALL_GCS
   {CC"g1InConcurrentMark", CC"()Z",                   (void*)&WB_G1InConcurrentMark},
   {CC"g1IsHumongous",      CC"(Ljava/lang/Object;)Z", (void*)&WB_G1IsHumongous     },
diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp
index 8060dae..51fb3f7 100644
--- a/hotspot/src/share/vm/runtime/arguments.cpp
+++ b/hotspot/src/share/vm/runtime/arguments.cpp
@@ -1132,9 +1132,6 @@
     Tier3InvokeNotifyFreqLog = 0;
     Tier4InvocationThreshold = 0;
   }
-  if (FLAG_IS_DEFAULT(NmethodSweepFraction)) {
-    FLAG_SET_DEFAULT(NmethodSweepFraction, 1 + ReservedCodeCacheSize / (16 * M));
-  }
 }
 
 #if INCLUDE_ALL_GCS
@@ -1408,7 +1405,7 @@
   // NULL page is located before the heap, we pad the NULL page to the conservative
   // maximum alignment that the GC may ever impose upon the heap.
   size_t displacement_due_to_null_page = align_size_up_(os::vm_page_size(),
-    Arguments::conservative_max_heap_alignment());
+                                                        _conservative_max_heap_alignment);
 
   LP64_ONLY(return OopEncodingHeapMax - displacement_due_to_null_page);
   NOT_LP64(ShouldNotReachHere(); return 0);
@@ -1505,7 +1502,7 @@
   }
 #endif // INCLUDE_ALL_GCS
   _conservative_max_heap_alignment = MAX3(heap_alignment, os::max_page_size(),
-    CollectorPolicy::compute_max_alignment());
+    CollectorPolicy::compute_heap_alignment());
 }
 
 void Arguments::set_ergonomics_flags() {
@@ -2165,6 +2162,10 @@
 
 #if INCLUDE_ALL_GCS
   if (UseG1GC) {
+    status = status && verify_percentage(G1NewSizePercent, "G1NewSizePercent");
+    status = status && verify_percentage(G1MaxNewSizePercent, "G1MaxNewSizePercent");
+    status = status && verify_interval(G1NewSizePercent, 0, G1MaxNewSizePercent, "G1NewSizePercent");
+
     status = status && verify_percentage(InitiatingHeapOccupancyPercent,
                                          "InitiatingHeapOccupancyPercent");
     status = status && verify_min_value(G1RefProcDrainInterval, 1,
@@ -2681,9 +2682,10 @@
         describe_range_error(errcode);
         return JNI_EINVAL;
       }
-      FLAG_SET_CMDLINE(uintx, InitialHeapSize, (uintx)long_initial_heap_size);
+      set_min_heap_size((uintx)long_initial_heap_size);
       // Currently the minimum size and the initial heap sizes are the same.
-      set_min_heap_size(InitialHeapSize);
+      // Can be overridden with -XX:InitialHeapSize.
+      FLAG_SET_CMDLINE(uintx, InitialHeapSize, (uintx)long_initial_heap_size);
     // -Xmx
     } else if (match_option(option, "-Xmx", &tail) || match_option(option, "-XX:MaxHeapSize=", &tail)) {
       julong long_max_heap_size = 0;
@@ -3643,6 +3645,11 @@
         "Incompatible compilation policy selected", NULL);
     }
   }
+  // Set NmethodSweepFraction after the size of the code cache is adapted (in case of tiered)
+  if (FLAG_IS_DEFAULT(NmethodSweepFraction)) {
+    FLAG_SET_DEFAULT(NmethodSweepFraction, 1 + ReservedCodeCacheSize / (16 * M));
+  }
+
 
   // Set heap size based on available physical memory
   set_heap_size();
diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp
index 2fe5420..60cddd0 100644
--- a/hotspot/src/share/vm/runtime/globals.hpp
+++ b/hotspot/src/share/vm/runtime/globals.hpp
@@ -2954,6 +2954,9 @@
   product(intx, MaxRecursiveInlineLevel, 1,                                 \
           "maximum number of nested recursive calls that are inlined")      \
                                                                             \
+  develop(intx, MaxForceInlineLevel, 100,                                   \
+          "maximum number of nested @ForceInline calls that are inlined")   \
+                                                                            \
   product_pd(intx, InlineSmallCode,                                         \
           "Only inline already compiled methods if their code size is "     \
           "less than this")                                                 \
@@ -3019,9 +3022,6 @@
   notproduct(intx, ZombieALotInterval,     5,                               \
           "Number of exits until ZombieALot kicks in")                      \
                                                                             \
-  develop(bool, StressNonEntrant, false,                                    \
-          "Mark nmethods non-entrant at registration")                      \
-                                                                            \
   diagnostic(intx, MallocVerifyInterval,     0,                             \
           "If non-zero, verify C heap after every N calls to "              \
           "malloc/realloc/free")                                            \
@@ -3289,7 +3289,7 @@
           "Exit the VM if we fill the code cache")                          \
                                                                             \
   product(bool, UseCodeCacheFlushing, true,                                 \
-          "Attempt to clean the code cache before shutting off compiler")   \
+          "Remove cold/old nmethods from the code cache")                   \
                                                                             \
   /* interpreter debugging */                                               \
   develop(intx, BinarySwitchThreshold, 5,                                   \
diff --git a/hotspot/src/share/vm/runtime/sweeper.cpp b/hotspot/src/share/vm/runtime/sweeper.cpp
index eab7636..19db749 100644
--- a/hotspot/src/share/vm/runtime/sweeper.cpp
+++ b/hotspot/src/share/vm/runtime/sweeper.cpp
@@ -112,14 +112,13 @@
   if (_records != NULL) {
     _records[_sweep_index].traversal = _traversals;
     _records[_sweep_index].traversal_mark = nm->_stack_traversal_mark;
-    _records[_sweep_index].invocation = _invocations;
+    _records[_sweep_index].invocation = _sweep_fractions_left;
     _records[_sweep_index].compile_id = nm->compile_id();
     _records[_sweep_index].kind = nm->compile_kind();
     _records[_sweep_index].state = nm->_state;
     _records[_sweep_index].vep = nm->verified_entry_point();
     _records[_sweep_index].uep = nm->entry_point();
     _records[_sweep_index].line = line;
-
     _sweep_index = (_sweep_index + 1) % SweeperLogEntries;
   }
 }
@@ -127,26 +126,29 @@
 #define SWEEP(nm)
 #endif
 
-nmethod*  NMethodSweeper::_current         = NULL; // Current nmethod
-long      NMethodSweeper::_traversals      = 0;    // Nof. stack traversals performed
-int       NMethodSweeper::_seen            = 0;    // Nof. nmethods we have currently processed in current pass of CodeCache
-int       NMethodSweeper::_flushed_count   = 0;    // Nof. nmethods flushed in current sweep
-int       NMethodSweeper::_zombified_count = 0;    // Nof. nmethods made zombie in current sweep
-int       NMethodSweeper::_marked_count    = 0;    // Nof. nmethods marked for reclaim in current sweep
+nmethod* NMethodSweeper::_current                      = NULL; // Current nmethod
+long     NMethodSweeper::_traversals                   = 0;    // Stack scan count, also sweep ID.
+long     NMethodSweeper::_time_counter                 = 0;    // Virtual time used to periodically invoke sweeper
+long     NMethodSweeper::_last_sweep                   = 0;    // Value of _time_counter when the last sweep happened
+int      NMethodSweeper::_seen                         = 0;    // Nof. nmethod we have currently processed in current pass of CodeCache
+int      NMethodSweeper::_flushed_count                = 0;    // Nof. nmethods flushed in current sweep
+int      NMethodSweeper::_zombified_count              = 0;    // Nof. nmethods made zombie in current sweep
+int      NMethodSweeper::_marked_for_reclamation_count = 0;    // Nof. nmethods marked for reclaim in current sweep
 
-volatile int NMethodSweeper::_invocations   = 0; // Nof. invocations left until we are completed with this pass
-volatile int NMethodSweeper::_sweep_started = 0; // Whether a sweep is in progress.
+volatile bool NMethodSweeper::_should_sweep            = true; // Indicates if we should invoke the sweeper
+volatile int  NMethodSweeper::_sweep_fractions_left    = 0;    // Nof. invocations left until we are completed with this pass
+volatile int  NMethodSweeper::_sweep_started           = 0;    // Flag to control conc sweeper
+volatile int  NMethodSweeper::_bytes_changed           = 0;    // Counts the total nmethod size if the nmethod changed from:
+                                                               //   1) alive       -> not_entrant
+                                                               //   2) not_entrant -> zombie
+                                                               //   3) zombie      -> marked_for_reclamation
 
-jint      NMethodSweeper::_locked_seen               = 0;
-jint      NMethodSweeper::_not_entrant_seen_on_stack = 0;
-bool      NMethodSweeper::_request_mark_phase        = false;
-
-int       NMethodSweeper::_total_nof_methods_reclaimed = 0;
-jlong     NMethodSweeper::_total_time_sweeping         = 0;
-jlong     NMethodSweeper::_total_time_this_sweep       = 0;
-jlong     NMethodSweeper::_peak_sweep_time             = 0;
-jlong     NMethodSweeper::_peak_sweep_fraction_time    = 0;
-int       NMethodSweeper::_hotness_counter_reset_val   = 0;
+int   NMethodSweeper::_total_nof_methods_reclaimed     = 0;    // Accumulated nof methods flushed
+jlong NMethodSweeper::_total_time_sweeping             = 0;    // Accumulated time sweeping
+jlong NMethodSweeper::_total_time_this_sweep           = 0;    // Total time this sweep
+jlong NMethodSweeper::_peak_sweep_time                 = 0;    // Peak time for a full sweep
+jlong NMethodSweeper::_peak_sweep_fraction_time        = 0;    // Peak time sweeping one fraction
+int   NMethodSweeper::_hotness_counter_reset_val       = 0;
 
 
 class MarkActivationClosure: public CodeBlobClosure {
@@ -197,13 +199,16 @@
     return;
   }
 
+  // Increase time so that we can estimate when to invoke the sweeper again.
+  _time_counter++;
+
   // Check for restart
   assert(CodeCache::find_blob_unsafe(_current) == _current, "Sweeper nmethod cached state invalid");
-  if (!sweep_in_progress() && need_marking_phase()) {
-    _seen        = 0;
-    _invocations = NmethodSweepFraction;
-    _current     = CodeCache::first_nmethod();
-    _traversals  += 1;
+  if (!sweep_in_progress()) {
+    _seen = 0;
+    _sweep_fractions_left = NmethodSweepFraction;
+    _current = CodeCache::first_nmethod();
+    _traversals += 1;
     _total_time_this_sweep = 0;
 
     if (PrintMethodFlushing) {
@@ -211,10 +216,6 @@
     }
     Threads::nmethods_do(&mark_activation_closure);
 
-    // reset the flags since we started a scan from the beginning.
-    reset_nmethod_marking();
-    _locked_seen = 0;
-    _not_entrant_seen_on_stack = 0;
   } else {
     // Only set hotness counter
     Threads::nmethods_do(&set_hotness_closure);
@@ -222,14 +223,48 @@
 
   OrderAccess::storestore();
 }
-
+/**
+ * This function invokes the sweeper if at least one of the three conditions is met:
+ *    (1) The code cache is getting full
+ *    (2) There are sufficient state changes in/since the last sweep.
+ *    (3) We have not been sweeping for 'some time'
+ */
 void NMethodSweeper::possibly_sweep() {
   assert(JavaThread::current()->thread_state() == _thread_in_vm, "must run in vm mode");
   if (!MethodFlushing || !sweep_in_progress()) {
     return;
   }
 
-  if (_invocations > 0) {
+  // If there was no state change while nmethod sweeping, 'should_sweep' will be false.
+  // This is one of the two places where should_sweep can be set to true. The general
+  // idea is as follows: If there is enough free space in the code cache, there is no
+  // need to invoke the sweeper. The following formula (which determines whether to invoke
+  // the sweeper or not) depends on the assumption that for larger ReservedCodeCacheSizes
+  // we need less frequent sweeps than for smaller ReservedCodecCacheSizes. Furthermore,
+  // the formula considers how much space in the code cache is currently used. Here are
+  // some examples that will (hopefully) help in understanding.
+  //
+  // Small ReservedCodeCacheSizes:  (e.g., < 16M) We invoke the sweeper every time, since
+  //                                              the result of the division is 0. This
+  //                                              keeps the used code cache size small
+  //                                              (important for embedded Java)
+  // Large ReservedCodeCacheSize :  (e.g., 256M + code cache is 10% full). The formula
+  //                                              computes: (256 / 16) - 1 = 15
+  //                                              As a result, we invoke the sweeper after
+  //                                              15 invocations of 'mark_active_nmethods.
+  // Large ReservedCodeCacheSize:   (e.g., 256M + code Cache is 90% full). The formula
+  //                                              computes: (256 / 16) - 10 = 6.
+  if (!_should_sweep) {
+    int time_since_last_sweep = _time_counter - _last_sweep;
+    double wait_until_next_sweep = (ReservedCodeCacheSize / (16 * M)) - time_since_last_sweep -
+                                CodeCache::reverse_free_ratio();
+
+    if ((wait_until_next_sweep <= 0.0) || !CompileBroker::should_compile_new_jobs()) {
+      _should_sweep = true;
+    }
+  }
+
+  if (_should_sweep && _sweep_fractions_left > 0) {
     // Only one thread at a time will sweep
     jint old = Atomic::cmpxchg( 1, &_sweep_started, 0 );
     if (old != 0) {
@@ -242,31 +277,46 @@
       memset(_records, 0, sizeof(SweeperRecord) * SweeperLogEntries);
     }
 #endif
-    if (_invocations > 0) {
+
+    if (_sweep_fractions_left > 0) {
       sweep_code_cache();
-      _invocations--;
+      _sweep_fractions_left--;
+    }
+
+    // We are done with sweeping the code cache once.
+    if (_sweep_fractions_left == 0) {
+      _last_sweep = _time_counter;
+      // Reset flag; temporarily disables sweeper
+      _should_sweep = false;
+      // If there was enough state change, 'possibly_enable_sweeper()'
+      // sets '_should_sweep' to true
+      possibly_enable_sweeper();
+      // Reset _bytes_changed only if there was enough state change. _bytes_changed
+      // can further increase by calls to 'report_state_change'.
+      if (_should_sweep) {
+        _bytes_changed = 0;
+      }
     }
     _sweep_started = 0;
   }
 }
 
 void NMethodSweeper::sweep_code_cache() {
-
   jlong sweep_start_counter = os::elapsed_counter();
 
-  _flushed_count   = 0;
-  _zombified_count = 0;
-  _marked_count    = 0;
+  _flushed_count                = 0;
+  _zombified_count              = 0;
+  _marked_for_reclamation_count = 0;
 
   if (PrintMethodFlushing && Verbose) {
-    tty->print_cr("### Sweep at %d out of %d. Invocations left: %d", _seen, CodeCache::nof_nmethods(), _invocations);
+    tty->print_cr("### Sweep at %d out of %d. Invocations left: %d", _seen, CodeCache::nof_nmethods(), _sweep_fractions_left);
   }
 
   if (!CompileBroker::should_compile_new_jobs()) {
     // If we have turned off compilations we might as well do full sweeps
     // in order to reach the clean state faster. Otherwise the sleeping compiler
     // threads will slow down sweeping.
-    _invocations = 1;
+    _sweep_fractions_left = 1;
   }
 
   // We want to visit all nmethods after NmethodSweepFraction
@@ -274,7 +324,7 @@
   // remaining number of invocations.  This is only an estimate since
   // the number of nmethods changes during the sweep so the final
   // stage must iterate until it there are no more nmethods.
-  int todo = (CodeCache::nof_nmethods() - _seen) / _invocations;
+  int todo = (CodeCache::nof_nmethods() - _seen) / _sweep_fractions_left;
   int swept_count = 0;
 
 
@@ -286,11 +336,11 @@
     MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
 
     // The last invocation iterates until there are no more nmethods
-    for (int i = 0; (i < todo || _invocations == 1) && _current != NULL; i++) {
+    for (int i = 0; (i < todo || _sweep_fractions_left == 1) && _current != NULL; i++) {
       swept_count++;
       if (SafepointSynchronize::is_synchronizing()) { // Safepoint request
         if (PrintMethodFlushing && Verbose) {
-          tty->print_cr("### Sweep at %d out of %d, invocation: %d, yielding to safepoint", _seen, CodeCache::nof_nmethods(), _invocations);
+          tty->print_cr("### Sweep at %d out of %d, invocation: %d, yielding to safepoint", _seen, CodeCache::nof_nmethods(), _sweep_fractions_left);
         }
         MutexUnlockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
 
@@ -314,19 +364,7 @@
     }
   }
 
-  assert(_invocations > 1 || _current == NULL, "must have scanned the whole cache");
-
-  if (!sweep_in_progress() && !need_marking_phase() && (_locked_seen || _not_entrant_seen_on_stack)) {
-    // we've completed a scan without making progress but there were
-    // nmethods we were unable to process either because they were
-    // locked or were still on stack. We don't have to aggressively
-    // clean them up so just stop scanning. We could scan once more
-    // but that complicates the control logic and it's unlikely to
-    // matter much.
-    if (PrintMethodFlushing) {
-      tty->print_cr("### Couldn't make progress on some nmethods so stopping sweep");
-    }
-  }
+  assert(_sweep_fractions_left > 1 || _current == NULL, "must have scanned the whole cache");
 
   jlong sweep_end_counter = os::elapsed_counter();
   jlong sweep_time = sweep_end_counter - sweep_start_counter;
@@ -340,21 +378,21 @@
     event.set_starttime(sweep_start_counter);
     event.set_endtime(sweep_end_counter);
     event.set_sweepIndex(_traversals);
-    event.set_sweepFractionIndex(NmethodSweepFraction - _invocations + 1);
+    event.set_sweepFractionIndex(NmethodSweepFraction - _sweep_fractions_left + 1);
     event.set_sweptCount(swept_count);
     event.set_flushedCount(_flushed_count);
-    event.set_markedCount(_marked_count);
+    event.set_markedCount(_marked_for_reclamation_count);
     event.set_zombifiedCount(_zombified_count);
     event.commit();
   }
 
 #ifdef ASSERT
   if(PrintMethodFlushing) {
-    tty->print_cr("### sweeper:      sweep time(%d): " INT64_FORMAT, _invocations, (jlong)sweep_time);
+    tty->print_cr("### sweeper:      sweep time(%d): " INT64_FORMAT, _sweep_fractions_left, (jlong)sweep_time);
   }
 #endif
 
-  if (_invocations == 1) {
+  if (_sweep_fractions_left == 1) {
     _peak_sweep_time = MAX2(_peak_sweep_time, _total_time_this_sweep);
     log_sweep("finished");
   }
@@ -368,12 +406,37 @@
   // it only makes sense to re-enable compilation if we have actually freed memory.
   // Note that typically several kB are released for sweeping 16MB of the code
   // cache. As a result, 'freed_memory' > 0 to restart the compiler.
-  if (UseCodeCacheFlushing && (!CompileBroker::should_compile_new_jobs() && (freed_memory > 0))) {
+  if (!CompileBroker::should_compile_new_jobs() && (freed_memory > 0)) {
     CompileBroker::set_should_compile_new_jobs(CompileBroker::run_compilation);
     log_sweep("restart_compiler");
   }
 }
 
+/**
+ * This function updates the sweeper statistics that keep track of nmethods
+ * state changes. If there is 'enough' state change, the sweeper is invoked
+ * as soon as possible. There can be data races on _bytes_changed. The data
+ * races are benign, since it does not matter if we loose a couple of bytes.
+ * In the worst case we call the sweeper a little later. Also, we are guaranteed
+ * to invoke the sweeper if the code cache gets full.
+ */
+void NMethodSweeper::report_state_change(nmethod* nm) {
+  _bytes_changed += nm->total_size();
+  possibly_enable_sweeper();
+}
+
+/**
+ * Function determines if there was 'enough' state change in the code cache to invoke
+ * the sweeper again. Currently, we determine 'enough' as more than 1% state change in
+ * the code cache since the last sweep.
+ */
+void NMethodSweeper::possibly_enable_sweeper() {
+  double percent_changed = ((double)_bytes_changed / (double)ReservedCodeCacheSize) * 100;
+  if (percent_changed > 1.0) {
+    _should_sweep = true;
+  }
+}
+
 class NMethodMarker: public StackObj {
  private:
   CompilerThread* _thread;
@@ -424,9 +487,6 @@
       MutexLocker cl(CompiledIC_lock);
       nm->cleanup_inline_caches();
       SWEEP(nm);
-    } else {
-      _locked_seen++;
-      SWEEP(nm);
     }
     return freed_memory;
   }
@@ -448,8 +508,9 @@
         tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (zombie) being marked for reclamation", nm->compile_id(), nm);
       }
       nm->mark_for_reclamation();
-      request_nmethod_marking();
-      _marked_count++;
+      // Keep track of code cache state change
+      _bytes_changed += nm->total_size();
+      _marked_for_reclamation_count++;
       SWEEP(nm);
     }
   } else if (nm->is_not_entrant()) {
@@ -459,18 +520,14 @@
       if (PrintMethodFlushing && Verbose) {
         tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (not entrant) being made zombie", nm->compile_id(), nm);
       }
+      // Code cache state change is tracked in make_zombie()
       nm->make_zombie();
-      request_nmethod_marking();
       _zombified_count++;
       SWEEP(nm);
     } else {
       // Still alive, clean up its inline caches
       MutexLocker cl(CompiledIC_lock);
       nm->cleanup_inline_caches();
-      // we coudn't transition this nmethod so don't immediately
-      // request a rescan.  If this method stays on the stack for a
-      // long time we don't want to keep rescanning the code cache.
-      _not_entrant_seen_on_stack++;
       SWEEP(nm);
     }
   } else if (nm->is_unloaded()) {
@@ -485,8 +542,8 @@
       release_nmethod(nm);
       _flushed_count++;
     } else {
+      // Code cache state change is tracked in make_zombie()
       nm->make_zombie();
-      request_nmethod_marking();
       _zombified_count++;
       SWEEP(nm);
     }
@@ -514,7 +571,11 @@
           //    The second condition ensures that methods are not immediately made not-entrant
           //    after compilation.
           nm->make_not_entrant();
-          request_nmethod_marking();
+          // Code cache state change is tracked in make_not_entrant()
+          if (PrintMethodFlushing && Verbose) {
+            tty->print_cr("### Nmethod %d/" PTR_FORMAT "made not-entrant: hotness counter %d/%d threshold %f",
+                          nm->compile_id(), nm, nm->hotness_counter(), reset_val, threshold);
+          }
         }
       }
     }
diff --git a/hotspot/src/share/vm/runtime/sweeper.hpp b/hotspot/src/share/vm/runtime/sweeper.hpp
index bd35176..83040c7 100644
--- a/hotspot/src/share/vm/runtime/sweeper.hpp
+++ b/hotspot/src/share/vm/runtime/sweeper.hpp
@@ -53,22 +53,22 @@
 //     is full.
 
 class NMethodSweeper : public AllStatic {
-  static long      _traversals;      // Stack scan count, also sweep ID.
-  static nmethod*  _current;         // Current nmethod
-  static int       _seen;            // Nof. nmethod we have currently processed in current pass of CodeCache
-  static int       _flushed_count;   // Nof. nmethods flushed in current sweep
-  static int       _zombified_count; // Nof. nmethods made zombie in current sweep
-  static int       _marked_count;    // Nof. nmethods marked for reclaim in current sweep
+  static long      _traversals;                   // Stack scan count, also sweep ID.
+  static long      _time_counter;                 // Virtual time used to periodically invoke sweeper
+  static long      _last_sweep;                   // Value of _time_counter when the last sweep happened
+  static nmethod*  _current;                      // Current nmethod
+  static int       _seen;                         // Nof. nmethod we have currently processed in current pass of CodeCache
+  static int       _flushed_count;                // Nof. nmethods flushed in current sweep
+  static int       _zombified_count;              // Nof. nmethods made zombie in current sweep
+  static int       _marked_for_reclamation_count; // Nof. nmethods marked for reclaim in current sweep
 
-  static volatile int  _invocations;   // No. of invocations left until we are completed with this pass
-  static volatile int  _sweep_started; // Flag to control conc sweeper
-
-  //The following are reset in mark_active_nmethods and synchronized by the safepoint
-  static bool      _request_mark_phase;        // Indicates that a change has happend and we need another mark pahse,
-                                               // always checked and reset at a safepoint so memory will be in sync.
-  static int       _locked_seen;               // Number of locked nmethods encountered during the scan
-  static int       _not_entrant_seen_on_stack; // Number of not entrant nmethod were are still on stack
-
+  static volatile int  _sweep_fractions_left;     // Nof. invocations left until we are completed with this pass
+  static volatile int  _sweep_started;            // Flag to control conc sweeper
+  static volatile bool _should_sweep;             // Indicates if we should invoke the sweeper
+  static volatile int _bytes_changed;             // Counts the total nmethod size if the nmethod changed from:
+                                                  //   1) alive       -> not_entrant
+                                                  //   2) not_entrant -> zombie
+                                                  //   3) zombie      -> marked_for_reclamation
   // Stat counters
   static int       _total_nof_methods_reclaimed;  // Accumulated nof methods flushed
   static jlong     _total_time_sweeping;          // Accumulated time sweeping
@@ -81,9 +81,6 @@
 
   static bool sweep_in_progress();
   static void sweep_code_cache();
-  static void request_nmethod_marking() { _request_mark_phase = true; }
-  static void reset_nmethod_marking()   { _request_mark_phase = false; }
-  static bool need_marking_phase()      { return _request_mark_phase; }
 
   static int _hotness_counter_reset_val;
 
@@ -109,13 +106,8 @@
 
   static int sort_nmethods_by_hotness(nmethod** nm1, nmethod** nm2);
   static int hotness_counter_reset_val();
-
-  static void notify() {
-    // Request a new sweep of the code cache from the beginning. No
-    // need to synchronize the setting of this flag since it only
-    // changes to false at safepoint so we can never overwrite it with false.
-     request_nmethod_marking();
-  }
+  static void report_state_change(nmethod* nm);
+  static void possibly_enable_sweeper();
 };
 
 #endif // SHARE_VM_RUNTIME_SWEEPER_HPP
diff --git a/hotspot/src/share/vm/utilities/globalDefinitions.hpp b/hotspot/src/share/vm/utilities/globalDefinitions.hpp
index 7806cdc..ecb5429 100644
--- a/hotspot/src/share/vm/utilities/globalDefinitions.hpp
+++ b/hotspot/src/share/vm/utilities/globalDefinitions.hpp
@@ -456,6 +456,13 @@
   return (void*) align_size_up_((uintptr_t)addr, size);
 }
 
+// Align down with a lower bound. If the aligning results in 0, return 'alignment'.
+
+inline size_t align_size_down_bounded(size_t size, size_t alignment) {
+  size_t aligned_size = align_size_down_(size, alignment);
+  return aligned_size > 0 ? aligned_size : alignment;
+}
+
 // Clamp an address to be within a specific page
 // 1. If addr is on the page it is returned as is
 // 2. If addr is above the page_address the start of the *next* page will be returned
diff --git a/hotspot/test/compiler/intrinsics/mathexact/GVNTest.java b/hotspot/test/compiler/intrinsics/mathexact/GVNTest.java
new file mode 100644
index 0000000..23fba15
--- /dev/null
+++ b/hotspot/test/compiler/intrinsics/mathexact/GVNTest.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8028207
+ * @summary Verify that GVN doesn't mess up the two addExacts
+ * @compile GVNTest.java
+ * @run main GVNTest
+ *
+ */
+
+public class GVNTest {
+  public static int result = 0;
+  public static int value = 93;
+  public static void main(String[] args) {
+    for (int i = 0; i < 50000; ++i) {
+      result = runTest(value + i);
+      result = runTest(value + i);
+      result = runTest(value + i);
+      result = runTest(value + i);
+      result = runTest(value + i);
+    }
+  }
+
+  public static int runTest(int value) {
+    int v = value + value;
+    int sum = 0;
+    if (v < 4032) {
+      for (int i = 0; i < 1023; ++i) {
+        sum += Math.addExact(value, value);
+      }
+    } else {
+      for (int i = 0; i < 321; ++i) {
+        sum += Math.addExact(value, value);
+      }
+    }
+    return sum + v;
+  }
+}
diff --git a/langtools/test/tools/javac/ArraysInIntersections.java b/hotspot/test/compiler/intrinsics/mathexact/SplitThruPhiTest.java
similarity index 64%
copy from langtools/test/tools/javac/ArraysInIntersections.java
copy to hotspot/test/compiler/intrinsics/mathexact/SplitThruPhiTest.java
index e058c1d..b3b0c0d 100644
--- a/langtools/test/tools/javac/ArraysInIntersections.java
+++ b/hotspot/test/compiler/intrinsics/mathexact/SplitThruPhiTest.java
@@ -23,17 +23,28 @@
 
 /*
  * @test
- * @bug 8021339
- * @summary Allow arrays in intersection types
- * @compile ArraysInIntersections.java
+ * @bug 8028198
+ * @summary Verify that split through phi does the right thing
+ * @compile SplitThruPhiTest.java
+ * @run main SplitThruPhiTest
+ *
  */
 
-import java.io.Serializable;
-
-public class ArraysInIntersections<T extends Serializable & Integer[]> {
-
-    public <S extends Serializable & Integer[]> Object m() {
-        return (Serializable & Integer[]) new Integer[1];
+public class SplitThruPhiTest {
+  public static volatile int value = 19;
+  public static int store = 0;
+  public static void main(String[] args) {
+    for (int i = 0; i < 150000; ++i) {
+      store = runTest(value);
     }
+  }
 
+  public static int runTest(int val) {
+    int result = Math.addExact(val, 1);
+    int total = 0;
+    for (int i = val; i < 200; i = Math.addExact(i, 1)) {
+      total += i;
+    }
+    return total;
+  }
 }
diff --git a/hotspot/test/compiler/profiling/TestUnexpectedProfilingMismatch.java b/hotspot/test/compiler/profiling/TestUnexpectedProfilingMismatch.java
new file mode 100644
index 0000000..b118027
--- /dev/null
+++ b/hotspot/test/compiler/profiling/TestUnexpectedProfilingMismatch.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8027631
+ * @summary profiling of arguments at calls cannot rely on signature of callee for types
+ * @run main/othervm -XX:-BackgroundCompilation -XX:TieredStopAtLevel=3 -XX:TypeProfileLevel=111 -XX:Tier3InvocationThreshold=200 -XX:Tier0InvokeNotifyFreqLog=7 TestUnexpectedProfilingMismatch
+ *
+ */
+
+import java.lang.invoke.*;
+
+public class TestUnexpectedProfilingMismatch {
+
+    static class A {
+    }
+
+    static class B {
+    }
+
+    static void mA(A a) {
+    }
+
+    static void mB(B b) {
+    }
+
+    static final MethodHandle mhA;
+    static final MethodHandle mhB;
+    static {
+        MethodHandles.Lookup lookup = MethodHandles.lookup();
+        MethodType mt = MethodType.methodType(void.class, A.class);
+        MethodHandle res = null;
+        try {
+            res = lookup.findStatic(TestUnexpectedProfilingMismatch.class, "mA", mt);
+        } catch(NoSuchMethodException ex) {
+        } catch(IllegalAccessException ex) {
+        }
+        mhA = res;
+        mt = MethodType.methodType(void.class, B.class);
+        try {
+            res = lookup.findStatic(TestUnexpectedProfilingMismatch.class, "mB", mt);
+        } catch(NoSuchMethodException ex) {
+        } catch(IllegalAccessException ex) {
+        }
+        mhB = res;
+    }
+
+    void m1(A a, boolean doit) throws Throwable {
+        if (doit) {
+            mhA.invoke(a);
+        }
+    }
+
+    void m2(B b) throws Throwable {
+        mhB.invoke(b);
+    }
+
+    static public void main(String[] args) {
+        TestUnexpectedProfilingMismatch tih = new TestUnexpectedProfilingMismatch();
+        A a = new A();
+        B b = new B();
+        try {
+            for (int i = 0; i < 256 - 1; i++) {
+                tih.m1(a, true);
+            }
+            // Will trigger the compilation but will also run once
+            // more interpreted with a non null MDO which it will
+            // update. Make it skip the body of the method.
+            tih.m1(a, false);
+            // Compile this one as well and do the profiling
+            for (int i = 0; i < 256; i++) {
+                tih.m2(b);
+            }
+            // Will run and see a conflict
+            tih.m1(a, true);
+        } catch(Throwable ex) {
+            ex.printStackTrace();
+        }
+        System.out.println("TEST PASSED");
+    }
+}
diff --git a/langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java b/hotspot/test/compiler/profiling/unloadingconflict/B.java
similarity index 88%
rename from langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java
rename to hotspot/test/compiler/profiling/unloadingconflict/B.java
index 4c57562..c37eb86 100644
--- a/langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java
+++ b/hotspot/test/compiler/profiling/unloadingconflict/B.java
@@ -21,8 +21,5 @@
  * questions.
  */
 
-// key: compiler.err.intf.or.array.expected.here
-
-import java.util.List;
-
-class InterfaceExpected<T extends List & String> { }
+public class B {
+}
diff --git a/hotspot/test/compiler/profiling/unloadingconflict/TestProfileConflictClassUnloading.java b/hotspot/test/compiler/profiling/unloadingconflict/TestProfileConflictClassUnloading.java
new file mode 100644
index 0000000..c074e18
--- /dev/null
+++ b/hotspot/test/compiler/profiling/unloadingconflict/TestProfileConflictClassUnloading.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8027572
+ * @summary class unloading resets profile, method compiled after the profile is first set and before class loading sets unknown bit with not recorded class
+ * @build B
+ * @run main/othervm -XX:TypeProfileLevel=222 -XX:-BackgroundCompilation TestProfileConflictClassUnloading
+ *
+ */
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.nio.file.Paths;
+
+public class TestProfileConflictClassUnloading {
+    static class A {
+    }
+
+
+    static void m1(Object o) {
+    }
+
+    static void m2(Object o) {
+        m1(o);
+    }
+
+    static void m3(A a, boolean do_call) {
+        if (!do_call) {
+            return;
+        }
+        m2(a);
+    }
+
+    public static ClassLoader newClassLoader() {
+        try {
+            return new URLClassLoader(new URL[] {
+                    Paths.get(System.getProperty("test.classes",".")).toUri().toURL(),
+            }, null);
+        } catch (MalformedURLException e){
+            throw new RuntimeException("Unexpected URL conversion failure", e);
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        ClassLoader loader = newClassLoader();
+        Object o = loader.loadClass("B").newInstance();
+        // collect conflicting profiles
+        for (int i = 0; i < 5000; i++) {
+            m2(o);
+        }
+        // prepare for conflict
+        A a = new A();
+        for (int i = 0; i < 5000; i++) {
+            m3(a, false);
+        }
+        // unload class in profile
+        o = null;
+        loader = null;
+        System.gc();
+        // record the conflict
+        m3(a, true);
+        // trigger another GC
+        System.gc();
+    }
+}
diff --git a/hotspot/test/gc/arguments/TestMaxHeapSizeTools.java b/hotspot/test/gc/arguments/TestMaxHeapSizeTools.java
index cb7d841..0e07f79 100644
--- a/hotspot/test/gc/arguments/TestMaxHeapSizeTools.java
+++ b/hotspot/test/gc/arguments/TestMaxHeapSizeTools.java
@@ -64,32 +64,29 @@
     long newPlusOldSize = values[0] + values[1];
     long smallValue = newPlusOldSize / 2;
     long largeValue = newPlusOldSize * 2;
+    long maxHeapSize = largeValue + (2 * 1024 * 1024);
 
     // -Xms is not set
-    checkErgonomics(new String[] { gcflag, "-Xmx16M" }, values, -1, -1);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-XX:InitialHeapSize=" + smallValue }, values, smallValue, smallValue);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-XX:InitialHeapSize=" + largeValue }, values, -1, largeValue);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-XX:InitialHeapSize=0" }, values, -1, -1);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize }, values, -1, -1);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-XX:InitialHeapSize=" + smallValue }, values, -1, smallValue);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-XX:InitialHeapSize=" + largeValue }, values, -1, largeValue);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-XX:InitialHeapSize=0" }, values, -1, -1);
 
     // -Xms is set to zero
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms0" }, values, -1, -1);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms0", "-XX:InitialHeapSize=" + smallValue }, values, smallValue, smallValue);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms0", "-XX:InitialHeapSize=" + largeValue }, values, -1, largeValue);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms0", "-XX:InitialHeapSize=0" }, values, -1, -1);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms0" }, values, -1, -1);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms0", "-XX:InitialHeapSize=" + smallValue }, values, -1, smallValue);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms0", "-XX:InitialHeapSize=" + largeValue }, values, -1, largeValue);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms0", "-XX:InitialHeapSize=0" }, values, -1, -1);
 
     // -Xms is set to small value
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms" + smallValue }, values, -1, -1);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms" + smallValue, "-XX:InitialHeapSize=" + smallValue }, values, smallValue, smallValue);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms" + smallValue, "-XX:InitialHeapSize=" + largeValue }, values, smallValue, largeValue);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms" + smallValue, "-XX:InitialHeapSize=0" }, values, smallValue, -1);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms" + smallValue }, values, -1, -1);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms" + smallValue, "-XX:InitialHeapSize=" + smallValue }, values, smallValue, smallValue);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms" + smallValue, "-XX:InitialHeapSize=" + largeValue }, values, smallValue, largeValue);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms" + smallValue, "-XX:InitialHeapSize=0" }, values, smallValue, -1);
 
     // -Xms is set to large value
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms" + largeValue }, values, largeValue, largeValue);
-    // the next case has already been checked elsewhere and gives an error
-    // checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms" + largeValue, "-XX:InitialHeapSize=" + smallValue }, values, smallValue, smallValue);
-    // the next case has already been checked elsewhere too
-    // checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms" + largeValue, "-XX:InitialHeapSize=" + largeValue }, values, values[0], largeValue);
-    checkErgonomics(new String[] { gcflag, "-Xmx16M", "-Xms" + largeValue, "-XX:InitialHeapSize=0" }, values, largeValue, -1);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms" + largeValue }, values, largeValue, largeValue);
+    checkErgonomics(new String[] { gcflag, "-Xmx" + maxHeapSize, "-Xms" + largeValue, "-XX:InitialHeapSize=0" }, values, largeValue, -1);
   }
 
   private static long align_up(long value, long alignment) {
diff --git a/hotspot/test/gc/arguments/TestMaxNewSize.java b/hotspot/test/gc/arguments/TestMaxNewSize.java
new file mode 100644
index 0000000..af20cb8
--- /dev/null
+++ b/hotspot/test/gc/arguments/TestMaxNewSize.java
@@ -0,0 +1,122 @@
+/*
+* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+* 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 TestMaxNewSize
+ * @key gc
+ * @bug 7057939
+ * @summary Make sure that MaxNewSize always has a useful value after argument
+ * processing.
+ * @library /testlibrary
+ * @build TestMaxNewSize
+ * @run main TestMaxNewSize -XX:+UseSerialGC
+ * @run main TestMaxNewSize -XX:+UseParallelGC
+ * @run main TestMaxNewSize -XX:+UseConcMarkSweepGC
+ * @run main TestMaxNewSize -XX:+UseG1GC
+ * @author thomas.schatzl@oracle.com, jesper.wilhelmsson@oracle.com
+ */
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import java.math.BigInteger;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+import com.oracle.java.testlibrary.*;
+
+public class TestMaxNewSize {
+
+  private static void checkMaxNewSize(String[] flags, int heapsize) throws Exception {
+    BigInteger actual = new BigInteger(getMaxNewSize(flags));
+    System.out.println(actual);
+    if (actual.compareTo(new BigInteger((new Long(heapsize)).toString())) == 1) {
+      throw new RuntimeException("MaxNewSize value set to \"" + actual +
+        "\", expected otherwise when running with the following flags: " + Arrays.asList(flags).toString());
+    }
+  }
+
+  private static void checkIncompatibleNewSize(String[] flags) throws Exception {
+    ArrayList<String> finalargs = new ArrayList<String>();
+    finalargs.addAll(Arrays.asList(flags));
+    finalargs.add("-version");
+
+    ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs.toArray(new String[0]));
+    OutputAnalyzer output = new OutputAnalyzer(pb.start());
+    output.shouldContain("Initial young gen size set larger than the maximum young gen size");
+  }
+
+  private static boolean isRunningG1(String[] args) {
+    for (int i = 0; i < args.length; i++) {
+      if (args[i].contains("+UseG1GC")) {
+        return true;
+      }
+    }
+    return false;
+  }
+
+  private static String getMaxNewSize(String[] flags) throws Exception {
+    ArrayList<String> finalargs = new ArrayList<String>();
+    finalargs.addAll(Arrays.asList(flags));
+    if (isRunningG1(flags)) {
+      finalargs.add("-XX:G1HeapRegionSize=1M");
+    }
+    finalargs.add("-XX:+PrintFlagsFinal");
+    finalargs.add("-version");
+
+    ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs.toArray(new String[0]));
+    OutputAnalyzer output = new OutputAnalyzer(pb.start());
+    output.shouldHaveExitValue(0);
+    String stdout = output.getStdout();
+    //System.out.println(stdout);
+    return getFlagValue("MaxNewSize", stdout);
+  }
+
+  private static String getFlagValue(String flag, String where) {
+    Matcher m = Pattern.compile(flag + "\\s+:?=\\s+\\d+").matcher(where);
+    if (!m.find()) {
+      throw new RuntimeException("Could not find value for flag " + flag + " in output string");
+    }
+    String match = m.group();
+    return match.substring(match.lastIndexOf(" ") + 1, match.length());
+  }
+
+  public static void main(String args[]) throws Exception {
+    String gcName = args[0];
+    final int M32 = 32 * 1024 * 1024;
+    final int M64 = 64 * 1024 * 1024;
+    final int M96 = 96 * 1024 * 1024;
+    final int M128 = 128 * 1024 * 1024;
+    checkMaxNewSize(new String[] { gcName, "-Xmx128M" }, M128);
+    checkMaxNewSize(new String[] { gcName, "-Xmx128M", "-XX:NewRatio=5" }, M128);
+    checkMaxNewSize(new String[] { gcName, "-Xmx128M", "-XX:NewSize=32M" }, M128);
+    checkMaxNewSize(new String[] { gcName, "-Xmx128M", "-XX:OldSize=96M" }, M128);
+    checkMaxNewSize(new String[] { gcName, "-Xmx128M", "-XX:MaxNewSize=32M" }, M32);
+    checkMaxNewSize(new String[] { gcName, "-Xmx128M", "-XX:NewSize=32M", "-XX:MaxNewSize=32M" }, M32);
+    checkMaxNewSize(new String[] { gcName, "-Xmx128M", "-XX:NewRatio=6", "-XX:MaxNewSize=32M" }, M32);
+    checkMaxNewSize(new String[] { gcName, "-Xmx128M", "-Xms96M" }, M128);
+    checkMaxNewSize(new String[] { gcName, "-Xmx96M", "-Xms96M" }, M96);
+    checkMaxNewSize(new String[] { gcName, "-XX:NewSize=128M", "-XX:MaxNewSize=50M"}, M128);
+  }
+}
diff --git a/hotspot/test/gc/g1/TestHumongousCodeCacheRoots.java b/hotspot/test/gc/g1/TestHumongousCodeCacheRoots.java
new file mode 100644
index 0000000..0d3ad50
--- /dev/null
+++ b/hotspot/test/gc/g1/TestHumongousCodeCacheRoots.java
@@ -0,0 +1,143 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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
+ * @key regression
+ * @key gc
+ * @bug 8027756
+ * @library /testlibrary /testlibrary/whitebox
+ * @build TestHumongousCodeCacheRoots
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @summary Humongous objects may have references from the code cache
+ * @run main TestHumongousCodeCacheRoots
+*/
+
+import com.oracle.java.testlibrary.*;
+import sun.hotspot.WhiteBox;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+class TestHumongousCodeCacheRootsHelper {
+
+    static final int n = 1000000;
+    static final int[] AA = new int[n];
+    static final int[] BB = new int[n];
+
+    public static void main(String args[]) throws Exception {
+        // do some work so that the compiler compiles this method, inlining the
+        // reference to the integer array (which is a humonguous object) into
+        // the code cache.
+        for(int i = 0; i < n; i++) {
+            AA[i] = 0;
+            BB[i] = 0;
+        }
+        // trigger a GC that checks that the verification code allows humongous
+        // objects with code cache roots; objects should be all live here.
+        System.gc();
+
+        // deoptimize everyhing: this should make all compiled code zombies.
+        WhiteBox wb = WhiteBox.getWhiteBox();
+        wb.deoptimizeAll();
+
+        // trigger a GC that checks that the verification code allows humongous
+        // objects with code cache roots; objects should be all live here.
+        System.gc();
+
+        // wait a little for the code cache sweeper to try to clean up zombie nmethods
+        // and unregister the code roots.
+        try { Thread.sleep(5000); } catch (InterruptedException ex) { }
+
+        // do some work on the arrays to make sure that they need to be live after the GCs
+        for(int i = 0; i < n; i++) {
+            AA[i] = 1;
+            BB[i] = 10;
+        }
+
+        System.out.println();
+    }
+}
+
+public class TestHumongousCodeCacheRoots {
+
+  /**
+   * Executes a class in a new VM process with the given parameters.
+   * @param vmargs Arguments to the VM to run
+   * @param classname Name of the class to run
+   * @param arguments Arguments to the class
+   * @param useTestDotJavaDotOpts Use test.java.opts as part of the VM argument string
+   * @return The OutputAnalyzer with the results for the invocation.
+   */
+  public static OutputAnalyzer runWhiteBoxTest(String[] vmargs, String classname, String[] arguments, boolean useTestDotJavaDotOpts) throws Exception {
+    ArrayList<String> finalargs = new ArrayList<String>();
+
+    String[] whiteboxOpts = new String[] {
+      "-Xbootclasspath/a:.",
+      "-XX:+UnlockDiagnosticVMOptions", "-XX:+WhiteBoxAPI",
+      "-cp", System.getProperty("java.class.path"),
+    };
+
+    if (useTestDotJavaDotOpts) {
+      // System.getProperty("test.java.opts") is '' if no options is set,
+      // we need to skip such a result
+      String[] externalVMOpts = new String[0];
+      if (System.getProperty("test.java.opts") != null && System.getProperty("test.java.opts").length() != 0) {
+        externalVMOpts = System.getProperty("test.java.opts").split(" ");
+      }
+      finalargs.addAll(Arrays.asList(externalVMOpts));
+    }
+
+    finalargs.addAll(Arrays.asList(vmargs));
+    finalargs.addAll(Arrays.asList(whiteboxOpts));
+    finalargs.add(classname);
+    finalargs.addAll(Arrays.asList(arguments));
+
+    ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs.toArray(new String[0]));
+    OutputAnalyzer output = new OutputAnalyzer(pb.start());
+    output.shouldHaveExitValue(0);
+
+    return output;
+  }
+
+  public static void runTest(String compiler, String[] other) throws Exception {
+    ArrayList<String> joined = new ArrayList<String>();
+    joined.add(compiler);
+    joined.addAll(Arrays.asList(other));
+    runWhiteBoxTest(joined.toArray(new String[0]), TestHumongousCodeCacheRootsHelper.class.getName(),
+      new String[] {}, false);
+  }
+
+  public static void main(String[] args) throws Exception {
+    final String[] baseArguments = new String[] {
+      "-XX:+UseG1GC", "-XX:G1HeapRegionSize=1M", "-Xmx100M", // make sure we get a humongous region
+      "-XX:+UnlockDiagnosticVMOptions",
+      "-XX:InitiatingHeapOccupancyPercent=1", // strong code root marking
+      "-XX:+G1VerifyHeapRegionCodeRoots", "-XX:+VerifyAfterGC", // make sure that verification is run
+      "-XX:NmethodSweepFraction=1", "-XX:NmethodSweepCheckInterval=1",  // make the code cache sweep more predictable
+    };
+    runTest("-client", baseArguments);
+    runTest("-server", baseArguments);
+  }
+}
+
diff --git a/hotspot/test/runtime/memory/ReadFromNoaccessArea.java b/hotspot/test/runtime/memory/ReadFromNoaccessArea.java
new file mode 100644
index 0000000..1078dd2
--- /dev/null
+++ b/hotspot/test/runtime/memory/ReadFromNoaccessArea.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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
+ * @summary Test that touching noaccess area in class ReservedHeapSpace results in SIGSEGV/ACCESS_VIOLATION
+ * @library /testlibrary /testlibrary/whitebox
+ * @build ReadFromNoaccessArea
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main ReadFromNoaccessArea
+ */
+
+import com.oracle.java.testlibrary.*;
+import sun.hotspot.WhiteBox;
+
+public class ReadFromNoaccessArea {
+
+  public static void main(String args[]) throws Exception {
+    if (!Platform.is64bit()) {
+      System.out.println("ReadFromNoaccessArea tests is useful only on 64bit architecture. Passing silently.");
+      return;
+    }
+
+    ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
+          "-Xbootclasspath/a:.",
+          "-XX:+UnlockDiagnosticVMOptions",
+          "-XX:+WhiteBoxAPI",
+          "-XX:+UseCompressedOops",
+          "-XX:HeapBaseMinAddress=33G",
+          DummyClassWithMainTryingToReadFromNoaccessArea.class.getName());
+
+    OutputAnalyzer output = new OutputAnalyzer(pb.start());
+    System.out.println("******* Printing stdout for analysis in case of failure *******");
+    System.out.println(output.getStdout());
+    System.out.println("******* Printing stderr for analysis in case of failure *******");
+    System.out.println(output.getStderr());
+    System.out.println("***************************************************************");
+    if (output.getStdout() != null && output.getStdout().contains("WB_ReadFromNoaccessArea method is useless")) {
+      // Test conditions broken. There is no protected page in ReservedHeapSpace in these circumstances. Silently passing test.
+      return;
+    }
+    if (Platform.isWindows()) {
+      output.shouldContain("EXCEPTION_ACCESS_VIOLATION");
+    } else if (Platform.isOSX()) {
+      output.shouldContain("SIGBUS");
+    } else {
+      output.shouldContain("SIGSEGV");
+    }
+  }
+
+  public static class DummyClassWithMainTryingToReadFromNoaccessArea {
+
+    // This method calls whitebox method reading from noaccess area
+    public static void main(String args[]) throws Exception {
+      WhiteBox.getWhiteBox().readFromNoaccessArea();
+      throw new Exception("Call of readFromNoaccessArea succeeded! This is wrong. Crash expected. Test failed.");
+    }
+  }
+
+}
diff --git a/hotspot/test/runtime/memory/RunUnitTestsConcurrently.java b/hotspot/test/runtime/memory/RunUnitTestsConcurrently.java
new file mode 100644
index 0000000..35b855e
--- /dev/null
+++ b/hotspot/test/runtime/memory/RunUnitTestsConcurrently.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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
+ * @summary Test launches unit tests inside vm concurrently
+ * @library /testlibrary /testlibrary/whitebox
+ * @build RunUnitTestsConcurrently
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI RunUnitTestsConcurrently 30 15000
+ */
+
+import com.oracle.java.testlibrary.*;
+import sun.hotspot.WhiteBox;
+
+public class RunUnitTestsConcurrently {
+
+  private static WhiteBox wb;
+  private static long timeout;
+  private static long timeStamp;
+
+  public static class Worker implements Runnable {
+    @Override
+    public void run() {
+      while (System.currentTimeMillis() - timeStamp < timeout) {
+        WhiteBox.getWhiteBox().runMemoryUnitTests();
+      }
+    }
+  }
+
+  public static void main(String[] args) throws InterruptedException {
+    if (!Platform.isDebugBuild() || !Platform.is64bit()) {
+      return;
+    }
+    wb = WhiteBox.getWhiteBox();
+    System.out.println("Starting threads");
+
+    int threads = Integer.valueOf(args[0]);
+    timeout = Long.valueOf(args[1]);
+
+    timeStamp = System.currentTimeMillis();
+
+    Thread[] threadsArray = new Thread[threads];
+    for (int i = 0; i < threads; i++) {
+      threadsArray[i] = new Thread(new Worker());
+      threadsArray[i].start();
+    }
+    for (int i = 0; i < threads; i++) {
+      threadsArray[i].join();
+    }
+
+    System.out.println("Quitting test.");
+  }
+}
diff --git a/langtools/test/tools/javac/ArraysInIntersections.java b/hotspot/test/runtime/memory/StressVirtualSpaceResize.java
similarity index 62%
copy from langtools/test/tools/javac/ArraysInIntersections.java
copy to hotspot/test/runtime/memory/StressVirtualSpaceResize.java
index e058c1d..df97801 100644
--- a/langtools/test/tools/javac/ArraysInIntersections.java
+++ b/hotspot/test/runtime/memory/StressVirtualSpaceResize.java
@@ -23,17 +23,19 @@
 
 /*
  * @test
- * @bug 8021339
- * @summary Allow arrays in intersection types
- * @compile ArraysInIntersections.java
+ * @summary Stress test that expands/shrinks VirtualSpace
+ * @library /testlibrary /testlibrary/whitebox
+ * @build StressVirtualSpaceResize
+ * @run main ClassFileInstaller sun.hotspot.WhiteBox
+ * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI StressVirtualSpaceResize
  */
 
-import java.io.Serializable;
+import sun.hotspot.WhiteBox;
 
-public class ArraysInIntersections<T extends Serializable & Integer[]> {
+public class StressVirtualSpaceResize {
 
-    public <S extends Serializable & Integer[]> Object m() {
-        return (Serializable & Integer[]) new Integer[1];
-    }
-
+  public static void main(String args[]) throws Exception {
+    if (WhiteBox.getWhiteBox().stressVirtualSpaceResize(1000, 0xffffL, 0xffffL) != 0)
+      throw new RuntimeException("Whitebox method stressVirtualSpaceResize returned non zero exit code");
+  }
 }
diff --git a/hotspot/test/testlibrary/whitebox/sun/hotspot/WhiteBox.java b/hotspot/test/testlibrary/whitebox/sun/hotspot/WhiteBox.java
index 091b5f7..da1244c 100644
--- a/hotspot/test/testlibrary/whitebox/sun/hotspot/WhiteBox.java
+++ b/hotspot/test/testlibrary/whitebox/sun/hotspot/WhiteBox.java
@@ -144,4 +144,10 @@
 
   // force Full GC
   public native void fullGC();
+
+  // Tests on ReservedSpace/VirtualSpace classes
+  public native int stressVirtualSpaceResize(long reservedSpaceSize, long magnitude, long iterations);
+  public native void runMemoryUnitTests();
+  public native void readFromNoaccessArea();
+
 }
diff --git a/jaxp/.hgtags b/jaxp/.hgtags
index 43356fd..0e916a9 100644
--- a/jaxp/.hgtags
+++ b/jaxp/.hgtags
@@ -237,3 +237,4 @@
 0046d2278204b7eff76803fc4623cb48c7e6384d jdk8-b113
 1b1e12117fe2840e5d21ae9a4b309e4f981f3ea8 jdk8-b114
 f610fd46463e6b0533dd92bce11a1e7d84984e64 jdk8-b115
+e757eb9aee3d6bec7da074c47e07616104a8df33 jdk8-b116
diff --git a/jaxws/.hgtags b/jaxws/.hgtags
index cee784b..5a6cfd9 100644
--- a/jaxws/.hgtags
+++ b/jaxws/.hgtags
@@ -237,3 +237,4 @@
 9261f342aa73a79bbd1a817ae72fa72b15ef30bc jdk8-b113
 9ad289610fc6effe9076280b7920d0f16470709f jdk8-b114
 e126d8eca69b83a1cc159c2375b7c33140346d2b jdk8-b115
+587560c222a2476066852224ed02d39b5090a299 jdk8-b116
diff --git a/jdk/.hgignore b/jdk/.hgignore
index e849b9e..d8754b1 100644
--- a/jdk/.hgignore
+++ b/jdk/.hgignore
@@ -1,5 +1,6 @@
 ^build/
 ^dist/
+^testoutput/
 /nbproject/private/
 ^make/netbeans/.*/build/
 ^make/netbeans/.*/dist/
diff --git a/jdk/.hgtags b/jdk/.hgtags
index 0804e08..7610f9a 100644
--- a/jdk/.hgtags
+++ b/jdk/.hgtags
@@ -237,3 +237,4 @@
 5b4261b4b72af53e8e178933ef6bc6c7f8cdbc60 jdk8-b113
 f26a0c8071bde1e3b923713c75156e4a58955623 jdk8-b114
 f82b730c798b6bf38946baaba8a7d80fd5efaa70 jdk8-b115
+0dc0067f3b8efb299a4c23f76ee26ea64df9e1d7 jdk8-b116
diff --git a/jdk/make/java/management/mapfile-vers b/jdk/make/java/management/mapfile-vers
index 0ea2ab4..1cf52a8 100644
--- a/jdk/make/java/management/mapfile-vers
+++ b/jdk/make/java/management/mapfile-vers
@@ -103,6 +103,7 @@
 	    Java_sun_management_VMManagementImpl_getSafepointCount;
 	    Java_sun_management_VMManagementImpl_getSafepointSyncTime;
 	    Java_sun_management_VMManagementImpl_getStartupTime;
+	    Java_sun_management_VMManagementImpl_getUptime0;
 	    Java_sun_management_VMManagementImpl_getTotalApplicationNonStoppedTime;
 	    Java_sun_management_VMManagementImpl_getTotalClassCount;
 	    Java_sun_management_VMManagementImpl_getTotalCompileTime;
diff --git a/jdk/make/tools/sharing/classlist.linux b/jdk/make/tools/sharing/classlist.linux
index 3d73d7f..fe642b2 100644
--- a/jdk/make/tools/sharing/classlist.linux
+++ b/jdk/make/tools/sharing/classlist.linux
@@ -1,2327 +1,2454 @@
-java/lang/Object
-java/lang/String
-java/io/Serializable
-java/lang/Comparable
-java/lang/CharSequence
-java/lang/Class
-java/lang/reflect/GenericDeclaration
-java/lang/reflect/Type
-java/lang/reflect/AnnotatedElement
-java/lang/Cloneable
-java/lang/ClassLoader
-java/lang/System
-java/lang/Throwable
-java/lang/Error
-java/lang/ThreadDeath
-java/lang/Exception
-java/lang/RuntimeException
-java/security/ProtectionDomain
-java/security/AccessControlContext
-java/lang/ClassNotFoundException
-java/lang/NoClassDefFoundError
-java/lang/LinkageError
-java/lang/ClassCastException
-java/lang/ArrayStoreException
-java/lang/VirtualMachineError
-java/lang/OutOfMemoryError
-java/lang/StackOverflowError
-java/lang/IllegalMonitorStateException
-java/lang/ref/Reference
-java/lang/ref/SoftReference
-java/lang/ref/WeakReference
-java/lang/ref/FinalReference
-java/lang/ref/PhantomReference
-java/lang/ref/Finalizer
-java/lang/Thread
-java/lang/Runnable
-java/lang/ThreadGroup
-java/lang/Thread$UncaughtExceptionHandler
-java/util/Properties
-java/util/Hashtable
-java/util/Map
-java/util/Dictionary
-java/lang/reflect/AccessibleObject
-java/lang/reflect/Field
-java/lang/reflect/Member
-java/lang/reflect/Method
-java/lang/reflect/Constructor
-sun/reflect/MagicAccessorImpl
-sun/reflect/MethodAccessorImpl
-sun/reflect/MethodAccessor
-sun/reflect/ConstructorAccessorImpl
-sun/reflect/ConstructorAccessor
-sun/reflect/DelegatingClassLoader
-sun/reflect/ConstantPool
-sun/reflect/UnsafeStaticFieldAccessorImpl
-sun/reflect/UnsafeFieldAccessorImpl
-sun/reflect/FieldAccessorImpl
-sun/reflect/FieldAccessor
-java/util/Vector
-java/util/List
-java/util/Collection
-java/lang/Iterable
-java/util/RandomAccess
-java/util/AbstractList
-java/util/AbstractCollection
-java/lang/StringBuffer
-java/lang/AbstractStringBuilder
-java/lang/Appendable
-java/lang/StackTraceElement
-java/nio/Buffer
-java/lang/Boolean
-java/lang/Character
-java/lang/Float
-java/lang/Number
-java/lang/Double
-java/lang/Byte
-java/lang/Short
-java/lang/Integer
-java/lang/Long
-java/lang/NullPointerException
-java/lang/ArithmeticException
-java/io/ObjectStreamField
-java/lang/String$CaseInsensitiveComparator
-java/util/Comparator
-java/lang/RuntimePermission
-java/security/BasicPermission
-java/security/Permission
-java/security/Guard
-sun/misc/SoftCache
-java/util/AbstractMap
-java/lang/ref/ReferenceQueue
-java/lang/ref/ReferenceQueue$Null
-java/lang/ref/ReferenceQueue$Lock
-java/util/HashMap
-java/lang/annotation/Annotation
-java/util/HashMap$Entry
-java/util/Map$Entry
-java/security/AccessController
-java/lang/reflect/ReflectPermission
-sun/reflect/ReflectionFactory$GetReflectionFactoryAction
-java/security/PrivilegedAction
-java/util/Stack
-sun/reflect/ReflectionFactory
-java/lang/ref/Reference$Lock
-java/lang/ref/Reference$ReferenceHandler
-java/lang/ref/Finalizer$FinalizerThread
-java/util/Enumeration
-java/util/Iterator
-java/util/Hashtable$Entry
-java/nio/charset/Charset
-sun/nio/cs/StandardCharsets
-sun/nio/cs/FastCharsetProvider
-java/nio/charset/spi/CharsetProvider
-sun/nio/cs/StandardCharsets$Aliases
-sun/util/PreHashedMap
-sun/nio/cs/StandardCharsets$Classes
-sun/nio/cs/StandardCharsets$Cache
-java/lang/ThreadLocal
-java/util/concurrent/atomic/AtomicInteger
-sun/misc/Unsafe
-java/lang/NoSuchMethodError
-java/lang/IncompatibleClassChangeError
-sun/reflect/Reflection
-java/util/Collections
-java/util/Collections$EmptySet
-java/util/AbstractSet
-java/util/Set
-java/util/Collections$EmptyList
-java/util/Collections$EmptyMap
-java/util/Collections$ReverseComparator
-java/util/Collections$SynchronizedMap
-java/lang/Class$3
-java/lang/reflect/Modifier
-java/lang/reflect/ReflectAccess
-sun/reflect/LangReflectAccess
-java/util/Arrays
-java/lang/Math
-sun/nio/cs/US_ASCII
-sun/nio/cs/HistoricallyNamedCharset
-sun/misc/VM
-java/lang/StringCoding
-java/lang/ThreadLocal$ThreadLocalMap
-java/lang/ThreadLocal$ThreadLocalMap$Entry
-java/lang/StringCoding$StringDecoder
-sun/nio/cs/US_ASCII$Decoder
-java/nio/charset/CharsetDecoder
-java/nio/charset/CodingErrorAction
-java/nio/ByteBuffer
-java/nio/HeapByteBuffer
-java/nio/Bits
-java/nio/ByteOrder
-java/nio/CharBuffer
-java/lang/Readable
-java/nio/HeapCharBuffer
-java/nio/charset/CoderResult
-java/nio/charset/CoderResult$1
-java/nio/charset/CoderResult$Cache
-java/nio/charset/CoderResult$2
-sun/misc/Version
-java/io/FileInputStream
-java/io/InputStream
-java/io/Closeable
-java/io/FileDescriptor
-java/io/FileOutputStream
-java/io/OutputStream
-java/io/Flushable
-java/io/BufferedInputStream
-java/io/FilterInputStream
-java/util/concurrent/atomic/AtomicReferenceFieldUpdater
-java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
-sun/reflect/misc/ReflectUtil
-java/io/PrintStream
-java/io/FilterOutputStream
-java/io/BufferedOutputStream
-java/io/OutputStreamWriter
-java/io/Writer
-sun/nio/cs/StreamEncoder
-sun/security/action/GetPropertyAction
-sun/nio/cs/US_ASCII$Encoder
-java/nio/charset/CharsetEncoder
-sun/nio/cs/Surrogate$Parser
-sun/nio/cs/Surrogate
-java/io/BufferedWriter
-java/lang/Runtime
-java/io/File
-java/io/FileSystem
-java/io/UnixFileSystem
-java/io/ExpiringCache
-java/io/ExpiringCache$1
-java/util/LinkedHashMap
-java/util/LinkedHashMap$Entry
-java/lang/StringBuilder
-sun/misc/SharedSecrets
-java/lang/ClassLoader$3
-java/lang/StringCoding$StringEncoder
-java/io/ExpiringCache$Entry
-java/lang/ClassLoader$NativeLibrary
-java/lang/Terminator
-java/lang/Terminator$1
-sun/misc/SignalHandler
-sun/misc/Signal
-sun/misc/NativeSignalHandler
-java/io/Console
-java/io/Console$1
-sun/misc/JavaIOAccess
-java/lang/Shutdown
-java/util/ArrayList
-java/lang/Shutdown$Lock
-java/lang/ApplicationShutdownHooks
-java/util/IdentityHashMap
-sun/misc/OSEnvironment
-java/lang/System$2
-sun/misc/JavaLangAccess
-java/lang/Compiler
-java/lang/Compiler$1
-sun/misc/Launcher
-sun/misc/Launcher$Factory
-java/net/URLStreamHandlerFactory
-sun/misc/Launcher$ExtClassLoader
-java/net/URLClassLoader
-java/security/SecureClassLoader
-sun/security/util/Debug
-java/net/URLClassLoader$7
-sun/misc/JavaNetAccess
-java/util/StringTokenizer
-sun/misc/Launcher$ExtClassLoader$1
-java/security/PrivilegedExceptionAction
-sun/misc/MetaIndex
-java/io/BufferedReader
-java/io/Reader
-java/io/FileReader
-java/io/InputStreamReader
-sun/nio/cs/StreamDecoder
-java/lang/reflect/Array
-sun/net/www/ParseUtil
-java/util/BitSet
-java/io/ObjectStreamClass
-java/net/URL
-java/util/Locale
-java/util/concurrent/ConcurrentHashMap
-java/util/concurrent/ConcurrentMap
-java/util/concurrent/ConcurrentHashMap$Segment
-java/util/concurrent/locks/ReentrantLock
-java/util/concurrent/locks/Lock
-java/util/concurrent/locks/ReentrantLock$NonfairSync
-java/util/concurrent/locks/ReentrantLock$Sync
-java/util/concurrent/locks/AbstractQueuedSynchronizer
-java/util/concurrent/locks/AbstractOwnableSynchronizer
-java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
-java/util/concurrent/ConcurrentHashMap$HashEntry
-java/lang/CharacterDataLatin1
-java/net/Parts
-sun/net/www/protocol/file/Handler
-java/net/URLStreamHandler
-java/lang/Class$1
-sun/reflect/ReflectionFactory$1
-sun/reflect/NativeConstructorAccessorImpl
-sun/reflect/DelegatingConstructorAccessorImpl
-java/util/HashSet
-sun/misc/URLClassPath
-sun/net/www/protocol/jar/Handler
-sun/misc/Launcher$AppClassLoader
-sun/misc/Launcher$AppClassLoader$1
-java/lang/SystemClassLoaderAction
-java/net/URLClassLoader$1
-sun/misc/URLClassPath$3
-sun/misc/URLClassPath$JarLoader
-sun/misc/URLClassPath$Loader
-java/security/PrivilegedActionException
-sun/misc/URLClassPath$FileLoader
-sun/misc/URLClassPath$FileLoader$1
-sun/misc/Resource
-sun/nio/ByteBuffered
-java/security/CodeSource
-java/security/Permissions
-java/security/PermissionCollection
-sun/net/www/protocol/file/FileURLConnection
-sun/net/www/URLConnection
-java/net/URLConnection
-java/net/UnknownContentHandler
-java/net/ContentHandler
-sun/net/www/MessageHeader
-java/io/FilePermission
-java/io/FilePermission$1
-sun/security/provider/PolicyFile
-java/security/Policy
-java/security/Policy$UnsupportedEmptyCollection
-java/io/FilePermissionCollection
-java/security/AllPermission
-java/security/UnresolvedPermission
-java/security/BasicPermissionCollection
-java/security/Principal
-java/security/cert/Certificate
-java/util/AbstractList$Itr
-java/util/IdentityHashMap$KeySet
-java/util/IdentityHashMap$KeyIterator
-java/util/IdentityHashMap$IdentityHashMapIterator
-java/io/DeleteOnExitHook
-java/util/LinkedHashSet
-java/util/HashMap$KeySet
-java/util/LinkedHashMap$KeyIterator
-java/util/LinkedHashMap$LinkedHashIterator
-java/awt/Frame
-java/awt/MenuContainer
-java/awt/Window
-javax/accessibility/Accessible
-java/awt/Container
-java/awt/Component
-java/awt/image/ImageObserver
-java/lang/InterruptedException
-java/awt/Label
-java/util/logging/Logger
-java/util/logging/Handler
-java/util/logging/Level
-java/util/logging/LogManager
-java/util/logging/LogManager$1
-java/beans/PropertyChangeSupport
-java/util/logging/LogManager$LogNode
-java/util/logging/LoggingPermission
-java/util/logging/LogManager$Cleaner
-java/util/logging/LogManager$RootLogger
-java/util/logging/LogManager$2
-java/util/Properties$LineReader
-java/util/Hashtable$Enumerator
-java/beans/PropertyChangeEvent
-java/util/EventObject
-java/awt/Component$AWTTreeLock
-sun/awt/NativeLibLoader
-sun/security/action/LoadLibraryAction
-java/awt/GraphicsEnvironment
-java/awt/GraphicsEnvironment$1
-java/lang/ProcessEnvironment
-java/lang/ProcessEnvironment$Variable
-java/lang/ProcessEnvironment$ExternalData
-java/lang/ProcessEnvironment$Value
-java/lang/ProcessEnvironment$StringEnvironment
-java/util/Collections$UnmodifiableMap
-java/awt/Toolkit
-java/awt/Toolkit$3
-sun/util/CoreResourceBundleControl
-java/util/ResourceBundle$Control
-java/util/Arrays$ArrayList
-java/util/Collections$UnmodifiableRandomAccessList
-java/util/Collections$UnmodifiableList
-java/util/Collections$UnmodifiableCollection
-java/util/ResourceBundle
-java/util/ResourceBundle$1
-java/util/ResourceBundle$RBClassLoader
-java/util/ResourceBundle$RBClassLoader$1
-java/util/ResourceBundle$CacheKey
-java/util/ResourceBundle$LoaderReference
-java/util/ResourceBundle$CacheKeyReference
-java/util/ResourceBundle$SingleFormatControl
-sun/awt/resources/awt
-java/util/ListResourceBundle
-java/awt/Toolkit$1
-java/io/FileNotFoundException
-java/io/IOException
-java/awt/event/KeyEvent
-java/awt/event/InputEvent
-java/awt/event/ComponentEvent
+com/sun/java/swing/SwingUtilities3
+com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI
+com/sun/swing/internal/plaf/basic/resources/basic
+com/sun/swing/internal/plaf/metal/resources/metal
+java/applet/Applet
 java/awt/AWTEvent
-java/awt/event/NativeLibLoader
-java/util/WeakHashMap
-java/util/WeakHashMap$Entry
-java/awt/Component$DummyRequestFocusController
-sun/awt/RequestFocusController
-java/awt/LayoutManager
-java/awt/LightweightDispatcher
-java/awt/event/AWTEventListener
-java/util/EventListener
-java/awt/Dimension
-java/awt/geom/Dimension2D
-java/util/concurrent/atomic/AtomicBoolean
-java/awt/ComponentOrientation
-java/awt/Component$2
-java/lang/NoSuchMethodException
-sun/awt/AppContext
-sun/awt/AppContext$1
-sun/awt/AppContext$2
-sun/awt/MostRecentKeyValue
-java/awt/Cursor
-sun/awt/X11GraphicsEnvironment
-sun/java2d/SunGraphicsEnvironment
-sun/java2d/FontSupport
-sun/awt/DisplayChangedListener
-java/io/FilenameFilter
-sun/awt/X11GraphicsEnvironment$1
-sun/awt/SunToolkit
-sun/awt/WindowClosingSupport
-sun/awt/WindowClosingListener
-sun/awt/ComponentFactory
-sun/awt/InputMethodSupport
-java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
-java/util/concurrent/locks/Condition
-sun/awt/AWTAutoShutdown
-sun/awt/SunToolkit$6
-java/awt/Dialog$ModalExclusionType
-java/lang/Enum
-java/awt/Dialog
-java/awt/Dialog$ModalityType
-java/awt/ModalEventFilter
-java/awt/EventFilter
-sun/reflect/UnsafeFieldAccessorFactory
-sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
-sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl
-sun/awt/SunDisplayChanger
-sun/java2d/SunGraphicsEnvironment$1
-java/io/StreamTokenizer
-sun/font/FontManager
-sun/font/FileFont
-sun/font/PhysicalFont
-sun/font/Font2D
-sun/font/CompositeFont
-java/util/HashMap$Values
-java/util/HashMap$ValueIterator
-java/util/HashMap$HashIterator
-java/awt/Font
-java/awt/geom/AffineTransform
-sun/font/AttributeValues
-sun/font/EAttribute
-java/text/AttributedCharacterIterator$Attribute
-java/lang/Class$4
-sun/reflect/NativeMethodAccessorImpl
-sun/reflect/DelegatingMethodAccessorImpl
-java/awt/font/TextAttribute
-java/lang/Integer$IntegerCache
-sun/font/TrueTypeFont
-java/awt/font/FontRenderContext
-java/awt/RenderingHints
-sun/awt/SunHints
-sun/awt/SunHints$Key
-java/awt/RenderingHints$Key
-sun/awt/SunHints$Value
-sun/awt/SunHints$LCDContrastKey
-sun/font/Type1Font
-java/awt/geom/Point2D$Float
-java/awt/geom/Point2D
-sun/font/StrikeMetrics
-java/awt/geom/Rectangle2D$Float
-java/awt/geom/Rectangle2D
-java/awt/geom/RectangularShape
-java/awt/Shape
-java/awt/geom/GeneralPath
-java/awt/geom/Path2D$Float
-java/awt/geom/Path2D
-sun/font/CharToGlyphMapper
-sun/font/PhysicalStrike
-sun/font/FontStrike
-sun/font/GlyphList
-sun/font/StrikeCache
-sun/java2d/Disposer
-sun/java2d/Disposer$1
-sun/font/StrikeCache$1
-sun/awt/motif/MFontConfiguration
-sun/awt/FontConfiguration
-sun/awt/FontDescriptor
-java/util/Scanner
-java/util/regex/Pattern
-java/util/regex/Pattern$Node
-java/util/regex/Pattern$LastNode
-java/util/regex/Pattern$GroupHead
-java/util/regex/Pattern$CharPropertyNames
-java/util/regex/Pattern$CharPropertyNames$1
-java/util/regex/Pattern$CharPropertyNames$CharPropertyFactory
-java/util/regex/Pattern$CharPropertyNames$2
-java/util/regex/Pattern$CharPropertyNames$5
-java/util/regex/Pattern$CharPropertyNames$3
-java/util/regex/Pattern$CharPropertyNames$6
-java/util/regex/Pattern$CharPropertyNames$CloneableProperty
-java/util/regex/Pattern$CharProperty
-java/util/regex/Pattern$CharPropertyNames$4
-java/util/regex/Pattern$CharPropertyNames$7
-java/util/regex/Pattern$CharPropertyNames$8
-java/util/regex/Pattern$CharPropertyNames$9
-java/util/regex/Pattern$CharPropertyNames$10
-java/util/regex/Pattern$CharPropertyNames$11
-java/util/regex/Pattern$CharPropertyNames$12
-java/util/regex/Pattern$CharPropertyNames$13
-java/util/regex/Pattern$CharPropertyNames$14
-java/util/regex/Pattern$CharPropertyNames$15
-java/util/regex/Pattern$CharPropertyNames$16
-java/util/regex/Pattern$CharPropertyNames$17
-java/util/regex/Pattern$CharPropertyNames$18
-java/util/regex/Pattern$CharPropertyNames$19
-java/util/regex/Pattern$CharPropertyNames$20
-java/util/regex/Pattern$CharPropertyNames$21
-java/util/regex/Pattern$Curly
-java/util/regex/Pattern$Slice
-java/util/regex/Pattern$Begin
-java/util/regex/Pattern$First
-java/util/regex/Pattern$Start
-java/util/regex/Pattern$TreeInfo
-java/util/regex/Pattern$All
-java/util/regex/Pattern$BitClass
-java/util/regex/Pattern$BmpCharProperty
-java/util/regex/Pattern$6
-java/util/regex/Pattern$CharProperty$1
-sun/nio/ch/FileChannelImpl
-java/nio/channels/FileChannel
-java/nio/channels/ByteChannel
-java/nio/channels/ReadableByteChannel
-java/nio/channels/Channel
-java/nio/channels/WritableByteChannel
-java/nio/channels/GatheringByteChannel
-java/nio/channels/ScatteringByteChannel
-java/nio/channels/spi/AbstractInterruptibleChannel
-java/nio/channels/InterruptibleChannel
-sun/nio/ch/Util
-sun/nio/ch/IOUtil
-sun/nio/ch/FileDispatcher
-sun/nio/ch/NativeDispatcher
-sun/nio/ch/Reflect
-java/nio/MappedByteBuffer
-sun/nio/ch/Reflect$1
-sun/nio/ch/NativeThreadSet
-java/nio/channels/Channels
-java/util/Scanner$1
-sun/misc/LRUCache
-java/util/regex/Matcher
-java/util/regex/MatchResult
-java/text/NumberFormat
-java/text/Format
-java/text/spi/NumberFormatProvider
-java/util/spi/LocaleServiceProvider
-sun/util/LocaleServiceProviderPool
-sun/util/LocaleServiceProviderPool$1
-java/util/ServiceLoader
-java/util/ServiceLoader$LazyIterator
-java/util/ServiceLoader$1
-java/util/HashMap$EntrySet
-java/util/LinkedHashMap$EntryIterator
-sun/misc/Launcher$1
-sun/misc/URLClassPath$2
-java/lang/ClassLoader$2
-sun/misc/URLClassPath$1
-java/net/URLClassLoader$3
-sun/misc/CompoundEnumeration
-sun/misc/URLClassPath$JarLoader$1
-sun/misc/FileURLMapper
-java/net/URLClassLoader$3$1
-sun/util/resources/LocaleData
-sun/util/resources/LocaleData$1
-sun/util/resources/LocaleData$LocaleDataResourceBundleControl
-sun/util/LocaleDataMetaInfo
-sun/text/resources/FormatData
-java/util/ResourceBundle$BundleReference
-sun/text/resources/FormatData_en
-sun/text/resources/FormatData_en_US
-java/text/DecimalFormatSymbols
-java/text/spi/DecimalFormatSymbolsProvider
-java/util/Currency
-java/util/Currency$1
-java/util/spi/CurrencyNameProvider
-sun/util/resources/CurrencyNames
-sun/util/resources/LocaleNamesBundle
-sun/util/resources/OpenListResourceBundle
-sun/util/resources/CurrencyNames_en_US
-java/text/DecimalFormat
-java/text/FieldPosition
-java/text/DigitList
-java/math/RoundingMode
-java/util/regex/Pattern$GroupTail
-java/util/regex/Pattern$Ctype
-java/util/regex/Pattern$Ques
-java/util/regex/Pattern$GroupCurly
-java/util/regex/Pattern$5
-java/util/regex/Pattern$Loop
-java/util/regex/Pattern$Prolog
-java/util/regex/Pattern$BranchConn
-java/util/regex/Pattern$Branch
-java/nio/channels/spi/AbstractInterruptibleChannel$1
-sun/nio/ch/Interruptible
-sun/nio/ch/NativeThread
-sun/nio/ch/DirectBuffer
-java/nio/DirectByteBuffer
-java/nio/DirectByteBuffer$Deallocator
-sun/misc/Cleaner
-sun/nio/ch/IOStatus
-java/util/regex/ASCII
-java/io/DataInputStream
-java/io/DataInput
-java/lang/Short$ShortCache
-java/util/HashMap$KeyIterator
-sun/font/CompositeFontDescriptor
-sun/font/Font2DHandle
-sun/font/FontFamily
-java/awt/GraphicsDevice
-sun/awt/X11GraphicsDevice
-sun/awt/X11GraphicsConfig
-java/awt/GraphicsConfiguration
-java/awt/ImageCapabilities
-sun/java2d/x11/X11SurfaceData
-sun/java2d/SurfaceData
-java/awt/Transparency
-sun/java2d/DisposerTarget
-sun/java2d/InvalidPipeException
-java/lang/IllegalStateException
-sun/java2d/NullSurfaceData
-sun/java2d/loops/SurfaceType
-sun/awt/image/PixelConverter
-sun/awt/image/PixelConverter$Xrgb
-sun/awt/image/PixelConverter$Argb
-sun/awt/image/PixelConverter$ArgbPre
-sun/awt/image/PixelConverter$Xbgr
-sun/awt/image/PixelConverter$Rgba
-sun/awt/image/PixelConverter$RgbaPre
-sun/awt/image/PixelConverter$Ushort565Rgb
-sun/awt/image/PixelConverter$Ushort555Rgb
-sun/awt/image/PixelConverter$Ushort555Rgbx
-sun/awt/image/PixelConverter$Ushort4444Argb
-sun/awt/image/PixelConverter$ByteGray
-sun/awt/image/PixelConverter$UshortGray
-sun/awt/image/PixelConverter$Rgbx
-sun/awt/image/PixelConverter$Bgrx
-sun/awt/image/PixelConverter$ArgbBm
-java/awt/image/ColorModel
-java/awt/image/DirectColorModel
-java/awt/image/PackedColorModel
-java/awt/color/ColorSpace
-java/awt/color/ICC_Profile
-java/awt/color/ICC_ProfileRGB
-java/awt/color/ICC_Profile$1
-java/awt/color/ICC_ColorSpace
-sun/java2d/pipe/NullPipe
-sun/java2d/pipe/PixelDrawPipe
-sun/java2d/pipe/PixelFillPipe
-sun/java2d/pipe/ShapeDrawPipe
-sun/java2d/pipe/TextPipe
-sun/java2d/pipe/DrawImagePipe
-java/awt/image/IndexColorModel
-sun/java2d/pipe/LoopPipe
-sun/java2d/pipe/OutlineTextRenderer
-sun/java2d/pipe/SolidTextRenderer
-sun/java2d/pipe/GlyphListLoopPipe
-sun/java2d/pipe/GlyphListPipe
-sun/java2d/pipe/AATextRenderer
-sun/java2d/pipe/LCDTextRenderer
-sun/java2d/pipe/AlphaColorPipe
-sun/java2d/pipe/CompositePipe
-sun/java2d/pipe/PixelToShapeConverter
-sun/java2d/pipe/TextRenderer
-sun/java2d/pipe/SpanClipRenderer
-sun/java2d/pipe/Region
-sun/java2d/pipe/RegionIterator
-sun/java2d/pipe/AlphaPaintPipe
-sun/java2d/pipe/SpanShapeRenderer$Composite
-sun/java2d/pipe/SpanShapeRenderer
-sun/java2d/pipe/GeneralCompositePipe
-sun/java2d/pipe/DrawImage
-sun/java2d/loops/RenderCache
-sun/java2d/loops/RenderCache$Entry
-sun/java2d/loops/XORComposite
-java/awt/Composite
-sun/font/X11TextRenderer
-sun/java2d/loops/GraphicsPrimitive
-sun/java2d/x11/X11PMBlitLoops
-sun/java2d/loops/Blit
-sun/java2d/loops/GraphicsPrimitiveMgr
-sun/java2d/loops/CompositeType
-sun/java2d/SunGraphics2D
-sun/awt/ConstrainableGraphics
-java/awt/Graphics2D
-java/awt/Graphics
-java/awt/Color
-java/awt/Paint
-java/awt/AlphaComposite
-sun/java2d/loops/BlitBg
-sun/java2d/loops/ScaledBlit
-sun/java2d/loops/FillRect
-sun/java2d/loops/FillSpans
-sun/java2d/loops/DrawLine
-sun/java2d/loops/DrawRect
-sun/java2d/loops/DrawPolygons
-sun/java2d/loops/DrawPath
-sun/java2d/loops/FillPath
-sun/java2d/loops/MaskBlit
-sun/java2d/loops/MaskFill
-sun/java2d/loops/DrawGlyphList
-sun/java2d/loops/DrawGlyphListAA
-sun/java2d/loops/DrawGlyphListLCD
-sun/java2d/loops/TransformHelper
-java/awt/BasicStroke
-java/awt/Stroke
-sun/misc/PerformanceLogger
-sun/misc/PerformanceLogger$TimeData
-sun/java2d/pipe/ValidatePipe
-sun/java2d/loops/CustomComponent
-sun/java2d/loops/GraphicsPrimitiveProxy
-sun/java2d/loops/GeneralRenderer
-sun/java2d/loops/GraphicsPrimitiveMgr$1
-sun/java2d/loops/GraphicsPrimitiveMgr$2
-sun/java2d/x11/X11PMBlitLoops$DelegateBlitLoop
-sun/java2d/x11/X11PMBlitBgLoops
-sun/java2d/x11/X11SurfaceData$LazyPipe
-sun/awt/X11GraphicsConfig$X11GCDisposerRecord
-sun/java2d/DisposerRecord
-java/awt/BorderLayout
-java/awt/LayoutManager2
-java/awt/Rectangle
-java/awt/Toolkit$2
-sun/awt/X11/XToolkit
-sun/awt/X11/XConstants
-sun/awt/UNIXToolkit
-java/util/TreeMap
-java/util/NavigableMap
-java/util/SortedMap
-sun/awt/X11/XlibWrapper
-sun/awt/X11/XUtilConstants
-sun/awt/X11/XProtocolConstants
-sun/awt/X11/XCursorFontConstants
-sun/awt/X11/XlibWrapper$1
-sun/awt/X11/XToolkit$4
-sun/awt/X11/XModifierKeymap
-sun/awt/X11/XWrapperBase
-sun/awt/X11/Native
-sun/awt/X11/Native$1
-java/awt/EventQueue
-java/util/EmptyStackException
-java/lang/reflect/InvocationTargetException
-java/awt/EventDispatchThread
-java/awt/event/PaintEvent
-java/awt/event/MouseEvent
-sun/awt/PeerEvent
-java/awt/event/InvocationEvent
-java/awt/ActiveEvent
-sun/awt/X11/XToolkit$1
-sun/awt/X11/XEventDispatcher
-sun/awt/SunToolkit$ModalityListenerList
-sun/awt/ModalityListener
-sun/awt/SunToolkit$1
-java/util/MissingResourceException
-java/awt/Queue
-sun/awt/PostEventQueue
-java/util/LinkedList
-java/util/Deque
-java/util/Queue
-java/util/AbstractSequentialList
-sun/awt/X11/AwtScreenData
-sun/awt/X11/XWM
-sun/awt/X11/MWMConstants
-sun/awt/X11/XAtom
-java/awt/Insets
-sun/awt/X11/XWM$1
-sun/awt/X11/XSetWindowAttributes
-sun/awt/X11/XErrorEvent
-sun/awt/X11/XNETProtocol
-sun/awt/X11/XStateProtocol
-sun/awt/X11/XLayerProtocol
-sun/awt/X11/XProtocol
-sun/awt/X11/WindowPropertyGetter
-sun/awt/X11/UnsafeXDisposerRecord
-sun/awt/X11/XPropertyCache
-sun/awt/X11/XWINProtocol
-sun/awt/X11/XAtomList
-sun/awt/X11/XToolkit$3
-sun/awt/X11/XAnyEvent
-java/awt/Window$WindowDisposerRecord
-java/awt/KeyboardFocusManager
-java/awt/KeyEventDispatcher
-java/awt/KeyEventPostProcessor
+java/awt/AWTEvent$1
+java/awt/AWTEventMulticaster
 java/awt/AWTKeyStroke
 java/awt/AWTKeyStroke$1
-java/awt/DefaultKeyboardFocusManager
-java/awt/DefaultFocusTraversalPolicy
+java/awt/ActiveEvent
+java/awt/Adjustable
+java/awt/AlphaComposite
+java/awt/BasicStroke
+java/awt/BorderLayout
+java/awt/BufferCapabilities
+java/awt/Canvas
+java/awt/CardLayout
+java/awt/CardLayout$Card
+java/awt/Color
+java/awt/Component
+java/awt/Component$1
+java/awt/Component$3
+java/awt/Component$AWTTreeLock
+java/awt/Component$AccessibleAWTComponent
+java/awt/Component$BaselineResizeBehavior
+java/awt/Component$BltBufferStrategy
+java/awt/Component$BltSubRegionBufferStrategy
+java/awt/Component$DummyRequestFocusController
+java/awt/Component$FlipBufferStrategy
+java/awt/ComponentOrientation
+java/awt/Composite
+java/awt/Conditional
+java/awt/Container
+java/awt/Container$1
+java/awt/Container$AccessibleAWTContainer
 java/awt/ContainerOrderFocusTraversalPolicy
+java/awt/Cursor
+java/awt/Cursor$1
+java/awt/DefaultFocusTraversalPolicy
+java/awt/DefaultKeyboardFocusManager
+java/awt/DefaultKeyboardFocusManager$1
+java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent
+java/awt/DefaultKeyboardFocusManager$TypeAheadMarker
+java/awt/Dialog
+java/awt/Dialog$ModalExclusionType
+java/awt/Dialog$ModalityType
+java/awt/Dimension
+java/awt/Event
+java/awt/EventDispatchThread
+java/awt/EventDispatchThread$1
+java/awt/EventDispatchThread$HierarchyEventFilter
+java/awt/EventFilter
+java/awt/EventFilter$FilterAction
+java/awt/EventQueue
+java/awt/EventQueue$1
+java/awt/EventQueue$1AWTInvocationLock
+java/awt/EventQueue$2
+java/awt/EventQueue$3
+java/awt/EventQueue$4
+java/awt/EventQueue$5
+java/awt/FlowLayout
 java/awt/FocusTraversalPolicy
-java/util/Collections$UnmodifiableSet
-sun/awt/HeadlessToolkit
-sun/awt/X11/XKeyboardFocusManagerPeer
-java/awt/peer/KeyboardFocusManagerPeer
-sun/awt/X11/XKeyboardFocusManagerPeer$1
-sun/awt/X11/XFramePeer
-java/awt/peer/FramePeer
-java/awt/peer/WindowPeer
-java/awt/peer/ContainerPeer
-java/awt/peer/ComponentPeer
-sun/awt/X11/XDecoratedPeer
-sun/awt/X11/XWindowPeer
-sun/awt/X11/XPanelPeer
-java/awt/peer/PanelPeer
-sun/awt/X11/XCanvasPeer
-java/awt/peer/CanvasPeer
-sun/awt/X11/XComponentPeer
-java/awt/dnd/peer/DropTargetPeer
-sun/awt/X11/XWindow
-sun/awt/X11ComponentPeer
-sun/awt/X11/XBaseWindow
-sun/awt/X11/XCreateWindowParams
-java/lang/Long$LongCache
-sun/awt/X11/XBaseWindow$InitialiseState
-sun/awt/X11/XBaseWindow$StateLock
-sun/awt/X11/AwtGraphicsConfigData
-sun/awt/X11/XVisualInfo
-java/awt/SystemColor
-sun/awt/X11/MotifColorUtilities
-java/lang/StrictMath
-sun/awt/X11/XRepaintArea
-sun/awt/RepaintArea
-sun/awt/X11/XWindowAttributesData
-java/util/concurrent/locks/LockSupport
-sun/awt/X11/WindowDimensions
+java/awt/Font
+java/awt/Font$FontAccessImpl
+java/awt/FontFormatException
+java/awt/FontMetrics
+java/awt/Frame
+java/awt/Frame$1
+java/awt/Graphics
+java/awt/Graphics2D
+java/awt/GraphicsCallback
+java/awt/GraphicsCallback$PaintCallback
+java/awt/GraphicsConfiguration
+java/awt/GraphicsDevice
+java/awt/GraphicsEnvironment
+java/awt/GraphicsEnvironment$1
+java/awt/GridLayout
+java/awt/Image
+java/awt/Image$1
+java/awt/ImageCapabilities
+java/awt/ImageMediaEntry
+java/awt/Insets
+java/awt/ItemSelectable
+java/awt/KeyEventDispatcher
+java/awt/KeyEventPostProcessor
+java/awt/KeyboardFocusManager
+java/awt/KeyboardFocusManager$1
+java/awt/KeyboardFocusManager$3
+java/awt/KeyboardFocusManager$HeavyweightFocusRequest
+java/awt/KeyboardFocusManager$LightweightFocusRequest
+java/awt/Label
+java/awt/LayoutManager
+java/awt/LayoutManager2
+java/awt/LightweightDispatcher
+java/awt/LightweightDispatcher$2
+java/awt/MediaEntry
+java/awt/MediaTracker
+java/awt/MenuBar
+java/awt/MenuComponent
+java/awt/MenuContainer
+java/awt/ModalEventFilter
+java/awt/Paint
+java/awt/Panel
 java/awt/Point
-java/util/TreeMap$Entry
-sun/nio/cs/UTF_8
-sun/nio/cs/Unicode
-sun/nio/cs/UTF_8$Encoder
-sun/nio/cs/UTF_8$Decoder
-sun/nio/cs/Surrogate$Generator
-sun/awt/X11/XPropertyEvent
-sun/awt/X11/XDropTargetEventProcessor
-sun/awt/X11/XDragSourceContextPeer
-sun/awt/X11/XDragSourceProtocolListener
-sun/awt/dnd/SunDragSourceContextPeer
-java/awt/dnd/peer/DragSourceContextPeer
-sun/awt/X11/XAwtState
-sun/awt/X11/XBaseWindow$1
-sun/awt/X11/XRootWindow
-sun/nio/cs/ISO_8859_1
-sun/nio/cs/ISO_8859_1$Encoder
-sun/nio/cs/ISO_8859_1$Decoder
-sun/java2d/x11/X11SurfaceData$X11WindowSurfaceData
-sun/java2d/loops/RenderLoops
-sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec
-sun/java2d/DefaultDisposerRecord
-sun/java2d/x11/X11Renderer
-sun/awt/X11/XGlobalCursorManager
-sun/awt/GlobalCursorManager
-java/awt/Cursor$CursorDisposer
-java/awt/AWTException
-java/awt/HeadlessException
-java/lang/UnsupportedOperationException
-sun/reflect/UnsafeLongFieldAccessorImpl
-sun/reflect/UnsafeIntegerFieldAccessorImpl
-sun/awt/X11/XClientMessageEvent
-sun/awt/X11/XIconInfo
-sun/awt/X11/XAWTIcon32_java_icon16_png
-sun/awt/X11/XAWTIcon32_java_icon24_png
-sun/awt/X11/XAWTIcon32_java_icon32_png
-sun/awt/X11/XAWTIcon32_java_icon48_png
-sun/awt/X11/XSizeHints
-sun/awt/X11/XContentWindow
-sun/awt/X11/XFocusProxyWindow
-sun/awt/X11/XWMHints
-java/util/LinkedList$ListItr
-java/util/ListIterator
-sun/awt/SunToolkit$2
-java/awt/image/BufferStrategy
+java/awt/PrintGraphics
+java/awt/Queue
+java/awt/Rectangle
+java/awt/RenderingHints
+java/awt/RenderingHints$Key
+java/awt/SentEvent
+java/awt/SequencedEvent
+java/awt/SequencedEvent$1
+java/awt/Shape
+java/awt/SplashScreen
+java/awt/Stroke
+java/awt/SystemColor
+java/awt/Toolkit
+java/awt/Toolkit$1
+java/awt/Toolkit$2
+java/awt/Toolkit$3
+java/awt/Toolkit$4
+java/awt/Toolkit$5
+java/awt/Toolkit$DesktopPropertyChangeSupport
+java/awt/Toolkit$DesktopPropertyChangeSupport$1
+java/awt/Toolkit$SelectiveAWTEventListener
+java/awt/Toolkit$ToolkitEventMulticaster
+java/awt/Transparency
+java/awt/TrayIcon
+java/awt/VKCollection
+java/awt/Window
+java/awt/Window$1
+java/awt/Window$1DisposeAction
+java/awt/Window$Type
+java/awt/Window$WindowDisposerRecord
+java/awt/color/ColorSpace
+java/awt/color/ICC_ColorSpace
+java/awt/color/ICC_Profile
+java/awt/color/ICC_Profile$1
+java/awt/color/ICC_ProfileRGB
+java/awt/datatransfer/Clipboard
+java/awt/datatransfer/ClipboardOwner
+java/awt/datatransfer/FlavorMap
+java/awt/datatransfer/FlavorTable
+java/awt/datatransfer/SystemFlavorMap
+java/awt/datatransfer/Transferable
 java/awt/dnd/DropTarget
+java/awt/dnd/DropTargetContext
 java/awt/dnd/DropTargetListener
+java/awt/dnd/peer/DragSourceContextPeer
+java/awt/dnd/peer/DropTargetContextPeer
+java/awt/dnd/peer/DropTargetPeer
+java/awt/event/AWTEventListener
+java/awt/event/AWTEventListenerProxy
+java/awt/event/ActionEvent
+java/awt/event/ActionListener
+java/awt/event/AdjustmentEvent
+java/awt/event/AdjustmentListener
+java/awt/event/ComponentAdapter
+java/awt/event/ComponentEvent
 java/awt/event/ComponentListener
+java/awt/event/ContainerEvent
+java/awt/event/ContainerListener
+java/awt/event/FocusAdapter
+java/awt/event/FocusEvent
 java/awt/event/FocusListener
-java/awt/event/HierarchyListener
 java/awt/event/HierarchyBoundsListener
+java/awt/event/HierarchyListener
+java/awt/event/InputEvent
+java/awt/event/InputEvent$1
+java/awt/event/InputMethodEvent
+java/awt/event/InputMethodListener
+java/awt/event/InvocationEvent
+java/awt/event/InvocationEvent$1
+java/awt/event/ItemEvent
+java/awt/event/ItemListener
+java/awt/event/KeyAdapter
+java/awt/event/KeyEvent
+java/awt/event/KeyEvent$1
 java/awt/event/KeyListener
+java/awt/event/MouseAdapter
+java/awt/event/MouseEvent
 java/awt/event/MouseListener
+java/awt/event/MouseMotionAdapter
 java/awt/event/MouseMotionListener
 java/awt/event/MouseWheelListener
-java/awt/event/InputMethodListener
-java/awt/event/ContainerListener
-javax/accessibility/AccessibleContext
-sun/reflect/UnsafeObjectFieldAccessorImpl
-java/awt/peer/LightweightPeer
-sun/awt/X11/XLabelPeer
+java/awt/event/NativeLibLoader
+java/awt/event/NativeLibLoader$1
+java/awt/event/PaintEvent
+java/awt/event/TextListener
+java/awt/event/WindowAdapter
+java/awt/event/WindowEvent
+java/awt/event/WindowFocusListener
+java/awt/event/WindowListener
+java/awt/event/WindowStateListener
+java/awt/font/FontRenderContext
+java/awt/font/GlyphVector
+java/awt/font/LineMetrics
+java/awt/font/TextAttribute
+java/awt/geom/AffineTransform
+java/awt/geom/Dimension2D
+java/awt/geom/GeneralPath
+java/awt/geom/Line2D
+java/awt/geom/Line2D$Float
+java/awt/geom/Path2D
+java/awt/geom/Path2D$Float
+java/awt/geom/PathIterator
+java/awt/geom/Point2D
+java/awt/geom/Point2D$Float
+java/awt/geom/RectIterator
+java/awt/geom/Rectangle2D
+java/awt/geom/Rectangle2D$Float
+java/awt/geom/RectangularShape
+java/awt/im/InputContext
+java/awt/im/InputMethodRequests
+java/awt/im/spi/InputMethod
+java/awt/im/spi/InputMethodContext
+java/awt/im/spi/InputMethodDescriptor
+java/awt/image/BufferStrategy
+java/awt/image/BufferedImage
+java/awt/image/BufferedImage$1
+java/awt/image/ColorModel
+java/awt/image/ColorModel$1
+java/awt/image/ComponentSampleModel
+java/awt/image/DataBuffer
+java/awt/image/DataBuffer$1
+java/awt/image/DataBufferByte
+java/awt/image/DataBufferInt
+java/awt/image/DirectColorModel
+java/awt/image/FilteredImageSource
+java/awt/image/ImageConsumer
+java/awt/image/ImageFilter
+java/awt/image/ImageObserver
+java/awt/image/ImageProducer
+java/awt/image/IndexColorModel
+java/awt/image/PackedColorModel
+java/awt/image/PixelInterleavedSampleModel
+java/awt/image/RGBImageFilter
+java/awt/image/Raster
+java/awt/image/RenderedImage
+java/awt/image/SampleModel
+java/awt/image/SinglePixelPackedSampleModel
+java/awt/image/VolatileImage
+java/awt/image/WritableRaster
+java/awt/image/WritableRenderedImage
+java/awt/peer/CanvasPeer
+java/awt/peer/ComponentPeer
+java/awt/peer/ContainerPeer
+java/awt/peer/FramePeer
+java/awt/peer/KeyboardFocusManagerPeer
 java/awt/peer/LabelPeer
-sun/awt/X11/XMapEvent
-sun/awt/X11/XQueryTree
-sun/awt/X11/XConfigureEvent
-sun/awt/X11/PropMwmHints
-sun/awt/GlobalCursorManager$NativeUpdater
-javax/swing/JFrame
-javax/swing/WindowConstants
-javax/swing/RootPaneContainer
-javax/swing/TransferHandler$HasGetTransferHandler
-javax/swing/JLabel
-javax/swing/SwingConstants
-javax/swing/JComponent
-javax/swing/JComponent$1
-javax/swing/SwingUtilities
-javax/swing/JRootPane
-sun/security/action/GetBooleanAction
-javax/swing/event/EventListenerList
-javax/swing/JPanel
-java/awt/FlowLayout
-javax/swing/UIManager
-javax/swing/UIManager$LookAndFeelInfo
-sun/swing/SwingUtilities2
-sun/swing/SwingUtilities2$LSBCacheEntry
-javax/swing/UIManager$LAFState
-javax/swing/UIDefaults
-javax/swing/MultiUIDefaults
-javax/swing/UIManager$1
-javax/swing/plaf/metal/MetalLookAndFeel
-javax/swing/plaf/basic/BasicLookAndFeel
-javax/swing/LookAndFeel
-sun/swing/DefaultLookup
-javax/swing/plaf/metal/OceanTheme
-javax/swing/plaf/metal/DefaultMetalTheme
-javax/swing/plaf/metal/MetalTheme
-javax/swing/plaf/ColorUIResource
-javax/swing/plaf/UIResource
-sun/swing/PrintColorUIResource
-javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate
-javax/swing/plaf/FontUIResource
-sun/swing/SwingLazyValue
-javax/swing/UIDefaults$LazyValue
-javax/swing/UIDefaults$ActiveValue
-javax/swing/plaf/InsetsUIResource
-sun/swing/SwingUtilities2$2
-javax/swing/plaf/basic/BasicLookAndFeel$2
-javax/swing/plaf/DimensionUIResource
-javax/swing/UIDefaults$LazyInputMap
-java/lang/Character$CharacterCache
-javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue
-javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue
-java/awt/print/PrinterJob
-sun/swing/SwingUtilities2$AATextInfo
-sun/awt/X11/XAWTXSettings
-sun/awt/X11/XMSelectionListener
-sun/awt/XSettings
-sun/awt/X11/XMSelection
-sun/awt/X11/XMSelection$1
-javax/swing/plaf/metal/MetalLookAndFeel$AATextListener
+java/awt/peer/LightweightPeer
+java/awt/peer/PanelPeer
+java/awt/peer/SystemTrayPeer
+java/awt/peer/WindowPeer
+java/awt/print/PrinterGraphics
+java/beans/ChangeListenerMap
+java/beans/PropertyChangeEvent
 java/beans/PropertyChangeListener
 java/beans/PropertyChangeListenerProxy
+java/beans/PropertyChangeSupport
+java/beans/PropertyChangeSupport$PropertyChangeListenerMap
+java/beans/VetoableChangeListener
+java/io/Bits
+java/io/BufferedInputStream
+java/io/BufferedOutputStream
+java/io/BufferedReader
+java/io/BufferedWriter
+java/io/ByteArrayInputStream
+java/io/ByteArrayOutputStream
+java/io/Closeable
+java/io/DataInput
+java/io/DataInputStream
+java/io/DataOutput
+java/io/DataOutputStream
+java/io/DefaultFileSystem
+java/io/EOFException
+java/io/ExpiringCache
+java/io/ExpiringCache$1
+java/io/ExpiringCache$Entry
+java/io/Externalizable
+java/io/File
+java/io/File$PathStatus
+java/io/FileDescriptor
+java/io/FileDescriptor$1
+java/io/FileInputStream
+java/io/FileInputStream$1
+java/io/FileNotFoundException
+java/io/FileOutputStream
+java/io/FileOutputStream$1
+java/io/FilePermission
+java/io/FilePermission$1
+java/io/FilePermissionCollection
+java/io/FileReader
+java/io/FileSystem
+java/io/FileWriter
+java/io/FilenameFilter
+java/io/FilterInputStream
+java/io/FilterOutputStream
+java/io/FilterReader
+java/io/Flushable
+java/io/IOException
+java/io/InputStream
+java/io/InputStreamReader
+java/io/InterruptedIOException
+java/io/ObjectInput
+java/io/ObjectInputStream
+java/io/ObjectInputStream$BlockDataInputStream
+java/io/ObjectInputStream$GetField
+java/io/ObjectInputStream$GetFieldImpl
+java/io/ObjectInputStream$HandleTable
+java/io/ObjectInputStream$HandleTable$HandleList
+java/io/ObjectInputStream$PeekInputStream
+java/io/ObjectInputStream$ValidationList
+java/io/ObjectOutput
+java/io/ObjectOutputStream
+java/io/ObjectOutputStream$BlockDataOutputStream
+java/io/ObjectOutputStream$HandleTable
+java/io/ObjectOutputStream$ReplaceTable
+java/io/ObjectStreamClass
+java/io/ObjectStreamClass$1
+java/io/ObjectStreamClass$2
+java/io/ObjectStreamClass$3
+java/io/ObjectStreamClass$4
+java/io/ObjectStreamClass$5
+java/io/ObjectStreamClass$Caches
+java/io/ObjectStreamClass$ClassDataSlot
+java/io/ObjectStreamClass$EntryFuture
+java/io/ObjectStreamClass$ExceptionInfo
+java/io/ObjectStreamClass$FieldReflector
+java/io/ObjectStreamClass$FieldReflectorKey
+java/io/ObjectStreamClass$MemberSignature
+java/io/ObjectStreamClass$WeakClassKey
+java/io/ObjectStreamConstants
+java/io/ObjectStreamField
+java/io/OutputStream
+java/io/OutputStreamWriter
+java/io/PrintStream
+java/io/PushbackInputStream
+java/io/RandomAccessFile
+java/io/RandomAccessFile$1
+java/io/Reader
+java/io/SerialCallbackContext
+java/io/Serializable
+java/io/StreamTokenizer
+java/io/StringReader
+java/io/StringWriter
+java/io/UnixFileSystem
+java/io/UnsupportedEncodingException
+java/io/Writer
+java/lang/AbstractStringBuilder
+java/lang/Appendable
+java/lang/ApplicationShutdownHooks
+java/lang/ApplicationShutdownHooks$1
+java/lang/ArithmeticException
+java/lang/ArrayIndexOutOfBoundsException
+java/lang/ArrayStoreException
+java/lang/AutoCloseable
+java/lang/Boolean
+java/lang/BootstrapMethodError
+java/lang/Byte
+java/lang/CharSequence
+java/lang/Character
+java/lang/Character$CharacterCache
+java/lang/CharacterData
+java/lang/CharacterData00
+java/lang/CharacterDataLatin1
+java/lang/Class
+java/lang/Class$1
+java/lang/Class$3
+java/lang/Class$4
+java/lang/Class$AnnotationData
+java/lang/Class$Atomic
+java/lang/Class$ReflectionData
+java/lang/ClassCastException
+java/lang/ClassFormatError
+java/lang/ClassLoader
+java/lang/ClassLoader$2
+java/lang/ClassLoader$3
+java/lang/ClassLoader$NativeLibrary
+java/lang/ClassLoader$ParallelLoaders
+java/lang/ClassNotFoundException
+java/lang/ClassValue$ClassValueMap
+java/lang/CloneNotSupportedException
+java/lang/Cloneable
+java/lang/Comparable
+java/lang/Compiler
+java/lang/Compiler$1
+java/lang/Double
+java/lang/Enum
+java/lang/Error
+java/lang/Exception
+java/lang/ExceptionInInitializerError
+java/lang/Float
+java/lang/IllegalAccessError
+java/lang/IllegalAccessException
+java/lang/IllegalArgumentException
+java/lang/IllegalMonitorStateException
+java/lang/IllegalStateException
+java/lang/IncompatibleClassChangeError
+java/lang/IndexOutOfBoundsException
+java/lang/InheritableThreadLocal
+java/lang/InstantiationException
+java/lang/Integer
+java/lang/Integer$IntegerCache
+java/lang/InternalError
+java/lang/InterruptedException
+java/lang/Iterable
+java/lang/LinkageError
+java/lang/Long
+java/lang/Long$LongCache
+java/lang/Math
+java/lang/NoClassDefFoundError
+java/lang/NoSuchFieldException
+java/lang/NoSuchMethodError
+java/lang/NoSuchMethodException
+java/lang/NullPointerException
+java/lang/Number
+java/lang/NumberFormatException
+java/lang/Object
+java/lang/OutOfMemoryError
+java/lang/Package
+java/lang/Process
+java/lang/ProcessBuilder
+java/lang/ProcessBuilder$NullOutputStream
+java/lang/ProcessEnvironment
+java/lang/ProcessEnvironment$ExternalData
+java/lang/ProcessEnvironment$StringEnvironment
+java/lang/ProcessEnvironment$Value
+java/lang/ProcessEnvironment$Variable
+java/lang/ProcessImpl
+java/lang/Readable
+java/lang/ReflectiveOperationException
+java/lang/Runnable
+java/lang/Runtime
+java/lang/RuntimeException
+java/lang/RuntimePermission
+java/lang/SecurityException
+java/lang/SecurityManager
+java/lang/Short
+java/lang/Shutdown
+java/lang/Shutdown$Lock
+java/lang/StackOverflowError
+java/lang/StackTraceElement
+java/lang/StrictMath
+java/lang/String
+java/lang/String$CaseInsensitiveComparator
+java/lang/StringBuffer
+java/lang/StringBuilder
+java/lang/StringCoding
+java/lang/StringCoding$StringDecoder
+java/lang/StringCoding$StringEncoder
+java/lang/StringIndexOutOfBoundsException
+java/lang/System
+java/lang/System$2
+java/lang/SystemClassLoaderAction
+java/lang/Terminator
+java/lang/Terminator$1
+java/lang/Thread
+java/lang/Thread$State
+java/lang/Thread$UncaughtExceptionHandler
+java/lang/ThreadDeath
+java/lang/ThreadGroup
+java/lang/ThreadLocal
+java/lang/ThreadLocal$ThreadLocalMap
+java/lang/ThreadLocal$ThreadLocalMap$Entry
+java/lang/Throwable
+java/lang/Throwable$PrintStreamOrWriter
+java/lang/Throwable$WrappedPrintStream
+java/lang/UNIXProcess
+java/lang/UNIXProcess$1
+java/lang/UNIXProcess$2
+java/lang/UNIXProcess$3
+java/lang/UNIXProcess$4
+java/lang/UNIXProcess$LaunchMechanism
+java/lang/UNIXProcess$ProcessPipeInputStream
+java/lang/UNIXProcess$ProcessPipeOutputStream
+java/lang/UNIXProcess$ProcessReaperThreadFactory
+java/lang/UNIXProcess$ProcessReaperThreadFactory$1
+java/lang/UnsatisfiedLinkError
+java/lang/UnsupportedOperationException
+java/lang/VirtualMachineError
+java/lang/Void
+java/lang/annotation/Annotation
+java/lang/invoke/CallSite
+java/lang/invoke/ConstantCallSite
+java/lang/invoke/DirectMethodHandle
+java/lang/invoke/Invokers
+java/lang/invoke/LambdaForm
+java/lang/invoke/LambdaForm$NamedFunction
+java/lang/invoke/MemberName
+java/lang/invoke/MemberName$Factory
+java/lang/invoke/MethodHandle
+java/lang/invoke/MethodHandleImpl
+java/lang/invoke/MethodHandleNatives
+java/lang/invoke/MethodHandleStatics
+java/lang/invoke/MethodHandleStatics$1
+java/lang/invoke/MethodType
+java/lang/invoke/MethodType$ConcurrentWeakInternSet
+java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry
+java/lang/invoke/MethodTypeForm
+java/lang/invoke/MutableCallSite
+java/lang/invoke/VolatileCallSite
+java/lang/ref/FinalReference
+java/lang/ref/Finalizer
+java/lang/ref/Finalizer$FinalizerThread
+java/lang/ref/PhantomReference
+java/lang/ref/Reference
+java/lang/ref/Reference$Lock
+java/lang/ref/Reference$ReferenceHandler
+java/lang/ref/ReferenceQueue
+java/lang/ref/ReferenceQueue$Lock
+java/lang/ref/ReferenceQueue$Null
+java/lang/ref/SoftReference
+java/lang/ref/WeakReference
+java/lang/reflect/AccessibleObject
+java/lang/reflect/AnnotatedElement
+java/lang/reflect/Array
+java/lang/reflect/Constructor
+java/lang/reflect/Executable
+java/lang/reflect/Field
+java/lang/reflect/GenericDeclaration
+java/lang/reflect/InvocationHandler
+java/lang/reflect/InvocationTargetException
+java/lang/reflect/Member
+java/lang/reflect/Method
+java/lang/reflect/Modifier
+java/lang/reflect/Parameter
+java/lang/reflect/Proxy
+java/lang/reflect/Proxy$KeyFactory
+java/lang/reflect/Proxy$ProxyClassFactory
+java/lang/reflect/ReflectAccess
+java/lang/reflect/ReflectPermission
+java/lang/reflect/Type
+java/lang/reflect/WeakCache
+java/math/BigInteger
+java/math/BigInteger$UnsafeHolder
+java/math/MutableBigInteger
+java/math/RoundingMode
+java/math/SignedMutableBigInteger
+java/net/AbstractPlainDatagramSocketImpl
+java/net/AbstractPlainDatagramSocketImpl$1
+java/net/AbstractPlainSocketImpl
+java/net/AbstractPlainSocketImpl$1
+java/net/Authenticator
+java/net/BindException
+java/net/ConnectException
+java/net/DatagramPacket
+java/net/DatagramPacket$1
+java/net/DatagramSocket
+java/net/DatagramSocket$1
+java/net/DatagramSocketImpl
+java/net/DefaultDatagramSocketImplFactory
+java/net/DefaultInterface
+java/net/FileNameMap
+java/net/HttpURLConnection
+java/net/Inet4Address
+java/net/Inet4AddressImpl
+java/net/Inet6Address
+java/net/Inet6Address$Inet6AddressHolder
+java/net/Inet6AddressImpl
+java/net/InetAddress
+java/net/InetAddress$1
+java/net/InetAddress$2
+java/net/InetAddress$Cache
+java/net/InetAddress$Cache$Type
+java/net/InetAddress$CacheEntry
+java/net/InetAddress$InetAddressHolder
+java/net/InetAddressImpl
+java/net/InetAddressImplFactory
+java/net/InetSocketAddress
+java/net/InetSocketAddress$InetSocketAddressHolder
+java/net/InterfaceAddress
+java/net/JarURLConnection
+java/net/MalformedURLException
+java/net/MulticastSocket
+java/net/NetworkInterface
+java/net/NetworkInterface$1
+java/net/NoRouteToHostException
+java/net/Parts
+java/net/PlainDatagramSocketImpl
+java/net/PlainSocketImpl
+java/net/Proxy
+java/net/Proxy$Type
+java/net/ProxySelector
+java/net/ServerSocket
+java/net/Socket
+java/net/SocketAddress
+java/net/SocketException
+java/net/SocketImpl
+java/net/SocketImplFactory
+java/net/SocketOptions
+java/net/SocksConsts
+java/net/SocksSocketImpl
+java/net/SocksSocketImpl$3
+java/net/URI
+java/net/URI$Parser
+java/net/URL
+java/net/URLClassLoader
+java/net/URLClassLoader$1
+java/net/URLClassLoader$2
+java/net/URLClassLoader$3
+java/net/URLClassLoader$3$1
+java/net/URLClassLoader$7
+java/net/URLConnection
+java/net/URLConnection$1
+java/net/URLStreamHandler
+java/net/URLStreamHandlerFactory
+java/net/UnknownHostException
+java/nio/Bits
+java/nio/Bits$1
+java/nio/Buffer
+java/nio/ByteBuffer
+java/nio/ByteBufferAsIntBufferB
+java/nio/ByteBufferAsShortBufferB
+java/nio/ByteOrder
+java/nio/CharBuffer
+java/nio/DirectByteBuffer
+java/nio/DirectByteBuffer$Deallocator
+java/nio/DirectByteBufferR
+java/nio/DirectLongBufferU
+java/nio/HeapByteBuffer
+java/nio/HeapCharBuffer
+java/nio/IntBuffer
+java/nio/LongBuffer
+java/nio/MappedByteBuffer
+java/nio/ShortBuffer
+java/nio/channels/ByteChannel
+java/nio/channels/Channel
+java/nio/channels/FileChannel
+java/nio/channels/FileChannel$MapMode
+java/nio/channels/GatheringByteChannel
+java/nio/channels/InterruptibleChannel
+java/nio/channels/NetworkChannel
+java/nio/channels/ReadableByteChannel
+java/nio/channels/ScatteringByteChannel
+java/nio/channels/SeekableByteChannel
+java/nio/channels/SelectableChannel
+java/nio/channels/SocketChannel
+java/nio/channels/WritableByteChannel
+java/nio/channels/spi/AbstractInterruptibleChannel
+java/nio/channels/spi/AbstractInterruptibleChannel$1
+java/nio/channels/spi/AbstractSelectableChannel
+java/nio/charset/Charset
+java/nio/charset/CharsetDecoder
+java/nio/charset/CharsetEncoder
+java/nio/charset/CoderResult
+java/nio/charset/CoderResult$1
+java/nio/charset/CoderResult$2
+java/nio/charset/CoderResult$Cache
+java/nio/charset/CodingErrorAction
+java/nio/charset/StandardCharsets
+java/nio/charset/spi/CharsetProvider
+java/nio/file/Path
+java/nio/file/Watchable
+java/nio/file/attribute/FileAttribute
+java/security/AccessControlContext
+java/security/AccessController
+java/security/AlgorithmParameters
+java/security/AlgorithmParametersSpi
+java/security/AllPermission
+java/security/AllPermissionCollection
+java/security/BasicPermission
+java/security/BasicPermissionCollection
+java/security/CodeSigner
+java/security/CodeSource
+java/security/GeneralSecurityException
+java/security/Guard
+java/security/InvalidKeyException
+java/security/Key
+java/security/KeyException
+java/security/MessageDigest
+java/security/MessageDigest$Delegate
+java/security/MessageDigestSpi
+java/security/NoSuchAlgorithmException
+java/security/Permission
+java/security/PermissionCollection
+java/security/Permissions
+java/security/Principal
+java/security/PrivateKey
+java/security/PrivilegedAction
+java/security/PrivilegedActionException
+java/security/PrivilegedExceptionAction
+java/security/ProtectionDomain
+java/security/ProtectionDomain$1
+java/security/ProtectionDomain$3
+java/security/ProtectionDomain$Key
+java/security/Provider
+java/security/Provider$EngineDescription
+java/security/Provider$Service
+java/security/Provider$ServiceKey
+java/security/Provider$UString
+java/security/PublicKey
+java/security/SecureClassLoader
+java/security/SecureRandomSpi
+java/security/Security
+java/security/Security$1
+java/security/Signature
+java/security/Signature$Delegate
+java/security/SignatureException
+java/security/SignatureSpi
+java/security/UnresolvedPermission
+java/security/cert/Certificate
+java/security/interfaces/DSAKey
+java/security/interfaces/DSAParams
+java/security/interfaces/DSAPrivateKey
+java/security/interfaces/DSAPublicKey
+java/security/spec/AlgorithmParameterSpec
+java/security/spec/DSAParameterSpec
+java/text/AttributedCharacterIterator$Attribute
+java/text/CharacterIterator
+java/text/Collator
+java/text/DateFormat
+java/text/DateFormat$Field
+java/text/DateFormatSymbols
+java/text/DecimalFormat
+java/text/DecimalFormatSymbols
+java/text/DigitList
+java/text/DontCareFieldPosition
+java/text/DontCareFieldPosition$1
+java/text/EntryPair
+java/text/FieldPosition
+java/text/Format
+java/text/Format$Field
+java/text/Format$FieldDelegate
+java/text/MergeCollation
+java/text/MessageFormat
+java/text/MessageFormat$Field
+java/text/NumberFormat
+java/text/NumberFormat$Field
+java/text/ParseException
+java/text/PatternEntry
+java/text/PatternEntry$Parser
+java/text/RBCollationTables
+java/text/RBCollationTables$BuildAPI
+java/text/RBTableBuilder
+java/text/RuleBasedCollator
+java/text/SimpleDateFormat
+java/text/spi/BreakIteratorProvider
+java/text/spi/CollatorProvider
+java/text/spi/DateFormatProvider
+java/text/spi/DateFormatSymbolsProvider
+java/text/spi/DecimalFormatSymbolsProvider
+java/text/spi/NumberFormatProvider
+java/util/AbstractCollection
+java/util/AbstractList
+java/util/AbstractList$Itr
+java/util/AbstractList$ListItr
+java/util/AbstractMap
+java/util/AbstractQueue
+java/util/AbstractSequentialList
+java/util/AbstractSet
+java/util/ArrayDeque
+java/util/ArrayList
+java/util/ArrayList$Itr
+java/util/ArrayList$ListItr
+java/util/ArrayList$SubList
+java/util/ArrayList$SubList$1
+java/util/Arrays
+java/util/Arrays$ArrayList
+java/util/Arrays$LegacyMergeSort
+java/util/BitSet
+java/util/Calendar
+java/util/Calendar$Builder
+java/util/Collection
+java/util/Collections
+java/util/Collections$3
+java/util/Collections$EmptyEnumeration
+java/util/Collections$EmptyIterator
+java/util/Collections$EmptyList
+java/util/Collections$EmptyMap
+java/util/Collections$EmptySet
+java/util/Collections$SetFromMap
+java/util/Collections$SynchronizedCollection
+java/util/Collections$SynchronizedMap
+java/util/Collections$SynchronizedSet
+java/util/Collections$UnmodifiableCollection
+java/util/Collections$UnmodifiableCollection$1
+java/util/Collections$UnmodifiableList
+java/util/Collections$UnmodifiableList$1
+java/util/Collections$UnmodifiableMap
+java/util/Collections$UnmodifiableRandomAccessList
+java/util/Collections$UnmodifiableSet
+java/util/ComparableTimSort
+java/util/Comparator
+java/util/Currency
+java/util/Currency$1
+java/util/Currency$CurrencyNameGetter
+java/util/Date
+java/util/Deque
+java/util/Dictionary
+java/util/Enumeration
+java/util/EventListener
 java/util/EventListenerProxy
-sun/awt/EventListenerAggregate
-javax/swing/UIDefaults$ProxyLazyValue
+java/util/EventObject
+java/util/GregorianCalendar
+java/util/HashMap
+java/util/HashMap$EntryIterator
+java/util/HashMap$EntrySet
+java/util/HashMap$HashIterator
+java/util/HashMap$KeyIterator
+java/util/HashMap$KeySet
+java/util/HashMap$Node
+java/util/HashMap$TreeNode
+java/util/HashMap$ValueIterator
+java/util/HashMap$Values
+java/util/HashSet
+java/util/Hashtable
+java/util/Hashtable$Entry
+java/util/Hashtable$EntrySet
+java/util/Hashtable$Enumerator
+java/util/Hashtable$ValueCollection
+java/util/IdentityHashMap
+java/util/IdentityHashMap$IdentityHashMapIterator
+java/util/IdentityHashMap$KeyIterator
+java/util/IdentityHashMap$KeySet
+java/util/IdentityHashMap$ValueIterator
+java/util/IdentityHashMap$Values
+java/util/Iterator
+java/util/LinkedHashMap
+java/util/LinkedHashMap$Entry
+java/util/LinkedHashMap$LinkedEntryIterator
+java/util/LinkedHashMap$LinkedEntrySet
+java/util/LinkedHashMap$LinkedHashIterator
+java/util/LinkedHashMap$LinkedKeyIterator
+java/util/LinkedHashMap$LinkedKeySet
+java/util/LinkedList
+java/util/LinkedList$ListItr
+java/util/LinkedList$Node
+java/util/List
+java/util/ListIterator
+java/util/ListResourceBundle
+java/util/Locale
+java/util/Locale$1
+java/util/Locale$Cache
+java/util/Locale$Category
+java/util/Locale$LocaleKey
+java/util/Map
+java/util/Map$Entry
+java/util/MissingResourceException
+java/util/NavigableMap
+java/util/Objects
+java/util/PriorityQueue
+java/util/Properties
+java/util/Properties$LineReader
+java/util/PropertyResourceBundle
+java/util/Queue
+java/util/Random
+java/util/RandomAccess
+java/util/ResourceBundle
+java/util/ResourceBundle$1
+java/util/ResourceBundle$BundleReference
+java/util/ResourceBundle$CacheKey
+java/util/ResourceBundle$CacheKeyReference
+java/util/ResourceBundle$Control
+java/util/ResourceBundle$Control$1
+java/util/ResourceBundle$Control$CandidateListCache
+java/util/ResourceBundle$LoaderReference
+java/util/ResourceBundle$RBClassLoader
+java/util/ResourceBundle$RBClassLoader$1
+java/util/ResourceBundle$SingleFormatControl
+java/util/ServiceLoader
+java/util/ServiceLoader$1
+java/util/ServiceLoader$LazyIterator
+java/util/Set
+java/util/SortedMap
+java/util/Stack
+java/util/StringTokenizer
+java/util/TimSort
+java/util/TimeZone
+java/util/TimeZone$1
+java/util/TreeMap
+java/util/TreeMap$Entry
+java/util/Vector
+java/util/Vector$1
+java/util/Vector$Itr
+java/util/Vector$ListItr
+java/util/WeakHashMap
+java/util/WeakHashMap$Entry
+java/util/WeakHashMap$KeySet
+java/util/concurrent/AbstractExecutorService
+java/util/concurrent/BlockingQueue
+java/util/concurrent/ConcurrentHashMap
+java/util/concurrent/ConcurrentHashMap$BaseIterator
+java/util/concurrent/ConcurrentHashMap$CollectionView
+java/util/concurrent/ConcurrentHashMap$CounterCell
+java/util/concurrent/ConcurrentHashMap$EntrySetView
+java/util/concurrent/ConcurrentHashMap$ForwardingNode
+java/util/concurrent/ConcurrentHashMap$KeyIterator
+java/util/concurrent/ConcurrentHashMap$KeySetView
+java/util/concurrent/ConcurrentHashMap$Node
+java/util/concurrent/ConcurrentHashMap$Segment
+java/util/concurrent/ConcurrentHashMap$Traverser
+java/util/concurrent/ConcurrentHashMap$ValueIterator
+java/util/concurrent/ConcurrentHashMap$ValuesView
+java/util/concurrent/ConcurrentMap
+java/util/concurrent/CopyOnWriteArrayList
+java/util/concurrent/DelayQueue
+java/util/concurrent/Delayed
+java/util/concurrent/Executor
+java/util/concurrent/ExecutorService
+java/util/concurrent/Executors
+java/util/concurrent/RejectedExecutionHandler
+java/util/concurrent/SynchronousQueue
+java/util/concurrent/SynchronousQueue$TransferStack
+java/util/concurrent/SynchronousQueue$TransferStack$SNode
+java/util/concurrent/SynchronousQueue$Transferer
+java/util/concurrent/ThreadFactory
+java/util/concurrent/ThreadPoolExecutor
+java/util/concurrent/ThreadPoolExecutor$AbortPolicy
+java/util/concurrent/ThreadPoolExecutor$Worker
+java/util/concurrent/TimeUnit
+java/util/concurrent/TimeUnit$1
+java/util/concurrent/TimeUnit$2
+java/util/concurrent/TimeUnit$3
+java/util/concurrent/TimeUnit$4
+java/util/concurrent/TimeUnit$5
+java/util/concurrent/TimeUnit$6
+java/util/concurrent/TimeUnit$7
+java/util/concurrent/atomic/AtomicBoolean
+java/util/concurrent/atomic/AtomicInteger
+java/util/concurrent/atomic/AtomicLong
+java/util/concurrent/atomic/AtomicMarkableReference
+java/util/concurrent/atomic/AtomicMarkableReference$Pair
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1
+java/util/concurrent/locks/AbstractOwnableSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
+java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
+java/util/concurrent/locks/Condition
+java/util/concurrent/locks/Lock
+java/util/concurrent/locks/LockSupport
+java/util/concurrent/locks/ReentrantLock
+java/util/concurrent/locks/ReentrantLock$NonfairSync
+java/util/concurrent/locks/ReentrantLock$Sync
+java/util/function/BiFunction
+java/util/jar/Attributes
+java/util/jar/Attributes$Name
+java/util/jar/JarEntry
+java/util/jar/JarFile
+java/util/jar/JarFile$JarEntryIterator
+java/util/jar/JarFile$JarFileEntry
+java/util/jar/JarVerifier
+java/util/jar/JarVerifier$3
+java/util/jar/JavaUtilJarAccessImpl
+java/util/jar/Manifest
+java/util/jar/Manifest$FastInputStream
+java/util/logging/Handler
+java/util/logging/Level
+java/util/logging/Level$KnownLevel
+java/util/logging/LogManager
+java/util/logging/LogManager$1
+java/util/logging/LogManager$2
+java/util/logging/LogManager$3
+java/util/logging/LogManager$5
+java/util/logging/LogManager$Cleaner
+java/util/logging/LogManager$LogNode
+java/util/logging/LogManager$LoggerContext
+java/util/logging/LogManager$LoggerContext$1
+java/util/logging/LogManager$LoggerWeakRef
+java/util/logging/LogManager$RootLogger
+java/util/logging/LogManager$SystemLoggerContext
+java/util/logging/Logger
+java/util/logging/Logger$1
+java/util/logging/LoggingPermission
+java/util/logging/LoggingProxyImpl
+java/util/spi/CalendarDataProvider
+java/util/spi/CurrencyNameProvider
+java/util/spi/LocaleNameProvider
+java/util/spi/LocaleServiceProvider
+java/util/spi/ResourceBundleControlProvider
+java/util/spi/TimeZoneNameProvider
+java/util/zip/CRC32
+java/util/zip/Checksum
+java/util/zip/DeflaterOutputStream
+java/util/zip/GZIPInputStream
+java/util/zip/Inflater
+java/util/zip/InflaterInputStream
+java/util/zip/ZStreamRef
+java/util/zip/ZipCoder
+java/util/zip/ZipConstants
+java/util/zip/ZipEntry
+java/util/zip/ZipFile
+java/util/zip/ZipFile$1
+java/util/zip/ZipFile$ZipEntryIterator
+java/util/zip/ZipFile$ZipFileInflaterInputStream
+java/util/zip/ZipFile$ZipFileInputStream
+java/util/zip/ZipInputStream
+java/util/zip/ZipUtils
+javax/accessibility/Accessible
+javax/accessibility/AccessibleAction
+javax/accessibility/AccessibleBundle
+javax/accessibility/AccessibleComponent
+javax/accessibility/AccessibleContext
+javax/accessibility/AccessibleExtendedComponent
+javax/accessibility/AccessibleRelationSet
+javax/accessibility/AccessibleState
+javax/accessibility/AccessibleText
+javax/accessibility/AccessibleValue
+javax/security/auth/Destroyable
+javax/sound/sampled/Control$Type
+javax/sound/sampled/DataLine
+javax/sound/sampled/DataLine$Info
+javax/sound/sampled/FloatControl$Type
+javax/sound/sampled/Line
+javax/sound/sampled/Line$Info
+javax/sound/sampled/LineUnavailableException
+javax/sound/sampled/UnsupportedAudioFileException
+javax/swing/AbstractAction
+javax/swing/AbstractButton
+javax/swing/AbstractButton$AccessibleAbstractButton
+javax/swing/AbstractButton$Handler
+javax/swing/AbstractCellEditor
+javax/swing/AbstractListModel
+javax/swing/Action
+javax/swing/ActionMap
+javax/swing/AncestorNotifier
+javax/swing/ArrayTable
+javax/swing/BorderFactory
+javax/swing/BoundedRangeModel
+javax/swing/Box
+javax/swing/Box$Filler
+javax/swing/BoxLayout
+javax/swing/BufferStrategyPaintManager
+javax/swing/BufferStrategyPaintManager$BufferInfo
+javax/swing/ButtonGroup
+javax/swing/ButtonModel
+javax/swing/CellEditor
+javax/swing/CellRendererPane
+javax/swing/ClientPropertyKey
+javax/swing/ClientPropertyKey$1
+javax/swing/ComboBoxEditor
+javax/swing/ComboBoxModel
+javax/swing/ComponentInputMap
+javax/swing/DefaultBoundedRangeModel
+javax/swing/DefaultButtonModel
+javax/swing/DefaultCellEditor
+javax/swing/DefaultCellEditor$1
+javax/swing/DefaultCellEditor$EditorDelegate
+javax/swing/DefaultComboBoxModel
+javax/swing/DefaultListCellRenderer
+javax/swing/DefaultListCellRenderer$UIResource
+javax/swing/DefaultListModel
+javax/swing/DefaultListSelectionModel
+javax/swing/DefaultSingleSelectionModel
+javax/swing/DropMode
+javax/swing/FocusManager
+javax/swing/GrayFilter
+javax/swing/Icon
+javax/swing/ImageIcon
+javax/swing/ImageIcon$1
+javax/swing/ImageIcon$2
+javax/swing/ImageIcon$2$1
+javax/swing/ImageIcon$3
+javax/swing/InputMap
+javax/swing/InternalFrameFocusTraversalPolicy
+javax/swing/JButton
+javax/swing/JCheckBox
+javax/swing/JCheckBoxMenuItem
+javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem
+javax/swing/JComboBox
+javax/swing/JComboBox$1
+javax/swing/JComboBox$KeySelectionManager
+javax/swing/JComponent
+javax/swing/JComponent$1
+javax/swing/JComponent$2
+javax/swing/JComponent$AccessibleJComponent
+javax/swing/JDialog
+javax/swing/JEditorPane
+javax/swing/JFrame
+javax/swing/JInternalFrame
+javax/swing/JLabel
+javax/swing/JLayer
+javax/swing/JLayeredPane
+javax/swing/JList
+javax/swing/JList$3
+javax/swing/JList$ListSelectionHandler
+javax/swing/JMenu
+javax/swing/JMenu$MenuChangeListener
+javax/swing/JMenu$WinListener
+javax/swing/JMenuBar
+javax/swing/JMenuItem
+javax/swing/JMenuItem$AccessibleJMenuItem
+javax/swing/JMenuItem$MenuItemFocusListener
+javax/swing/JPanel
+javax/swing/JPopupMenu
+javax/swing/JPopupMenu$Separator
+javax/swing/JProgressBar
+javax/swing/JProgressBar$ModelListener
+javax/swing/JRadioButton
+javax/swing/JRadioButtonMenuItem
+javax/swing/JRootPane
+javax/swing/JRootPane$1
+javax/swing/JRootPane$RootLayout
+javax/swing/JScrollBar
+javax/swing/JScrollBar$ModelListener
+javax/swing/JScrollPane
+javax/swing/JScrollPane$ScrollBar
+javax/swing/JSeparator
+javax/swing/JSlider
+javax/swing/JSlider$ModelListener
+javax/swing/JSplitPane
+javax/swing/JTabbedPane
+javax/swing/JTabbedPane$ModelListener
+javax/swing/JTabbedPane$Page
+javax/swing/JTable
+javax/swing/JTable$2
+javax/swing/JTable$5
+javax/swing/JTable$Resizable2
+javax/swing/JTable$Resizable3
+javax/swing/JTextArea
+javax/swing/JTextField
+javax/swing/JTextField$NotifyAction
+javax/swing/JTextField$ScrollRepainter
+javax/swing/JToggleButton
+javax/swing/JToggleButton$ToggleButtonModel
+javax/swing/JToolBar
+javax/swing/JToolBar$DefaultToolBarLayout
+javax/swing/JToolBar$Separator
+javax/swing/JToolTip
+javax/swing/JTree
+javax/swing/JTree$TreeModelHandler
+javax/swing/JTree$TreeSelectionRedirector
+javax/swing/JViewport
+javax/swing/JViewport$ViewListener
+javax/swing/JWindow
+javax/swing/KeyStroke
+javax/swing/KeyboardManager
+javax/swing/KeyboardManager$ComponentKeyStrokePair
+javax/swing/LayoutComparator
+javax/swing/LayoutFocusTraversalPolicy
+javax/swing/ListCellRenderer
+javax/swing/ListModel
+javax/swing/ListSelectionModel
+javax/swing/LookAndFeel
+javax/swing/MenuElement
+javax/swing/MenuSelectionManager
+javax/swing/MultiUIDefaults
+javax/swing/MutableComboBoxModel
+javax/swing/RepaintManager
+javax/swing/RepaintManager$2
+javax/swing/RepaintManager$3
+javax/swing/RepaintManager$DisplayChangedHandler
+javax/swing/RepaintManager$PaintManager
+javax/swing/RepaintManager$ProcessingRunnable
+javax/swing/RootPaneContainer
+javax/swing/ScrollPaneConstants
+javax/swing/ScrollPaneLayout
+javax/swing/ScrollPaneLayout$UIResource
+javax/swing/Scrollable
+javax/swing/SingleSelectionModel
+javax/swing/SizeRequirements
+javax/swing/SortingFocusTraversalPolicy
+javax/swing/SwingConstants
+javax/swing/SwingContainerOrderFocusTraversalPolicy
+javax/swing/SwingDefaultFocusTraversalPolicy
+javax/swing/SwingPaintEventDispatcher
+javax/swing/SwingUtilities
+javax/swing/SwingUtilities$SharedOwnerFrame
+javax/swing/Timer
+javax/swing/Timer$DoPostEvent
+javax/swing/TimerQueue
+javax/swing/TimerQueue$1
+javax/swing/TimerQueue$DelayedTimer
+javax/swing/ToolTipManager
+javax/swing/ToolTipManager$AccessibilityKeyListener
+javax/swing/ToolTipManager$MoveBeforeEnterListener
+javax/swing/ToolTipManager$insideTimerAction
+javax/swing/ToolTipManager$outsideTimerAction
+javax/swing/ToolTipManager$stillInsideTimerAction
+javax/swing/TransferHandler
+javax/swing/TransferHandler$DropHandler
+javax/swing/TransferHandler$HasGetTransferHandler
+javax/swing/TransferHandler$SwingDropTarget
+javax/swing/TransferHandler$TransferAction
+javax/swing/TransferHandler$TransferSupport
+javax/swing/UIDefaults
+javax/swing/UIDefaults$ActiveValue
+javax/swing/UIDefaults$LazyInputMap
+javax/swing/UIDefaults$LazyValue
+javax/swing/UIDefaults$TextAndMnemonicHashMap
+javax/swing/UIManager
+javax/swing/UIManager$1
+javax/swing/UIManager$2
+javax/swing/UIManager$LAFState
+javax/swing/UIManager$LookAndFeelInfo
+javax/swing/UnsupportedLookAndFeelException
+javax/swing/ViewportLayout
+javax/swing/WindowConstants
+javax/swing/border/AbstractBorder
+javax/swing/border/BevelBorder
+javax/swing/border/Border
+javax/swing/border/CompoundBorder
+javax/swing/border/EmptyBorder
+javax/swing/border/EtchedBorder
+javax/swing/border/LineBorder
+javax/swing/border/MatteBorder
+javax/swing/border/TitledBorder
+javax/swing/event/AncestorEvent
+javax/swing/event/AncestorListener
+javax/swing/event/CaretEvent
+javax/swing/event/CaretListener
+javax/swing/event/CellEditorListener
+javax/swing/event/ChangeEvent
+javax/swing/event/ChangeListener
+javax/swing/event/DocumentEvent
+javax/swing/event/DocumentEvent$ElementChange
+javax/swing/event/DocumentEvent$EventType
+javax/swing/event/DocumentListener
+javax/swing/event/EventListenerList
+javax/swing/event/ListDataEvent
+javax/swing/event/ListDataListener
+javax/swing/event/ListSelectionEvent
+javax/swing/event/ListSelectionListener
+javax/swing/event/MenuDragMouseListener
+javax/swing/event/MenuEvent
+javax/swing/event/MenuKeyListener
+javax/swing/event/MenuListener
+javax/swing/event/MouseInputAdapter
+javax/swing/event/MouseInputListener
+javax/swing/event/PopupMenuListener
+javax/swing/event/RowSorterListener
+javax/swing/event/SwingPropertyChangeSupport
+javax/swing/event/TableColumnModelEvent
+javax/swing/event/TableColumnModelListener
+javax/swing/event/TableModelEvent
+javax/swing/event/TableModelListener
+javax/swing/event/TreeExpansionListener
+javax/swing/event/TreeModelEvent
+javax/swing/event/TreeModelListener
+javax/swing/event/TreeSelectionEvent
+javax/swing/event/TreeSelectionListener
+javax/swing/event/UndoableEditEvent
+javax/swing/event/UndoableEditListener
+javax/swing/filechooser/FileFilter
+javax/swing/plaf/ActionMapUIResource
+javax/swing/plaf/BorderUIResource
+javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
+javax/swing/plaf/BorderUIResource$EmptyBorderUIResource
+javax/swing/plaf/BorderUIResource$LineBorderUIResource
+javax/swing/plaf/ButtonUI
+javax/swing/plaf/ColorUIResource
+javax/swing/plaf/ComboBoxUI
+javax/swing/plaf/ComponentInputMapUIResource
+javax/swing/plaf/ComponentUI
+javax/swing/plaf/DimensionUIResource
+javax/swing/plaf/FontUIResource
+javax/swing/plaf/InputMapUIResource
+javax/swing/plaf/InsetsUIResource
+javax/swing/plaf/LabelUI
+javax/swing/plaf/ListUI
+javax/swing/plaf/MenuBarUI
+javax/swing/plaf/MenuItemUI
+javax/swing/plaf/PanelUI
+javax/swing/plaf/PopupMenuUI
+javax/swing/plaf/ProgressBarUI
+javax/swing/plaf/RootPaneUI
+javax/swing/plaf/ScrollBarUI
+javax/swing/plaf/ScrollPaneUI
+javax/swing/plaf/SeparatorUI
+javax/swing/plaf/SliderUI
+javax/swing/plaf/SplitPaneUI
+javax/swing/plaf/TabbedPaneUI
+javax/swing/plaf/TableHeaderUI
+javax/swing/plaf/TableUI
+javax/swing/plaf/TextUI
+javax/swing/plaf/ToolBarUI
+javax/swing/plaf/TreeUI
+javax/swing/plaf/UIResource
+javax/swing/plaf/ViewportUI
+javax/swing/plaf/basic/BasicArrowButton
+javax/swing/plaf/basic/BasicBorders
+javax/swing/plaf/basic/BasicBorders$ButtonBorder
+javax/swing/plaf/basic/BasicBorders$MarginBorder
+javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
+javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder
+javax/swing/plaf/basic/BasicBorders$SplitPaneBorder
+javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder
+javax/swing/plaf/basic/BasicButtonListener
+javax/swing/plaf/basic/BasicButtonUI
+javax/swing/plaf/basic/BasicCheckBoxMenuItemUI
+javax/swing/plaf/basic/BasicComboBoxEditor
+javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField
+javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
+javax/swing/plaf/basic/BasicComboBoxRenderer
+javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource
+javax/swing/plaf/basic/BasicComboBoxUI
+javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
+javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager
+javax/swing/plaf/basic/BasicComboBoxUI$Handler
+javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicComboPopup
+javax/swing/plaf/basic/BasicComboPopup$1
+javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass
+javax/swing/plaf/basic/BasicComboPopup$Handler
+javax/swing/plaf/basic/BasicGraphicsUtils
+javax/swing/plaf/basic/BasicHTML
+javax/swing/plaf/basic/BasicLabelUI
+javax/swing/plaf/basic/BasicListUI
+javax/swing/plaf/basic/BasicListUI$Handler
+javax/swing/plaf/basic/BasicListUI$ListTransferHandler
+javax/swing/plaf/basic/BasicLookAndFeel
+javax/swing/plaf/basic/BasicLookAndFeel$1
+javax/swing/plaf/basic/BasicLookAndFeel$2
+javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper
+javax/swing/plaf/basic/BasicMenuBarUI
+javax/swing/plaf/basic/BasicMenuBarUI$Handler
+javax/swing/plaf/basic/BasicMenuItemUI
+javax/swing/plaf/basic/BasicMenuItemUI$Handler
+javax/swing/plaf/basic/BasicMenuUI
+javax/swing/plaf/basic/BasicMenuUI$Handler
+javax/swing/plaf/basic/BasicPanelUI
+javax/swing/plaf/basic/BasicPopupMenuUI
+javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener
+javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
+javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper
+javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1
+javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber
+javax/swing/plaf/basic/BasicProgressBarUI
+javax/swing/plaf/basic/BasicProgressBarUI$Handler
+javax/swing/plaf/basic/BasicRadioButtonMenuItemUI
+javax/swing/plaf/basic/BasicRadioButtonUI
+javax/swing/plaf/basic/BasicRootPaneUI
+javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap
+javax/swing/plaf/basic/BasicScrollBarUI
+javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
+javax/swing/plaf/basic/BasicScrollBarUI$Handler
+javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
+javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
+javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
+javax/swing/plaf/basic/BasicScrollPaneUI
+javax/swing/plaf/basic/BasicScrollPaneUI$Handler
+javax/swing/plaf/basic/BasicSeparatorUI
+javax/swing/plaf/basic/BasicSliderUI
+javax/swing/plaf/basic/BasicSliderUI$Actions
+javax/swing/plaf/basic/BasicSliderUI$Handler
+javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicSliderUI$ScrollListener
+javax/swing/plaf/basic/BasicSliderUI$TrackListener
+javax/swing/plaf/basic/BasicSplitPaneDivider
+javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout
+javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler
+javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler
+javax/swing/plaf/basic/BasicSplitPaneUI
+javax/swing/plaf/basic/BasicSplitPaneUI$1
+javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager
+javax/swing/plaf/basic/BasicSplitPaneUI$Handler
+javax/swing/plaf/basic/BasicTabbedPaneUI
+javax/swing/plaf/basic/BasicTabbedPaneUI$Handler
+javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout
+javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout
+javax/swing/plaf/basic/BasicTableHeaderUI
+javax/swing/plaf/basic/BasicTableHeaderUI$1
+javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler
+javax/swing/plaf/basic/BasicTableUI
+javax/swing/plaf/basic/BasicTableUI$Handler
+javax/swing/plaf/basic/BasicTableUI$TableTransferHandler
+javax/swing/plaf/basic/BasicTextAreaUI
+javax/swing/plaf/basic/BasicTextFieldUI
+javax/swing/plaf/basic/BasicTextUI
+javax/swing/plaf/basic/BasicTextUI$BasicCaret
+javax/swing/plaf/basic/BasicTextUI$BasicCursor
+javax/swing/plaf/basic/BasicTextUI$BasicHighlighter
+javax/swing/plaf/basic/BasicTextUI$DragListener
+javax/swing/plaf/basic/BasicTextUI$FocusAction
+javax/swing/plaf/basic/BasicTextUI$RootView
+javax/swing/plaf/basic/BasicTextUI$TextActionWrapper
+javax/swing/plaf/basic/BasicTextUI$TextTransferHandler
+javax/swing/plaf/basic/BasicTextUI$UpdateHandler
+javax/swing/plaf/basic/BasicToggleButtonUI
+javax/swing/plaf/basic/BasicToolBarSeparatorUI
+javax/swing/plaf/basic/BasicToolBarUI
+javax/swing/plaf/basic/BasicToolBarUI$DockingListener
+javax/swing/plaf/basic/BasicToolBarUI$Handler
+javax/swing/plaf/basic/BasicTreeUI
+javax/swing/plaf/basic/BasicTreeUI$Actions
+javax/swing/plaf/basic/BasicTreeUI$Handler
+javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler
+javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler
+javax/swing/plaf/basic/BasicViewportUI
+javax/swing/plaf/basic/ComboPopup
+javax/swing/plaf/basic/DefaultMenuLayout
+javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag
+javax/swing/plaf/basic/LazyActionMap
+javax/swing/plaf/metal/DefaultMetalTheme
+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate
+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1
+javax/swing/plaf/metal/MetalBorders
+javax/swing/plaf/metal/MetalBorders$ButtonBorder
+javax/swing/plaf/metal/MetalBorders$Flush3DBorder
+javax/swing/plaf/metal/MetalBorders$MenuBarBorder
+javax/swing/plaf/metal/MetalBorders$MenuItemBorder
+javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
+javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder
+javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder
+javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
+javax/swing/plaf/metal/MetalBorders$TextFieldBorder
+javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder
+javax/swing/plaf/metal/MetalBorders$ToolBarBorder
+javax/swing/plaf/metal/MetalBumps
+javax/swing/plaf/metal/MetalButtonUI
+javax/swing/plaf/metal/MetalCheckBoxUI
+javax/swing/plaf/metal/MetalComboBoxButton
+javax/swing/plaf/metal/MetalComboBoxButton$1
+javax/swing/plaf/metal/MetalComboBoxEditor
+javax/swing/plaf/metal/MetalComboBoxEditor$1
+javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder
+javax/swing/plaf/metal/MetalComboBoxEditor$UIResource
+javax/swing/plaf/metal/MetalComboBoxIcon
+javax/swing/plaf/metal/MetalComboBoxUI
+javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager
+javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
+javax/swing/plaf/metal/MetalIconFactory
+javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon
+javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon
+javax/swing/plaf/metal/MetalIconFactory$FolderIcon16
+javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon
+javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon
+javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon
+javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon
+javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon
+javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon
+javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon
+javax/swing/plaf/metal/MetalLabelUI
+javax/swing/plaf/metal/MetalLookAndFeel
+javax/swing/plaf/metal/MetalLookAndFeel$AATextListener
+javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue
+javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue
+javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1
+javax/swing/plaf/metal/MetalPopupMenuSeparatorUI
+javax/swing/plaf/metal/MetalProgressBarUI
+javax/swing/plaf/metal/MetalRadioButtonUI
+javax/swing/plaf/metal/MetalRootPaneUI
+javax/swing/plaf/metal/MetalScrollBarUI
+javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener
+javax/swing/plaf/metal/MetalScrollButton
+javax/swing/plaf/metal/MetalScrollPaneUI
+javax/swing/plaf/metal/MetalScrollPaneUI$1
+javax/swing/plaf/metal/MetalSeparatorUI
+javax/swing/plaf/metal/MetalSliderUI
+javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener
+javax/swing/plaf/metal/MetalSplitPaneDivider
+javax/swing/plaf/metal/MetalSplitPaneDivider$1
+javax/swing/plaf/metal/MetalSplitPaneDivider$2
+javax/swing/plaf/metal/MetalSplitPaneUI
+javax/swing/plaf/metal/MetalTabbedPaneUI
+javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout
+javax/swing/plaf/metal/MetalTextFieldUI
+javax/swing/plaf/metal/MetalTheme
+javax/swing/plaf/metal/MetalToggleButtonUI
+javax/swing/plaf/metal/MetalToolBarUI
+javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener
+javax/swing/plaf/metal/MetalTreeUI
+javax/swing/plaf/metal/MetalTreeUI$LineListener
+javax/swing/plaf/metal/OceanTheme
 javax/swing/plaf/metal/OceanTheme$1
 javax/swing/plaf/metal/OceanTheme$2
 javax/swing/plaf/metal/OceanTheme$3
 javax/swing/plaf/metal/OceanTheme$4
 javax/swing/plaf/metal/OceanTheme$5
 javax/swing/plaf/metal/OceanTheme$6
-javax/swing/RepaintManager
-javax/swing/RepaintManager$DisplayChangedHandler
-javax/swing/SwingPaintEventDispatcher
-sun/awt/PaintEventDispatcher
-javax/swing/UIManager$2
-java/awt/PopupMenu
-java/awt/Menu
-java/awt/MenuItem
-java/awt/MenuComponent
-java/io/ObjectOutputStream
-java/io/ObjectOutput
-java/io/DataOutput
-java/io/ObjectStreamConstants
-java/io/PrintWriter
-java/io/ObjectInputStream
-java/io/ObjectInput
-java/awt/Event
-java/awt/im/InputContext
-java/awt/event/MouseWheelEvent
-java/awt/BufferCapabilities
-sun/awt/CausedFocusEvent$Cause
-java/awt/PointerInfo
-java/awt/Component$BaselineResizeBehavior
-java/awt/FontMetrics
-java/awt/Image
-java/awt/image/ImageProducer
-java/awt/image/VolatileImage
-java/awt/im/InputMethodRequests
-java/awt/event/FocusEvent
-java/awt/event/InputMethodEvent
-java/awt/event/HierarchyEvent
-javax/accessibility/AccessibleStateSet
-com/sun/swing/internal/plaf/metal/resources/metal
-sun/util/ResourceBundleEnumeration
-com/sun/swing/internal/plaf/basic/resources/basic
-javax/swing/plaf/basic/BasicPanelUI
-javax/swing/plaf/PanelUI
-javax/swing/plaf/ComponentUI
-sun/reflect/misc/MethodUtil
-sun/reflect/misc/MethodUtil$1
-java/util/jar/JarFile
-java/util/zip/ZipFile
-java/util/zip/ZipConstants
-java/util/jar/JavaUtilJarAccessImpl
-sun/misc/JavaUtilJarAccess
-sun/misc/JarIndex
-java/util/zip/ZipEntry
-java/util/jar/JarFile$JarFileEntry
-java/util/jar/JarEntry
-sun/misc/URLClassPath$JarLoader$2
-sun/net/www/protocol/jar/JarURLConnection
-java/net/JarURLConnection
-sun/net/www/protocol/jar/JarFileFactory
-sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController
-java/net/HttpURLConnection
-sun/net/www/protocol/jar/URLJarFile
-sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry
-sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream
-java/util/zip/ZipFile$ZipFileInputStream
-java/security/AllPermissionCollection
-java/lang/IllegalAccessException
-javax/swing/JPasswordField
-javax/swing/JTextField
-javax/swing/text/JTextComponent
-javax/swing/Scrollable
-javax/swing/JLayeredPane
-javax/swing/JRootPane$1
-javax/swing/ArrayTable
-javax/swing/JInternalFrame
-javax/swing/JRootPane$RootLayout
-javax/swing/BufferStrategyPaintManager
-javax/swing/RepaintManager$PaintManager
-javax/swing/plaf/metal/MetalRootPaneUI
-javax/swing/plaf/basic/BasicRootPaneUI
-javax/swing/plaf/RootPaneUI
-javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap
-javax/swing/plaf/ComponentInputMapUIResource
-javax/swing/ComponentInputMap
-javax/swing/InputMap
-javax/swing/plaf/InputMapUIResource
-javax/swing/KeyStroke
-java/awt/VKCollection
-sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl
-javax/swing/plaf/basic/LazyActionMap
-javax/swing/plaf/ActionMapUIResource
-javax/swing/ActionMap
-javax/swing/LayoutFocusTraversalPolicy
-javax/swing/SortingFocusTraversalPolicy
-javax/swing/InternalFrameFocusTraversalPolicy
-javax/swing/SwingContainerOrderFocusTraversalPolicy
-javax/swing/SwingDefaultFocusTraversalPolicy
-javax/swing/LayoutComparator
-javax/swing/plaf/metal/MetalLabelUI
-javax/swing/plaf/basic/BasicLabelUI
-javax/swing/plaf/LabelUI
-javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1
-javax/swing/plaf/basic/BasicHTML
-sun/awt/NullComponentPeer
-java/awt/event/WindowEvent
-java/awt/EventQueue$1
-java/awt/EventDispatchThread$1
-java/awt/Conditional
-java/awt/EventDispatchThread$HierarchyEventFilter
-java/awt/EventFilter$FilterAction
-sun/awt/dnd/SunDropTargetEvent
-java/awt/event/ActionEvent
-java/util/jar/Manifest
-java/io/ByteArrayInputStream
-java/util/jar/Attributes
-java/util/jar/Manifest$FastInputStream
-java/util/jar/Attributes$Name
-sun/misc/ASCIICaseInsensitiveComparator
-java/util/jar/JarVerifier
-java/io/ByteArrayOutputStream
-sun/misc/ExtensionDependency
-java/lang/Package
-sun/security/util/ManifestEntryVerifier
-java/security/Provider
-java/security/Provider$ServiceKey
-java/security/Provider$EngineDescription
-java/security/Security
-java/security/Security$1
-sun/misc/FloatingDecimal
-sun/misc/FloatingDecimal$1
-sun/security/provider/NativePRNG
-java/security/SecureRandomSpi
-sun/security/provider/NativePRNG$1
-sun/security/provider/NativePRNG$RandomIO
-sun/misc/BASE64Decoder
-sun/misc/CharacterDecoder
-sun/security/util/SignatureFileVerifier
-java/awt/event/KeyAdapter
-java/lang/NumberFormatException
-java/lang/IllegalArgumentException
-java/io/FileWriter
-java/net/Authenticator
-java/net/MalformedURLException
-javax/swing/text/Element
-javax/swing/text/Document
-javax/swing/text/PlainDocument
+javax/swing/plaf/synth/SynthConstants
+javax/swing/plaf/synth/SynthUI
+javax/swing/table/AbstractTableModel
+javax/swing/table/DefaultTableCellRenderer
+javax/swing/table/DefaultTableColumnModel
+javax/swing/table/DefaultTableModel
+javax/swing/table/JTableHeader
+javax/swing/table/TableCellEditor
+javax/swing/table/TableCellRenderer
+javax/swing/table/TableColumn
+javax/swing/table/TableColumnModel
+javax/swing/table/TableModel
 javax/swing/text/AbstractDocument
-javax/swing/text/GapContent
-javax/swing/text/AbstractDocument$Content
-javax/swing/text/GapVector
-javax/swing/text/GapContent$MarkVector
-javax/swing/text/GapContent$MarkData
-javax/swing/text/StyleContext
+javax/swing/text/AbstractDocument$1
+javax/swing/text/AbstractDocument$AbstractElement
 javax/swing/text/AbstractDocument$AttributeContext
-javax/swing/text/StyleConstants
-javax/swing/text/StyleConstants$CharacterConstants
-javax/swing/text/AttributeSet$CharacterAttribute
-javax/swing/text/StyleConstants$FontConstants
-javax/swing/text/AttributeSet$FontAttribute
-javax/swing/text/StyleConstants$ColorConstants
-javax/swing/text/AttributeSet$ColorAttribute
-javax/swing/text/StyleConstants$ParagraphConstants
-javax/swing/text/AttributeSet$ParagraphAttribute
-javax/swing/text/StyleContext$FontKey
-javax/swing/text/SimpleAttributeSet
-javax/swing/text/MutableAttributeSet
-javax/swing/text/AttributeSet
-javax/swing/text/SimpleAttributeSet$EmptyAttributeSet
-javax/swing/text/StyleContext$NamedStyle
-javax/swing/text/Style
-javax/swing/text/StyleContext$SmallAttributeSet
+javax/swing/text/AbstractDocument$BidiElement
 javax/swing/text/AbstractDocument$BidiRootElement
 javax/swing/text/AbstractDocument$BranchElement
-javax/swing/text/AbstractDocument$AbstractElement
-javax/swing/tree/TreeNode
-javax/swing/text/AbstractDocument$1
-javax/swing/text/AbstractDocument$BidiElement
-javax/swing/text/AbstractDocument$LeafElement
-javax/swing/text/GapContent$StickyPosition
-javax/swing/text/Position
-javax/swing/text/StyleContext$KeyEnumeration
-javax/swing/text/GapContent$InsertUndo
-javax/swing/undo/AbstractUndoableEdit
-javax/swing/undo/UndoableEdit
+javax/swing/text/AbstractDocument$Content
 javax/swing/text/AbstractDocument$DefaultDocumentEvent
-javax/swing/event/DocumentEvent
-javax/swing/undo/CompoundEdit
-javax/swing/event/DocumentEvent$EventType
-javax/swing/text/Segment
-java/text/CharacterIterator
-javax/swing/text/Utilities
-javax/swing/text/SegmentCache
-javax/swing/text/SegmentCache$CachedSegment
-javax/swing/event/UndoableEditEvent
 javax/swing/text/AbstractDocument$ElementEdit
-javax/swing/event/DocumentEvent$ElementChange
-java/net/Socket
-java/net/InetAddress
-java/net/InetAddress$Cache
-java/net/InetAddress$Cache$Type
-java/net/InetAddressImplFactory
-java/net/Inet4AddressImpl
-java/net/InetAddressImpl
-java/net/InetAddress$1
-sun/net/spi/nameservice/NameService
-sun/net/util/IPAddressUtil
-java/util/RandomAccessSubList
-java/util/SubList
-java/util/SubList$1
-java/util/AbstractList$ListItr
-java/net/Inet4Address
-java/net/InetSocketAddress
-java/net/SocketAddress
-java/net/SocksSocketImpl
-java/net/SocksConsts
-java/net/PlainSocketImpl
-java/net/SocketImpl
-java/net/SocketOptions
-java/net/SocketException
-java/net/SocksSocketImpl$5
-java/net/ProxySelector
-sun/net/spi/DefaultProxySelector
-sun/net/spi/DefaultProxySelector$1
-sun/net/NetProperties
-sun/net/NetProperties$1
-sun/net/spi/DefaultProxySelector$NonProxyInfo
-java/net/Inet6Address
-java/net/URI
-java/net/URI$Parser
-java/net/Proxy
-java/net/Proxy$Type
-java/net/ConnectException
-javax/swing/JMenu
-javax/swing/MenuElement
-javax/swing/JMenuItem
-javax/swing/AbstractButton
-java/awt/ItemSelectable
-javax/swing/event/MenuListener
-javax/swing/JCheckBoxMenuItem
-javax/swing/Icon
-javax/swing/JButton
-java/awt/event/WindowListener
-java/net/URLClassLoader$2
-javax/swing/ImageIcon
-javax/swing/ImageIcon$1
-java/awt/MediaTracker
-sun/misc/SoftCache$ValueCell
-sun/awt/image/URLImageSource
-sun/awt/image/InputStreamImageSource
-sun/awt/image/ImageFetchable
-sun/awt/image/ToolkitImage
-java/awt/Image$1
-sun/awt/image/SurfaceManager$ImageAccessor
-sun/awt/image/SurfaceManager
-sun/awt/image/NativeLibLoader
-java/awt/ImageMediaEntry
-java/awt/MediaEntry
-sun/awt/image/ImageRepresentation
-java/awt/image/ImageConsumer
-sun/awt/image/ImageWatched
-sun/awt/image/ImageWatched$Link
-sun/awt/image/ImageWatched$WeakLink
-sun/awt/image/ImageConsumerQueue
-sun/awt/image/ImageFetcher
-sun/awt/image/FetcherInfo
-sun/awt/image/ImageFetcher$1
-sun/awt/image/GifImageDecoder
-sun/awt/image/ImageDecoder
-sun/awt/image/GifFrame
-java/awt/image/Raster
-java/awt/image/DataBufferByte
-java/awt/image/DataBuffer
-java/awt/image/PixelInterleavedSampleModel
-java/awt/image/ComponentSampleModel
-java/awt/image/SampleModel
-sun/awt/image/ByteInterleavedRaster
-sun/awt/image/ByteComponentRaster
-sun/awt/image/SunWritableRaster
-java/awt/image/WritableRaster
-java/awt/image/BufferedImage
-java/awt/image/WritableRenderedImage
-java/awt/image/RenderedImage
-sun/awt/image/IntegerComponentRaster
-sun/awt/image/BytePackedRaster
-java/awt/Canvas
-sun/font/FontDesignMetrics
-sun/font/FontStrikeDesc
-sun/font/CompositeStrike
-sun/font/FontStrikeDisposer
-sun/font/StrikeCache$SoftDisposerRef
-sun/font/StrikeCache$DisposableStrike
-sun/font/TrueTypeFont$TTDisposerRecord
-sun/font/TrueTypeFont$1
-java/io/RandomAccessFile
-java/nio/ByteBufferAsIntBufferB
-java/nio/IntBuffer
-sun/font/TrueTypeFont$DirectoryEntry
-java/nio/ByteBufferAsShortBufferB
-java/nio/ShortBuffer
-sun/nio/cs/UTF_16
-sun/nio/cs/UTF_16$Decoder
-sun/nio/cs/UnicodeDecoder
-sun/font/FileFontStrike
-sun/font/TrueTypeGlyphMapper
-sun/font/CMap
-sun/font/CMap$NullCMapClass
-sun/font/CMap$CMapFormat4
-java/nio/ByteBufferAsCharBufferB
-sun/font/FontDesignMetrics$KeyReference
-sun/awt/image/PNGImageDecoder
-sun/awt/image/PNGFilterInputStream
-java/util/zip/InflaterInputStream
-java/util/zip/Inflater
-sun/awt/EventQueueItem
-sun/awt/SunToolkit$3
-sun/awt/X11/XExposeEvent
-sun/reflect/UnsafeBooleanFieldAccessorImpl
-sun/awt/event/IgnorePaintEvent
-java/awt/image/DataBufferInt
-java/awt/image/SinglePixelPackedSampleModel
-sun/awt/image/IntegerInterleavedRaster
-sun/awt/image/OffScreenImage
-sun/awt/image/BufImgSurfaceData
-sun/java2d/opengl/GLXGraphicsConfig
-sun/java2d/opengl/OGLGraphicsConfig
-sun/java2d/x11/X11SurfaceData$X11PixmapSurfaceData
-sun/awt/image/WritableRasterNative
-sun/awt/image/DataBufferNative
-sun/java2d/SurfaceManagerFactory
-sun/java2d/opengl/GLXSurfaceData
-sun/java2d/opengl/OGLSurfaceData
-sun/font/CompositeGlyphMapper
-sun/java2d/loops/FontInfo
-java/util/Date
-sun/util/calendar/CalendarSystem
-sun/util/calendar/Gregorian
-sun/util/calendar/BaseCalendar
-sun/util/calendar/AbstractCalendar
-java/util/TimeZone
-java/lang/InheritableThreadLocal
-sun/util/calendar/ZoneInfo
-sun/util/calendar/ZoneInfoFile
-sun/util/calendar/ZoneInfoFile$1
-java/util/TimeZone$1
-sun/util/calendar/Gregorian$Date
-sun/util/calendar/BaseCalendar$Date
-sun/util/calendar/CalendarDate
-sun/util/calendar/CalendarUtils
-java/util/TimeZone$DisplayNames
-sun/util/TimeZoneNameUtility
-sun/util/resources/TimeZoneNames
-sun/util/resources/TimeZoneNamesBundle
-sun/util/resources/TimeZoneNames_en
-java/util/spi/TimeZoneNameProvider
-java/lang/ProcessBuilder
-java/lang/ProcessImpl
-java/lang/UNIXProcess
-java/lang/Process
-java/lang/UNIXProcess$1
-java/net/ServerSocket
-java/util/Random
-java/util/concurrent/atomic/AtomicLong
-java/lang/InternalError
-java/io/StringReader
-java/lang/SecurityException
-java/io/FilterReader
-java/lang/reflect/Proxy
-java/lang/reflect/InvocationHandler
-java/lang/NoSuchFieldException
-java/lang/InstantiationException
-java/lang/ArrayIndexOutOfBoundsException
-java/lang/IndexOutOfBoundsException
-javax/swing/JDialog
-sun/awt/X11/XClipboard
-sun/awt/datatransfer/SunClipboard
-java/awt/datatransfer/Clipboard
-java/awt/datatransfer/SystemFlavorMap
-java/awt/datatransfer/FlavorMap
-java/awt/datatransfer/FlavorTable
-java/awt/datatransfer/SystemFlavorMap$1
-sun/net/ProgressMonitor
-sun/net/DefaultProgressMeteringPolicy
-sun/net/ProgressMeteringPolicy
-java/awt/datatransfer/SystemFlavorMap$2
-java/awt/datatransfer/MimeType
-java/io/Externalizable
-java/awt/datatransfer/MimeTypeParameterList
-sun/awt/datatransfer/DataTransferer
-java/util/Collections$SynchronizedSet
-java/util/Collections$SynchronizedCollection
-java/awt/datatransfer/DataFlavor
-java/awt/datatransfer/DataFlavor$1
-sun/awt/datatransfer/DataTransferer$CharsetComparator
-sun/awt/datatransfer/DataTransferer$IndexedComparator
-sun/nio/cs/UTF_16LE
-sun/nio/cs/UTF_16BE
-sun/awt/datatransfer/DataTransferer$DataFlavorComparator
-java/rmi/Remote
-sun/awt/datatransfer/DataTransferer$1
-sun/awt/X11/XDataTransferer
-sun/awt/datatransfer/ToolkitThreadBlockedHandler
-javax/imageio/ImageTypeSpecifier
-sun/awt/X11/XSelection
-sun/security/action/GetIntegerAction
-sun/awt/X11/XSelection$IncrementalTransferHandler
-sun/awt/X11/XSelection$SelectionEventHandler
-java/awt/datatransfer/Transferable
-java/io/EOFException
-java/util/Vector$1
-java/util/zip/ZipFile$1
-java/util/zip/ZipFile$2
-java/util/jar/JarFile$1
-java/util/PropertyResourceBundle
-java/util/ResourceBundle$Control$1
-java/util/Hashtable$EntrySet
-java/lang/IllegalAccessError
-java/text/MessageFormat
-java/text/MessageFormat$Field
-java/text/Format$Field
-java/lang/CloneNotSupportedException
-sun/reflect/MethodAccessorGenerator
-sun/reflect/AccessorGenerator
-sun/reflect/ClassFileConstants
-java/lang/Void
-sun/reflect/ByteVectorFactory
-sun/reflect/ByteVectorImpl
-sun/reflect/ByteVector
-sun/reflect/ClassFileAssembler
-sun/reflect/UTF8
-sun/reflect/Label
-sun/reflect/Label$PatchInfo
-sun/reflect/MethodAccessorGenerator$1
-sun/reflect/ClassDefiner
-sun/reflect/ClassDefiner$1
-sun/reflect/BootstrapConstructorAccessorImpl
-java/awt/event/ActionListener
-javax/swing/Timer
-javax/swing/Timer$DoPostEvent
-javax/swing/TimerQueue
-javax/swing/TimerQueue$1
-javax/swing/ToolTipManager
-java/awt/event/MouseAdapter
-javax/swing/ToolTipManager$insideTimerAction
-javax/swing/ToolTipManager$outsideTimerAction
-javax/swing/ToolTipManager$stillInsideTimerAction
-sun/swing/UIAction
-javax/swing/Action
-javax/swing/ToolTipManager$MoveBeforeEnterListener
-java/awt/event/MouseMotionAdapter
-java/util/Hashtable$ValueCollection
-javax/swing/event/CaretListener
-javax/swing/JToolBar
-javax/swing/JSplitPane
-javax/swing/border/Border
-javax/swing/JToggleButton
-javax/swing/border/EmptyBorder
-javax/swing/border/AbstractBorder
-javax/swing/DefaultButtonModel
-javax/swing/ButtonModel
-javax/swing/AbstractButton$Handler
-javax/swing/event/ChangeListener
-java/awt/event/ItemListener
-javax/swing/plaf/metal/MetalButtonUI
-javax/swing/plaf/basic/BasicButtonUI
-javax/swing/plaf/ButtonUI
-javax/swing/plaf/metal/MetalBorders
-javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
-javax/swing/border/CompoundBorder
-javax/swing/plaf/metal/MetalBorders$ButtonBorder
-javax/swing/plaf/basic/BasicBorders$MarginBorder
-javax/swing/plaf/basic/BasicButtonListener
-java/awt/AWTEventMulticaster
-java/awt/event/WindowFocusListener
-java/awt/event/WindowStateListener
-java/awt/event/AdjustmentListener
-java/awt/event/TextListener
-javax/swing/event/AncestorListener
-java/beans/VetoableChangeListener
-javax/swing/ButtonGroup
-javax/swing/JToggleButton$ToggleButtonModel
-javax/swing/plaf/metal/MetalToggleButtonUI
-javax/swing/plaf/basic/BasicToggleButtonUI
-javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder
-java/awt/CardLayout
-javax/swing/Box
-javax/swing/plaf/metal/MetalBorders$TextFieldBorder
-javax/swing/plaf/metal/MetalBorders$Flush3DBorder
-javax/swing/BoxLayout
-javax/swing/JMenuBar
-javax/swing/DefaultSingleSelectionModel
-javax/swing/SingleSelectionModel
-javax/swing/plaf/basic/BasicMenuBarUI
-javax/swing/plaf/MenuBarUI
-javax/swing/plaf/basic/DefaultMenuLayout
-javax/swing/plaf/metal/MetalBorders$MenuBarBorder
-javax/swing/plaf/basic/BasicMenuBarUI$Handler
-javax/swing/KeyboardManager
-javax/swing/event/MenuEvent
-javax/swing/JMenu$MenuChangeListener
-javax/swing/JMenuItem$MenuItemFocusListener
-javax/swing/plaf/basic/BasicMenuUI
-javax/swing/plaf/basic/BasicMenuItemUI
-javax/swing/plaf/MenuItemUI
-javax/swing/plaf/metal/MetalBorders$MenuItemBorder
-javax/swing/plaf/metal/MetalIconFactory
-javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon
-javax/swing/plaf/basic/BasicMenuUI$Handler
-javax/swing/event/MenuKeyListener
-javax/swing/plaf/basic/BasicMenuItemUI$Handler
-javax/swing/event/MenuDragMouseListener
-javax/swing/event/MouseInputListener
-javax/swing/event/ChangeEvent
-java/awt/event/ContainerEvent
-javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon
-javax/swing/JPopupMenu
-javax/swing/plaf/basic/BasicPopupMenuUI
-javax/swing/plaf/PopupMenuUI
-javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper
-java/awt/event/AWTEventListenerProxy
-java/awt/Toolkit$SelectiveAWTEventListener
-java/awt/Toolkit$ToolkitEventMulticaster
-javax/swing/plaf/basic/BasicLookAndFeel$1
-javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
-javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
-javax/swing/event/PopupMenuListener
-javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener
-javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber
-javax/swing/MenuSelectionManager
-javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper
-javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1
-java/awt/event/FocusAdapter
-javax/swing/JMenu$WinListener
-java/awt/event/WindowAdapter
-javax/swing/JPopupMenu$Separator
-javax/swing/JSeparator
-javax/swing/plaf/metal/MetalPopupMenuSeparatorUI
-javax/swing/plaf/metal/MetalSeparatorUI
-javax/swing/plaf/basic/BasicSeparatorUI
-javax/swing/plaf/SeparatorUI
-javax/swing/JComboBox
-javax/swing/event/ListDataListener
-javax/swing/event/CaretEvent
-javax/swing/text/TabExpander
-javax/swing/JScrollBar
-java/awt/Adjustable
-javax/swing/event/MouseInputAdapter
-javax/swing/JScrollBar$ModelListener
-javax/swing/DefaultBoundedRangeModel
-javax/swing/BoundedRangeModel
-javax/swing/plaf/metal/MetalScrollBarUI
-javax/swing/plaf/basic/BasicScrollBarUI
-javax/swing/plaf/ScrollBarUI
-javax/swing/plaf/metal/MetalBumps
-javax/swing/plaf/metal/MetalScrollButton
-javax/swing/plaf/basic/BasicArrowButton
-javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
-javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
-javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
-javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener
-javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
-javax/swing/plaf/basic/BasicScrollBarUI$Handler
-javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
-javax/swing/CellRendererPane
-java/util/HashMap$EntryIterator
-javax/swing/border/MatteBorder
-sun/font/StandardGlyphVector
-java/awt/font/GlyphVector
-sun/font/StandardGlyphVector$GlyphStrike
-sun/font/CoreMetrics
-sun/font/FontLineMetrics
-java/awt/font/LineMetrics
-javax/swing/ComboBoxModel
-javax/swing/ListModel
-javax/swing/ListCellRenderer
-javax/swing/DefaultComboBoxModel
-javax/swing/MutableComboBoxModel
-javax/swing/AbstractListModel
-javax/swing/JComboBox$1
-javax/swing/AncestorNotifier
-javax/swing/plaf/metal/MetalComboBoxUI
-javax/swing/plaf/basic/BasicComboBoxUI
-javax/swing/plaf/ComboBoxUI
-javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager
-javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
-javax/swing/plaf/basic/BasicComboPopup
-javax/swing/plaf/basic/ComboPopup
-javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass
-javax/swing/border/LineBorder
-javax/swing/plaf/basic/BasicComboPopup$1
-javax/swing/JList
-javax/swing/DropMode
-javax/swing/DefaultListSelectionModel
-javax/swing/ListSelectionModel
-javax/swing/plaf/basic/BasicListUI
-javax/swing/plaf/ListUI
-javax/swing/plaf/basic/BasicListUI$ListTransferHandler
-javax/swing/TransferHandler
-javax/swing/TransferHandler$TransferAction
-javax/swing/DefaultListCellRenderer$UIResource
-javax/swing/DefaultListCellRenderer
-javax/swing/TransferHandler$SwingDropTarget
-java/awt/dnd/DropTargetContext
-javax/swing/TransferHandler$DropHandler
-javax/swing/TransferHandler$TransferSupport
-javax/swing/plaf/basic/BasicListUI$Handler
-javax/swing/event/ListSelectionListener
-javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag
-javax/swing/plaf/basic/BasicComboPopup$Handler
-javax/swing/JScrollPane
-javax/swing/ScrollPaneConstants
-javax/swing/ScrollPaneLayout$UIResource
-javax/swing/ScrollPaneLayout
-javax/swing/JViewport
-javax/swing/ViewportLayout
-javax/swing/plaf/basic/BasicViewportUI
-javax/swing/plaf/ViewportUI
-javax/swing/JScrollPane$ScrollBar
-javax/swing/JViewport$ViewListener
-java/awt/event/ComponentAdapter
-javax/swing/plaf/metal/MetalScrollPaneUI
-javax/swing/plaf/basic/BasicScrollPaneUI
-javax/swing/plaf/ScrollPaneUI
-javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
-javax/swing/plaf/basic/BasicScrollPaneUI$Handler
-javax/swing/plaf/metal/MetalScrollPaneUI$1
-javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource
-javax/swing/plaf/basic/BasicComboBoxRenderer
-javax/swing/plaf/metal/MetalComboBoxEditor$UIResource
-javax/swing/plaf/metal/MetalComboBoxEditor
-javax/swing/plaf/basic/BasicComboBoxEditor
-javax/swing/ComboBoxEditor
-javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField
-javax/swing/JTextField$NotifyAction
-javax/swing/text/TextAction
-javax/swing/AbstractAction
-javax/swing/text/JTextComponent$MutableCaretEvent
-javax/swing/plaf/metal/MetalTextFieldUI
-javax/swing/plaf/basic/BasicTextFieldUI
-javax/swing/plaf/basic/BasicTextUI
-javax/swing/text/ViewFactory
-javax/swing/plaf/TextUI
-javax/swing/plaf/basic/BasicTextUI$BasicCursor
+javax/swing/text/AbstractDocument$InsertStringResult
+javax/swing/text/AbstractDocument$LeafElement
+javax/swing/text/AttributeSet
+javax/swing/text/AttributeSet$CharacterAttribute
+javax/swing/text/AttributeSet$ColorAttribute
+javax/swing/text/AttributeSet$FontAttribute
+javax/swing/text/AttributeSet$ParagraphAttribute
+javax/swing/text/Caret
+javax/swing/text/DefaultCaret
+javax/swing/text/DefaultCaret$Handler
 javax/swing/text/DefaultEditorKit
-javax/swing/text/EditorKit
-javax/swing/text/DefaultEditorKit$InsertContentAction
-javax/swing/text/DefaultEditorKit$DeletePrevCharAction
-javax/swing/text/DefaultEditorKit$DeleteNextCharAction
-javax/swing/text/DefaultEditorKit$ReadOnlyAction
-javax/swing/text/DefaultEditorKit$DeleteWordAction
-javax/swing/text/DefaultEditorKit$WritableAction
-javax/swing/text/DefaultEditorKit$CutAction
-javax/swing/text/DefaultEditorKit$CopyAction
-javax/swing/text/DefaultEditorKit$PasteAction
-javax/swing/text/DefaultEditorKit$VerticalPageAction
-javax/swing/text/DefaultEditorKit$PageAction
-javax/swing/text/DefaultEditorKit$InsertBreakAction
 javax/swing/text/DefaultEditorKit$BeepAction
-javax/swing/text/DefaultEditorKit$NextVisualPositionAction
-javax/swing/text/DefaultEditorKit$BeginWordAction
-javax/swing/text/DefaultEditorKit$EndWordAction
-javax/swing/text/DefaultEditorKit$PreviousWordAction
-javax/swing/text/DefaultEditorKit$NextWordAction
-javax/swing/text/DefaultEditorKit$BeginLineAction
-javax/swing/text/DefaultEditorKit$EndLineAction
-javax/swing/text/DefaultEditorKit$BeginParagraphAction
-javax/swing/text/DefaultEditorKit$EndParagraphAction
 javax/swing/text/DefaultEditorKit$BeginAction
-javax/swing/text/DefaultEditorKit$EndAction
+javax/swing/text/DefaultEditorKit$BeginLineAction
+javax/swing/text/DefaultEditorKit$BeginParagraphAction
+javax/swing/text/DefaultEditorKit$BeginWordAction
+javax/swing/text/DefaultEditorKit$CopyAction
+javax/swing/text/DefaultEditorKit$CutAction
 javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction
+javax/swing/text/DefaultEditorKit$DeleteNextCharAction
+javax/swing/text/DefaultEditorKit$DeletePrevCharAction
+javax/swing/text/DefaultEditorKit$DeleteWordAction
+javax/swing/text/DefaultEditorKit$DumpModelAction
+javax/swing/text/DefaultEditorKit$EndAction
+javax/swing/text/DefaultEditorKit$EndLineAction
+javax/swing/text/DefaultEditorKit$EndParagraphAction
+javax/swing/text/DefaultEditorKit$EndWordAction
+javax/swing/text/DefaultEditorKit$InsertBreakAction
+javax/swing/text/DefaultEditorKit$InsertContentAction
 javax/swing/text/DefaultEditorKit$InsertTabAction
-javax/swing/text/DefaultEditorKit$SelectWordAction
+javax/swing/text/DefaultEditorKit$NextVisualPositionAction
+javax/swing/text/DefaultEditorKit$NextWordAction
+javax/swing/text/DefaultEditorKit$PageAction
+javax/swing/text/DefaultEditorKit$PasteAction
+javax/swing/text/DefaultEditorKit$PreviousWordAction
+javax/swing/text/DefaultEditorKit$ReadOnlyAction
+javax/swing/text/DefaultEditorKit$SelectAllAction
 javax/swing/text/DefaultEditorKit$SelectLineAction
 javax/swing/text/DefaultEditorKit$SelectParagraphAction
-javax/swing/text/DefaultEditorKit$SelectAllAction
-javax/swing/text/DefaultEditorKit$UnselectAction
+javax/swing/text/DefaultEditorKit$SelectWordAction
 javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction
-javax/swing/text/DefaultEditorKit$DumpModelAction
-javax/swing/plaf/basic/BasicTextUI$TextTransferHandler
-javax/swing/text/Position$Bias
-javax/swing/plaf/basic/BasicTextUI$RootView
-javax/swing/text/View
-javax/swing/plaf/basic/BasicTextUI$UpdateHandler
-javax/swing/event/DocumentListener
-javax/swing/plaf/basic/BasicTextUI$DragListener
-javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
-javax/swing/plaf/basic/BasicTextUI$BasicCaret
-javax/swing/text/DefaultCaret
-javax/swing/text/Caret
-javax/swing/text/DefaultCaret$Handler
-java/awt/datatransfer/ClipboardOwner
-javax/swing/plaf/basic/BasicTextUI$BasicHighlighter
+javax/swing/text/DefaultEditorKit$UnselectAction
+javax/swing/text/DefaultEditorKit$VerticalPageAction
+javax/swing/text/DefaultEditorKit$WritableAction
 javax/swing/text/DefaultHighlighter
-javax/swing/text/LayeredHighlighter
+javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
+javax/swing/text/DefaultHighlighter$SafeDamager
+javax/swing/text/Document
+javax/swing/text/EditorKit
+javax/swing/text/Element
+javax/swing/text/FieldView
+javax/swing/text/GapContent
+javax/swing/text/GapContent$InsertUndo
+javax/swing/text/GapContent$MarkData
+javax/swing/text/GapContent$MarkVector
+javax/swing/text/GapContent$StickyPosition
+javax/swing/text/GapVector
 javax/swing/text/Highlighter
 javax/swing/text/Highlighter$Highlight
-javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
-javax/swing/text/LayeredHighlighter$LayerPainter
 javax/swing/text/Highlighter$HighlightPainter
-javax/swing/text/DefaultHighlighter$SafeDamager
-javax/swing/text/FieldView
-javax/swing/text/PlainView
+javax/swing/text/JTextComponent
+javax/swing/text/JTextComponent$1
 javax/swing/text/JTextComponent$DefaultKeymap
-javax/swing/text/Keymap
-javax/swing/text/JTextComponent$KeymapWrapper
 javax/swing/text/JTextComponent$KeymapActionMap
-javax/swing/plaf/basic/BasicTextUI$FocusAction
-javax/swing/plaf/basic/BasicTextUI$TextActionWrapper
-javax/swing/JTextArea
-javax/swing/JEditorPane
-javax/swing/JTextField$ScrollRepainter
-javax/swing/plaf/metal/MetalComboBoxEditor$1
-javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder
-javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
-javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler
-javax/swing/plaf/basic/BasicComboBoxUI$Handler
-javax/swing/plaf/metal/MetalComboBoxButton
-javax/swing/plaf/metal/MetalComboBoxIcon
-javax/swing/plaf/metal/MetalComboBoxButton$1
-javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager
-javax/swing/JComboBox$KeySelectionManager
-javax/swing/JToolBar$DefaultToolBarLayout
-javax/swing/plaf/metal/MetalToolBarUI
-javax/swing/plaf/basic/BasicToolBarUI
-javax/swing/plaf/ToolBarUI
-javax/swing/plaf/metal/MetalBorders$ToolBarBorder
-javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1
-javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder
-javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder
-javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
-javax/swing/plaf/basic/BasicBorders$ButtonBorder
-javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder
-javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener
-javax/swing/plaf/basic/BasicToolBarUI$DockingListener
-javax/swing/plaf/basic/BasicToolBarUI$Handler
-javax/swing/border/EtchedBorder
-javax/swing/JToolBar$Separator
-javax/swing/plaf/basic/BasicToolBarSeparatorUI
-java/applet/Applet
-java/awt/Panel
-com/sun/awt/AWTUtilities
-javax/swing/KeyboardManager$ComponentKeyStrokePair
-sun/awt/EmbeddedFrame
-sun/awt/im/InputMethodContext
-java/awt/im/spi/InputMethodContext
-sun/awt/im/InputContext
-sun/awt/im/InputMethodManager
-sun/awt/im/ExecutableInputMethodManager
-sun/awt/X11/XInputMethodDescriptor
-sun/awt/X11InputMethodDescriptor
-java/awt/im/spi/InputMethodDescriptor
-sun/awt/im/InputMethodLocator
-sun/awt/im/ExecutableInputMethodManager$2
-sun/misc/Service
-sun/misc/Service$LazyIterator
-java/util/TreeSet
-java/util/NavigableSet
-java/util/SortedSet
-javax/swing/SizeRequirements
-javax/swing/plaf/basic/BasicGraphicsUtils
-java/awt/event/AdjustmentEvent
-java/awt/MenuBar
-sun/awt/X11/XComponentPeer$2
-java/awt/SequencedEvent
-java/beans/PropertyVetoException
-java/awt/DefaultKeyboardFocusManager$TypeAheadMarker
-java/awt/KeyboardFocusManager$HeavyweightFocusRequest
-java/awt/KeyboardFocusManager$LightweightFocusRequest
-sun/awt/KeyboardFocusManagerPeerImpl
-sun/awt/SunToolkit$7
-java/awt/Window$1DisposeAction
-java/awt/LightweightDispatcher$2
-sun/awt/X11/XReparentEvent
-sun/awt/X11/XWindowAttributes
-sun/awt/X11/XFocusChangeEvent
-sun/awt/X11/XComponentPeer$1
-sun/awt/X11/XUnmapEvent
-java/io/StringWriter
-javax/swing/JWindow
-java/io/UnsupportedEncodingException
-java/net/UnknownHostException
-java/nio/channels/SocketChannel
-java/nio/channels/spi/AbstractSelectableChannel
-java/nio/channels/SelectableChannel
-java/net/SocketImplFactory
-javax/swing/UnsupportedLookAndFeelException
-java/lang/UnsatisfiedLinkError
-javax/swing/Box$Filler
-javax/swing/JComponent$2
-sun/net/www/MimeTable
-java/net/FileNameMap
-sun/net/www/MimeTable$1
-sun/net/www/MimeEntry
-java/net/URLConnection$1
-java/text/SimpleDateFormat
-java/text/DateFormat
-java/text/DateFormat$Field
-java/util/Calendar
-java/util/GregorianCalendar
-sun/util/resources/CalendarData
-sun/util/resources/CalendarData_en
-java/text/DateFormatSymbols
-java/text/spi/DateFormatSymbolsProvider
-java/text/DontCareFieldPosition
-java/text/DontCareFieldPosition$1
-java/text/Format$FieldDelegate
-javax/swing/plaf/BorderUIResource
-javax/swing/BorderFactory
-javax/swing/border/BevelBorder
-javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon
-javax/swing/plaf/metal/MetalIconFactory$FolderIcon16
-java/util/zip/ZipInputStream
-java/io/PushbackInputStream
-java/util/zip/CRC32
-java/util/zip/Checksum
-java/lang/Thread$State
-javax/swing/SwingUtilities$SharedOwnerFrame
-javax/swing/JTable
-javax/swing/event/TableModelListener
-javax/swing/event/TableColumnModelListener
-javax/swing/event/CellEditorListener
-javax/swing/event/RowSorterListener
-javax/swing/BufferStrategyPaintManager$BufferInfo
-java/awt/Component$BltSubRegionBufferStrategy
-sun/awt/SubRegionShowable
-java/awt/Component$BltBufferStrategy
-sun/awt/image/SunVolatileImage
-sun/awt/image/BufferedImageGraphicsConfig
-sun/print/PrinterGraphicsConfig
-sun/java2d/x11/X11VolatileSurfaceManager
-sun/awt/image/VolatileSurfaceManager
-java/awt/print/PrinterGraphics
-java/awt/PrintGraphics
-java/awt/GraphicsCallback$PaintCallback
-java/awt/GraphicsCallback
-sun/awt/SunGraphicsCallback
-javax/swing/JRadioButton
-java/lang/ClassFormatError
-javax/swing/JTabbedPane
-javax/swing/JTabbedPane$ModelListener
-javax/swing/plaf/metal/MetalTabbedPaneUI
-javax/swing/plaf/basic/BasicTabbedPaneUI
-javax/swing/plaf/TabbedPaneUI
-javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$Handler
-sun/swing/ImageIconUIResource
-javax/swing/GrayFilter
-java/awt/image/RGBImageFilter
-java/awt/image/ImageFilter
-java/awt/image/FilteredImageSource
-org/w3c/dom/Node
-org/xml/sax/SAXException
-javax/xml/parsers/ParserConfigurationException
-org/xml/sax/EntityResolver
-java/security/NoSuchAlgorithmException
-java/security/GeneralSecurityException
-java/util/zip/GZIPInputStream
-java/util/zip/DeflaterOutputStream
-org/xml/sax/InputSource
-javax/xml/parsers/DocumentBuilderFactory
-javax/xml/parsers/FactoryFinder
-javax/xml/parsers/SecuritySupport
-javax/xml/parsers/SecuritySupport$2
-javax/xml/parsers/SecuritySupport$5
-javax/xml/parsers/SecuritySupport$1
-javax/xml/parsers/SecuritySupport$4
-javax/xml/parsers/DocumentBuilder
-org/w3c/dom/Document
-org/xml/sax/helpers/DefaultHandler
-org/xml/sax/DTDHandler
-org/xml/sax/ContentHandler
-org/xml/sax/ErrorHandler
-org/xml/sax/SAXNotSupportedException
-org/xml/sax/Locator
-org/xml/sax/SAXNotRecognizedException
-org/xml/sax/SAXParseException
-org/w3c/dom/NodeList
-org/w3c/dom/events/EventTarget
-org/w3c/dom/traversal/DocumentTraversal
-org/w3c/dom/events/DocumentEvent
-org/w3c/dom/ranges/DocumentRange
-org/w3c/dom/Entity
-org/w3c/dom/Element
-org/w3c/dom/CharacterData
-org/w3c/dom/CDATASection
-org/w3c/dom/Text
-org/xml/sax/AttributeList
-org/w3c/dom/DOMException
-org/w3c/dom/Notation
-org/w3c/dom/DocumentType
-org/w3c/dom/Attr
-org/w3c/dom/EntityReference
-org/w3c/dom/ProcessingInstruction
-org/w3c/dom/Comment
-org/w3c/dom/DocumentFragment
-org/w3c/dom/events/Event
-org/w3c/dom/events/MutationEvent
-org/w3c/dom/traversal/TreeWalker
-org/w3c/dom/ranges/Range
-org/w3c/dom/traversal/NodeIterator
-org/w3c/dom/events/EventException
-org/w3c/dom/NamedNodeMap
-java/lang/StringIndexOutOfBoundsException
-java/awt/GridLayout
-javax/swing/plaf/metal/MetalRadioButtonUI
-javax/swing/plaf/basic/BasicRadioButtonUI
-javax/swing/plaf/basic/BasicBorders
-javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon
-java/awt/event/ItemEvent
-java/awt/CardLayout$Card
-javax/swing/JCheckBox
-javax/swing/event/ListSelectionEvent
-javax/swing/plaf/metal/MetalCheckBoxUI
-javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon
-java/lang/ExceptionInInitializerError
-com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI
-javax/swing/JProgressBar
-javax/swing/JProgressBar$ModelListener
-javax/swing/plaf/metal/MetalProgressBarUI
-javax/swing/plaf/basic/BasicProgressBarUI
-javax/swing/plaf/ProgressBarUI
-javax/swing/plaf/BorderUIResource$LineBorderUIResource
-javax/swing/plaf/basic/BasicProgressBarUI$Handler
-javax/swing/tree/TreeModel
-javax/swing/table/TableCellRenderer
-javax/swing/table/JTableHeader
-javax/swing/event/TreeExpansionListener
-javax/swing/table/AbstractTableModel
-javax/swing/table/TableModel
-javax/swing/table/DefaultTableCellRenderer
-javax/swing/JTree
-javax/swing/tree/TreeSelectionModel
-javax/swing/tree/DefaultTreeCellRenderer
-javax/swing/tree/TreeCellRenderer
-javax/swing/table/TableCellEditor
-javax/swing/CellEditor
-javax/swing/JToolTip
-javax/swing/table/TableColumn
-javax/swing/table/DefaultTableColumnModel
-javax/swing/table/TableColumnModel
-javax/swing/table/DefaultTableModel
-javax/swing/event/TableModelEvent
-sun/swing/table/DefaultTableCellHeaderRenderer
-javax/swing/plaf/basic/BasicTableHeaderUI
-javax/swing/plaf/TableHeaderUI
-javax/swing/plaf/basic/BasicTableHeaderUI$1
-javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler
-javax/swing/DefaultCellEditor
-javax/swing/tree/TreeCellEditor
-javax/swing/AbstractCellEditor
-javax/swing/plaf/basic/BasicTableUI
-javax/swing/plaf/TableUI
-javax/swing/plaf/basic/BasicTableUI$TableTransferHandler
-javax/swing/plaf/basic/BasicTableUI$Handler
-javax/swing/tree/DefaultTreeSelectionModel
-javax/swing/tree/TreePath
-javax/swing/plaf/metal/MetalTreeUI
-javax/swing/plaf/basic/BasicTreeUI
-javax/swing/plaf/TreeUI
-javax/swing/plaf/basic/BasicTreeUI$Actions
-javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler
-javax/swing/plaf/metal/MetalTreeUI$LineListener
-javax/swing/plaf/basic/BasicTreeUI$Handler
-javax/swing/event/TreeModelListener
-javax/swing/event/TreeSelectionListener
-javax/swing/event/SwingPropertyChangeSupport
-javax/swing/tree/VariableHeightLayoutCache
+javax/swing/text/JTextComponent$KeymapWrapper
+javax/swing/text/JTextComponent$MutableCaretEvent
+javax/swing/text/Keymap
+javax/swing/text/LayeredHighlighter
+javax/swing/text/LayeredHighlighter$LayerPainter
+javax/swing/text/MutableAttributeSet
+javax/swing/text/PlainDocument
+javax/swing/text/PlainView
+javax/swing/text/Position
+javax/swing/text/Position$Bias
+javax/swing/text/Segment
+javax/swing/text/SegmentCache
+javax/swing/text/SegmentCache$CachedSegment
+javax/swing/text/SimpleAttributeSet
+javax/swing/text/SimpleAttributeSet$EmptyAttributeSet
+javax/swing/text/Style
+javax/swing/text/StyleConstants
+javax/swing/text/StyleConstants$CharacterConstants
+javax/swing/text/StyleConstants$ColorConstants
+javax/swing/text/StyleConstants$FontConstants
+javax/swing/text/StyleConstants$ParagraphConstants
+javax/swing/text/StyleContext
+javax/swing/text/StyleContext$FontKey
+javax/swing/text/StyleContext$KeyEnumeration
+javax/swing/text/StyleContext$NamedStyle
+javax/swing/text/StyleContext$SmallAttributeSet
+javax/swing/text/TabExpander
+javax/swing/text/TextAction
+javax/swing/text/Utilities
+javax/swing/text/View
+javax/swing/text/ViewFactory
 javax/swing/tree/AbstractLayoutCache
-javax/swing/tree/RowMapper
-javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler
 javax/swing/tree/AbstractLayoutCache$NodeDimensions
-javax/swing/JTree$TreeModelHandler
-javax/swing/tree/VariableHeightLayoutCache$TreeStateNode
 javax/swing/tree/DefaultMutableTreeNode
-javax/swing/tree/MutableTreeNode
 javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration
-javax/swing/event/TableColumnModelEvent
-java/text/ParseException
-java/text/NumberFormat$Field
-javax/swing/event/UndoableEditListener
-javax/swing/filechooser/FileFilter
-javax/swing/tree/DefaultTreeModel
 javax/swing/tree/DefaultTreeCellEditor
 javax/swing/tree/DefaultTreeCellEditor$1
 javax/swing/tree/DefaultTreeCellEditor$DefaultTextField
-javax/swing/DefaultCellEditor$1
-javax/swing/DefaultCellEditor$EditorDelegate
 javax/swing/tree/DefaultTreeCellEditor$EditorContainer
-javax/swing/JTree$TreeSelectionRedirector
-javax/swing/event/TreeModelEvent
-javax/swing/plaf/metal/MetalSplitPaneUI
-javax/swing/plaf/basic/BasicSplitPaneUI
-javax/swing/plaf/SplitPaneUI
-javax/swing/plaf/basic/BasicSplitPaneDivider
-javax/swing/plaf/basic/BasicBorders$SplitPaneBorder
-javax/swing/plaf/metal/MetalSplitPaneDivider
-javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout
-javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler
-javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder
-javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager
-javax/swing/plaf/basic/BasicSplitPaneUI$1
-javax/swing/plaf/basic/BasicSplitPaneUI$Handler
-javax/swing/plaf/metal/MetalSplitPaneDivider$1
-javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler
-javax/swing/plaf/metal/MetalSplitPaneDivider$2
-javax/swing/border/TitledBorder
-javax/swing/plaf/basic/BasicTextAreaUI
-java/util/Collections$UnmodifiableCollection$1
-java/io/InterruptedIOException
-java/net/NoRouteToHostException
-java/net/BindException
+javax/swing/tree/DefaultTreeCellRenderer
+javax/swing/tree/DefaultTreeModel
+javax/swing/tree/DefaultTreeSelectionModel
+javax/swing/tree/MutableTreeNode
 javax/swing/tree/PathPlaceHolder
-javax/swing/event/TreeSelectionEvent
-javax/swing/JList$3
-javax/swing/JList$ListSelectionHandler
-javax/swing/JSlider
-javax/swing/JSlider$ModelListener
-javax/swing/plaf/metal/MetalSliderUI
-javax/swing/plaf/basic/BasicSliderUI
-javax/swing/plaf/SliderUI
-javax/swing/plaf/basic/BasicSliderUI$Actions
-javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon
-javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon
-javax/swing/plaf/basic/BasicSliderUI$TrackListener
-javax/swing/plaf/basic/BasicSliderUI$Handler
-javax/swing/plaf/basic/BasicSliderUI$ScrollListener
-javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener
-javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler
-sun/java2d/HeadlessGraphicsEnvironment
-java/util/Hashtable$KeySet
-java/awt/FontFormatException
-sun/font/Type1Font$1
-java/nio/channels/FileChannel$MapMode
-sun/nio/ch/FileChannelImpl$Unmapper
-sun/nio/ch/Util$3
-java/nio/DirectByteBufferR
-java/nio/charset/Charset$3
-sun/nio/cs/AbstractCharsetProvider
-sun/nio/cs/SingleByteDecoder
-java/lang/CharacterData00
-javax/swing/DefaultListModel
-javax/swing/event/ListDataEvent
-javax/sound/sampled/DataLine
-javax/sound/sampled/Line
-javax/sound/sampled/Line$Info
-javax/sound/sampled/DataLine$Info
-javax/sound/sampled/Control$Type
-javax/sound/sampled/FloatControl$Type
-javax/sound/sampled/LineUnavailableException
-javax/sound/sampled/UnsupportedAudioFileException
-javax/swing/JRadioButtonMenuItem
-javax/swing/JMenuItem$AccessibleJMenuItem
-javax/swing/AbstractButton$AccessibleAbstractButton
-javax/accessibility/AccessibleAction
-javax/accessibility/AccessibleValue
-javax/accessibility/AccessibleText
-javax/accessibility/AccessibleExtendedComponent
-javax/accessibility/AccessibleComponent
-javax/swing/JComponent$AccessibleJComponent
-java/awt/Container$AccessibleAWTContainer
-java/awt/Component$AccessibleAWTComponent
-javax/accessibility/AccessibleRelationSet
-javax/accessibility/AccessibleState
-javax/accessibility/AccessibleBundle
-javax/swing/plaf/basic/BasicCheckBoxMenuItemUI
-javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon
-javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem
-javax/swing/plaf/basic/BasicRadioButtonMenuItemUI
-javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon
+javax/swing/tree/RowMapper
+javax/swing/tree/TreeCellEditor
+javax/swing/tree/TreeCellRenderer
+javax/swing/tree/TreeModel
+javax/swing/tree/TreeNode
+javax/swing/tree/TreePath
+javax/swing/tree/TreeSelectionModel
+javax/swing/tree/VariableHeightLayoutCache
+javax/swing/tree/VariableHeightLayoutCache$TreeStateNode
+javax/swing/undo/AbstractUndoableEdit
+javax/swing/undo/CompoundEdit
+javax/swing/undo/UndoableEdit
+javax/xml/parsers/DocumentBuilder
+javax/xml/parsers/DocumentBuilderFactory
+javax/xml/parsers/FactoryFinder
+javax/xml/parsers/FactoryFinder$1
+javax/xml/parsers/ParserConfigurationException
+javax/xml/parsers/SecuritySupport
+javax/xml/parsers/SecuritySupport$2
+javax/xml/parsers/SecuritySupport$5
+org/w3c/dom/Attr
+org/w3c/dom/CDATASection
+org/w3c/dom/CharacterData
+org/w3c/dom/Comment
+org/w3c/dom/DOMException
+org/w3c/dom/Document
+org/w3c/dom/DocumentFragment
+org/w3c/dom/DocumentType
+org/w3c/dom/Element
+org/w3c/dom/Entity
+org/w3c/dom/EntityReference
+org/w3c/dom/NamedNodeMap
+org/w3c/dom/Node
+org/w3c/dom/NodeList
+org/w3c/dom/Notation
+org/w3c/dom/ProcessingInstruction
+org/w3c/dom/Text
+org/w3c/dom/events/DocumentEvent
+org/w3c/dom/events/Event
+org/w3c/dom/events/EventException
+org/w3c/dom/events/EventTarget
+org/w3c/dom/events/MutationEvent
+org/w3c/dom/ranges/DocumentRange
+org/w3c/dom/ranges/Range
+org/w3c/dom/traversal/DocumentTraversal
+org/w3c/dom/traversal/NodeIterator
+org/w3c/dom/traversal/TreeWalker
+org/xml/sax/AttributeList
+org/xml/sax/ContentHandler
+org/xml/sax/DTDHandler
+org/xml/sax/EntityResolver
+org/xml/sax/ErrorHandler
+org/xml/sax/InputSource
+org/xml/sax/Locator
+org/xml/sax/SAXException
+org/xml/sax/SAXNotRecognizedException
+org/xml/sax/SAXNotSupportedException
+org/xml/sax/SAXParseException
+org/xml/sax/helpers/DefaultHandler
+sun/awt/AWTAccessor
+sun/awt/AWTAccessor$AWTEventAccessor
+sun/awt/AWTAccessor$ClientPropertyKeyAccessor
+sun/awt/AWTAccessor$ComponentAccessor
+sun/awt/AWTAccessor$ContainerAccessor
+sun/awt/AWTAccessor$CursorAccessor
+sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor
+sun/awt/AWTAccessor$EventQueueAccessor
+sun/awt/AWTAccessor$FrameAccessor
+sun/awt/AWTAccessor$InputEventAccessor
+sun/awt/AWTAccessor$InvocationEventAccessor
+sun/awt/AWTAccessor$KeyEventAccessor
+sun/awt/AWTAccessor$KeyboardFocusManagerAccessor
+sun/awt/AWTAccessor$SequencedEventAccessor
+sun/awt/AWTAccessor$ToolkitAccessor
+sun/awt/AWTAccessor$WindowAccessor
+sun/awt/AWTAutoShutdown
+sun/awt/AWTIcon32_java_icon16_png
+sun/awt/AWTIcon32_java_icon24_png
+sun/awt/AWTIcon32_java_icon32_png
+sun/awt/AWTIcon32_java_icon48_png
+sun/awt/AppContext
+sun/awt/AppContext$1
+sun/awt/AppContext$2
+sun/awt/AppContext$3
+sun/awt/AppContext$6
+sun/awt/AppContext$GetAppContextLock
+sun/awt/AppContext$State
+sun/awt/CausedFocusEvent
+sun/awt/CausedFocusEvent$Cause
+sun/awt/ComponentFactory
+sun/awt/ConstrainableGraphics
+sun/awt/DisplayChangedListener
+sun/awt/EmbeddedFrame
+sun/awt/EventQueueDelegate
+sun/awt/EventQueueItem
+sun/awt/FontConfiguration
+sun/awt/FontDescriptor
+sun/awt/GlobalCursorManager
+sun/awt/GlobalCursorManager$NativeUpdater
+sun/awt/HeadlessToolkit
+sun/awt/IconInfo
+sun/awt/InputMethodSupport
+sun/awt/KeyboardFocusManagerPeerImpl
+sun/awt/KeyboardFocusManagerPeerProvider
+sun/awt/LightweightFrame
+sun/awt/ModalityListener
+sun/awt/MostRecentKeyValue
+sun/awt/NullComponentPeer
+sun/awt/OSInfo
+sun/awt/OSInfo$1
+sun/awt/OSInfo$OSType
+sun/awt/OSInfo$WindowsVersion
+sun/awt/PaintEventDispatcher
+sun/awt/PeerEvent
+sun/awt/PostEventQueue
+sun/awt/RepaintArea
+sun/awt/RequestFocusController
+sun/awt/SubRegionShowable
+sun/awt/SunDisplayChanger
+sun/awt/SunGraphicsCallback
+sun/awt/SunHints
+sun/awt/SunHints$Key
+sun/awt/SunHints$LCDContrastKey
+sun/awt/SunHints$Value
+sun/awt/SunToolkit
+sun/awt/SunToolkit$ModalityListenerList
+sun/awt/TimedWindowEvent
+sun/awt/UNIXToolkit
+sun/awt/WindowClosingListener
+sun/awt/WindowClosingSupport
+sun/awt/X11/AwtGraphicsConfigData
+sun/awt/X11/AwtScreenData
+sun/awt/X11/MotifColorUtilities
+sun/awt/X11/MotifDnDConstants
+sun/awt/X11/MotifDnDDragSourceProtocol
+sun/awt/X11/MotifDnDDropTargetProtocol
+sun/awt/X11/Native
+sun/awt/X11/Native$1
+sun/awt/X11/OwnershipListener
+sun/awt/X11/PropMwmHints
+sun/awt/X11/UnsafeXDisposerRecord
+sun/awt/X11/WindowDimensions
+sun/awt/X11/WindowPropertyGetter
+sun/awt/X11/XAWTXSettings
+sun/awt/X11/XAnyEvent
+sun/awt/X11/XAtom
+sun/awt/X11/XAtomList
+sun/awt/X11/XAwtState
+sun/awt/X11/XBaseWindow
+sun/awt/X11/XBaseWindow$1
+sun/awt/X11/XBaseWindow$InitialiseState
+sun/awt/X11/XBaseWindow$StateLock
+sun/awt/X11/XCanvasPeer
+sun/awt/X11/XClientMessageEvent
+sun/awt/X11/XClipboard
+sun/awt/X11/XComponentPeer
+sun/awt/X11/XComponentPeer$1
+sun/awt/X11/XConfigureEvent
+sun/awt/X11/XContentWindow
+sun/awt/X11/XCreateWindowParams
+sun/awt/X11/XDecoratedPeer
+sun/awt/X11/XDnDConstants
+sun/awt/X11/XDnDDragSourceProtocol
+sun/awt/X11/XDnDDropTargetProtocol
+sun/awt/X11/XDragAndDropProtocols
+sun/awt/X11/XDragSourceContextPeer
+sun/awt/X11/XDragSourceProtocol
+sun/awt/X11/XDragSourceProtocolListener
+sun/awt/X11/XDropTargetContextPeer
+sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl
+sun/awt/X11/XDropTargetEventProcessor
+sun/awt/X11/XDropTargetProtocol
+sun/awt/X11/XDropTargetProtocolListener
+sun/awt/X11/XDropTargetRegistry
+sun/awt/X11/XEmbeddedFramePeer
+sun/awt/X11/XErrorEvent
+sun/awt/X11/XErrorHandler
+sun/awt/X11/XErrorHandler$IgnoreBadWindowHandler
+sun/awt/X11/XErrorHandler$VerifyChangePropertyHandler
+sun/awt/X11/XErrorHandler$XBaseErrorHandler
+sun/awt/X11/XErrorHandler$XErrorHandlerWithFlag
+sun/awt/X11/XErrorHandler$XShmAttachHandler
+sun/awt/X11/XErrorHandlerUtil
+sun/awt/X11/XEvent
+sun/awt/X11/XEventDispatcher
+sun/awt/X11/XExposeEvent
+sun/awt/X11/XFocusChangeEvent
+sun/awt/X11/XFocusProxyWindow
+sun/awt/X11/XFramePeer
+sun/awt/X11/XGlobalCursorManager
+sun/awt/X11/XInputMethod
+sun/awt/X11/XInputMethodDescriptor
+sun/awt/X11/XKeyboardFocusManagerPeer
+sun/awt/X11/XLabelPeer
+sun/awt/X11/XLayerProtocol
+sun/awt/X11/XMSelection
+sun/awt/X11/XMSelection$1
+sun/awt/X11/XMSelection$3
+sun/awt/X11/XMSelectionListener
+sun/awt/X11/XModifierKeymap
+sun/awt/X11/XNETProtocol
+sun/awt/X11/XPanelPeer
+sun/awt/X11/XPropertyCache
+sun/awt/X11/XPropertyEvent
+sun/awt/X11/XProtocol
+sun/awt/X11/XRepaintArea
+sun/awt/X11/XReparentEvent
+sun/awt/X11/XRootWindow
+sun/awt/X11/XSelection
+sun/awt/X11/XSelection$IncrementalTransferHandler
+sun/awt/X11/XSelection$SelectionEventHandler
+sun/awt/X11/XSetWindowAttributes
+sun/awt/X11/XSizeHints
+sun/awt/X11/XStateProtocol
+sun/awt/X11/XSystemTrayPeer
+sun/awt/X11/XToolkit
+sun/awt/X11/XToolkit$1
+sun/awt/X11/XToolkit$2
+sun/awt/X11/XToolkit$2$1
+sun/awt/X11/XToolkit$3
+sun/awt/X11/XToolkit$4
+sun/awt/X11/XToolkit$5
+sun/awt/X11/XUnmapEvent
+sun/awt/X11/XVisibilityEvent
+sun/awt/X11/XVisualInfo
+sun/awt/X11/XWINProtocol
+sun/awt/X11/XWM
+sun/awt/X11/XWM$1
+sun/awt/X11/XWMHints
+sun/awt/X11/XWindow
+sun/awt/X11/XWindowAttributes
+sun/awt/X11/XWindowAttributesData
+sun/awt/X11/XWindowPeer
+sun/awt/X11/XWindowPeer$2
+sun/awt/X11/XWindowPeer$4
+sun/awt/X11/XWrapperBase
+sun/awt/X11/XlibUtil
+sun/awt/X11/XlibWrapper
+sun/awt/X11ComponentPeer
+sun/awt/X11FontManager
+sun/awt/X11GraphicsConfig
+sun/awt/X11GraphicsConfig$X11GCDisposerRecord
+sun/awt/X11GraphicsDevice
+sun/awt/X11GraphicsEnvironment
+sun/awt/X11GraphicsEnvironment$1
+sun/awt/X11InputMethod
+sun/awt/X11InputMethodDescriptor
+sun/awt/XSettings
+sun/awt/XSettings$Update
+sun/awt/datatransfer/SunClipboard
+sun/awt/dnd/SunDragSourceContextPeer
+sun/awt/dnd/SunDropTargetContextPeer
+sun/awt/dnd/SunDropTargetEvent
+sun/awt/event/IgnorePaintEvent
+sun/awt/geom/PathConsumer2D
+sun/awt/im/ExecutableInputMethodManager
+sun/awt/im/ExecutableInputMethodManager$3
+sun/awt/im/InputContext
+sun/awt/im/InputMethodAdapter
+sun/awt/im/InputMethodContext
+sun/awt/im/InputMethodLocator
+sun/awt/im/InputMethodManager
+sun/awt/image/BufImgSurfaceData
+sun/awt/image/BufImgSurfaceData$ICMColorData
+sun/awt/image/BufImgSurfaceManager
+sun/awt/image/BufferedImageGraphicsConfig
+sun/awt/image/ByteComponentRaster
+sun/awt/image/ByteInterleavedRaster
+sun/awt/image/BytePackedRaster
+sun/awt/image/FetcherInfo
+sun/awt/image/GifFrame
+sun/awt/image/GifImageDecoder
+sun/awt/image/ImageConsumerQueue
+sun/awt/image/ImageDecoder
 sun/awt/image/ImageDecoder$1
-javax/swing/JTabbedPane$Page
-java/net/DatagramSocket
-java/net/MulticastSocket
-java/net/DatagramPacket
+sun/awt/image/ImageFetchable
+sun/awt/image/ImageFetcher
+sun/awt/image/ImageFetcher$1
+sun/awt/image/ImageRepresentation
+sun/awt/image/ImageWatched
+sun/awt/image/ImageWatched$Link
+sun/awt/image/ImageWatched$WeakLink
+sun/awt/image/InputStreamImageSource
+sun/awt/image/IntegerComponentRaster
+sun/awt/image/IntegerInterleavedRaster
+sun/awt/image/NativeLibLoader
+sun/awt/image/NativeLibLoader$1
+sun/awt/image/OffScreenImage
+sun/awt/image/PNGFilterInputStream
+sun/awt/image/PNGImageDecoder
+sun/awt/image/PixelConverter
+sun/awt/image/PixelConverter$Argb
+sun/awt/image/PixelConverter$ArgbBm
+sun/awt/image/PixelConverter$ArgbPre
+sun/awt/image/PixelConverter$Bgrx
+sun/awt/image/PixelConverter$ByteGray
+sun/awt/image/PixelConverter$Rgba
+sun/awt/image/PixelConverter$RgbaPre
+sun/awt/image/PixelConverter$Rgbx
+sun/awt/image/PixelConverter$Ushort4444Argb
+sun/awt/image/PixelConverter$Ushort555Rgb
+sun/awt/image/PixelConverter$Ushort555Rgbx
+sun/awt/image/PixelConverter$Ushort565Rgb
+sun/awt/image/PixelConverter$UshortGray
+sun/awt/image/PixelConverter$Xbgr
+sun/awt/image/PixelConverter$Xrgb
+sun/awt/image/SunVolatileImage
+sun/awt/image/SunWritableRaster
+sun/awt/image/SunWritableRaster$DataStealer
+sun/awt/image/SurfaceManager
+sun/awt/image/SurfaceManager$ImageAccessor
+sun/awt/image/SurfaceManager$ProxiedGraphicsConfig
+sun/awt/image/ToolkitImage
+sun/awt/image/URLImageSource
+sun/awt/image/VolatileSurfaceManager
+sun/awt/motif/MFontConfiguration
+sun/awt/resources/awt
+sun/awt/util/IdentityArrayList
+sun/dc/DuctusRenderingEngine
+sun/dc/path/PathConsumer
+sun/dc/pr/PathDasher
+sun/dc/pr/PathDasher$1
+sun/dc/pr/PathStroker
+sun/dc/pr/PathStroker$1
+sun/font/AttributeValues
+sun/font/CMap
+sun/font/CMap$CMapFormat12
+sun/font/CMap$NullCMapClass
+sun/font/CharToGlyphMapper
+sun/font/CompositeFont
+sun/font/CompositeFontDescriptor
+sun/font/CompositeGlyphMapper
+sun/font/CompositeStrike
+sun/font/CoreMetrics
+sun/font/EAttribute
+sun/font/FcFontConfiguration
+sun/font/FileFont
+sun/font/FileFontStrike
+sun/font/Font2D
+sun/font/Font2DHandle
+sun/font/FontAccess
+sun/font/FontConfigManager
+sun/font/FontConfigManager$FcCompFont
+sun/font/FontConfigManager$FontConfigFont
+sun/font/FontConfigManager$FontConfigInfo
+sun/font/FontDesignMetrics
+sun/font/FontDesignMetrics$KeyReference
+sun/font/FontDesignMetrics$MetricsKey
+sun/font/FontFamily
+sun/font/FontLineMetrics
+sun/font/FontManager
+sun/font/FontManagerFactory
+sun/font/FontManagerFactory$1
+sun/font/FontManagerForSGE
+sun/font/FontManagerNativeLibrary
+sun/font/FontManagerNativeLibrary$1
+sun/font/FontScaler
+sun/font/FontStrike
+sun/font/FontStrikeDesc
+sun/font/FontStrikeDisposer
+sun/font/FontUtilities
+sun/font/FontUtilities$1
+sun/font/GlyphList
+sun/font/PhysicalFont
+sun/font/PhysicalStrike
+sun/font/StandardGlyphVector
+sun/font/StandardGlyphVector$GlyphStrike
+sun/font/StrikeCache
+sun/font/StrikeCache$1
+sun/font/StrikeCache$DisposableStrike
+sun/font/StrikeCache$SoftDisposerRef
+sun/font/StrikeMetrics
+sun/font/SunFontManager
+sun/font/SunFontManager$1
+sun/font/SunFontManager$11
+sun/font/SunFontManager$2
+sun/font/SunFontManager$3
+sun/font/SunFontManager$FontRegistrationInfo
+sun/font/SunFontManager$T1Filter
+sun/font/SunFontManager$TTFilter
+sun/font/T2KFontScaler
+sun/font/T2KFontScaler$1
+sun/font/TrueTypeFont
+sun/font/TrueTypeFont$1
+sun/font/TrueTypeFont$DirectoryEntry
+sun/font/TrueTypeFont$TTDisposerRecord
+sun/font/TrueTypeGlyphMapper
+sun/font/Type1Font
+sun/font/Type1Font$1
+sun/font/X11TextRenderer
+sun/java2d/BackBufferCapsProvider
+sun/java2d/DefaultDisposerRecord
+sun/java2d/DestSurfaceProvider
+sun/java2d/Disposer
+sun/java2d/Disposer$1
+sun/java2d/Disposer$2
+sun/java2d/Disposer$PollDisposable
+sun/java2d/DisposerRecord
+sun/java2d/DisposerTarget
+sun/java2d/FontSupport
+sun/java2d/InvalidPipeException
+sun/java2d/NullSurfaceData
+sun/java2d/StateTrackable
+sun/java2d/StateTrackable$State
+sun/java2d/StateTrackableDelegate
+sun/java2d/StateTrackableDelegate$2
+sun/java2d/SunGraphics2D
+sun/java2d/SunGraphicsEnvironment
+sun/java2d/SunGraphicsEnvironment$1
+sun/java2d/Surface
+sun/java2d/SurfaceData
+sun/java2d/SurfaceData$PixelToPgramLoopConverter
+sun/java2d/SurfaceData$PixelToShapeLoopConverter
+sun/java2d/SurfaceManagerFactory
+sun/java2d/UnixSurfaceManagerFactory
+sun/java2d/cmm/CMSManager
+sun/java2d/cmm/ProfileActivator
+sun/java2d/cmm/ProfileDeferralInfo
+sun/java2d/cmm/ProfileDeferralMgr
+sun/java2d/loops/Blit
+sun/java2d/loops/BlitBg
+sun/java2d/loops/CompositeType
+sun/java2d/loops/CustomComponent
+sun/java2d/loops/DrawGlyphList
+sun/java2d/loops/DrawGlyphListAA
+sun/java2d/loops/DrawGlyphListLCD
+sun/java2d/loops/DrawLine
+sun/java2d/loops/DrawParallelogram
+sun/java2d/loops/DrawPath
+sun/java2d/loops/DrawPolygons
+sun/java2d/loops/DrawRect
+sun/java2d/loops/FillParallelogram
+sun/java2d/loops/FillPath
+sun/java2d/loops/FillRect
+sun/java2d/loops/FillSpans
+sun/java2d/loops/FontInfo
+sun/java2d/loops/GeneralRenderer
+sun/java2d/loops/GraphicsPrimitive
+sun/java2d/loops/GraphicsPrimitiveMgr
+sun/java2d/loops/GraphicsPrimitiveMgr$1
+sun/java2d/loops/GraphicsPrimitiveMgr$2
+sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec
+sun/java2d/loops/GraphicsPrimitiveProxy
+sun/java2d/loops/MaskBlit
+sun/java2d/loops/MaskFill
+sun/java2d/loops/RenderCache
+sun/java2d/loops/RenderCache$Entry
+sun/java2d/loops/RenderLoops
+sun/java2d/loops/ScaledBlit
+sun/java2d/loops/SurfaceType
+sun/java2d/loops/TransformHelper
+sun/java2d/loops/XORComposite
+sun/java2d/opengl/GLXGraphicsConfig
+sun/java2d/opengl/OGLGraphicsConfig
+sun/java2d/pipe/AAShapePipe
+sun/java2d/pipe/AATextRenderer
+sun/java2d/pipe/AlphaColorPipe
+sun/java2d/pipe/AlphaPaintPipe
+sun/java2d/pipe/CompositePipe
+sun/java2d/pipe/DrawImage
+sun/java2d/pipe/DrawImagePipe
+sun/java2d/pipe/GeneralCompositePipe
+sun/java2d/pipe/GlyphListLoopPipe
+sun/java2d/pipe/GlyphListPipe
+sun/java2d/pipe/LCDTextRenderer
+sun/java2d/pipe/LoopBasedPipe
+sun/java2d/pipe/LoopPipe
+sun/java2d/pipe/NullPipe
+sun/java2d/pipe/OutlineTextRenderer
+sun/java2d/pipe/ParallelogramPipe
+sun/java2d/pipe/PixelDrawPipe
+sun/java2d/pipe/PixelFillPipe
+sun/java2d/pipe/PixelToParallelogramConverter
+sun/java2d/pipe/PixelToShapeConverter
+sun/java2d/pipe/Region
+sun/java2d/pipe/Region$ImmutableRegion
+sun/java2d/pipe/RegionIterator
+sun/java2d/pipe/RenderingEngine
+sun/java2d/pipe/RenderingEngine$1
+sun/java2d/pipe/ShapeDrawPipe
+sun/java2d/pipe/ShapeSpanIterator
+sun/java2d/pipe/SolidTextRenderer
+sun/java2d/pipe/SpanClipRenderer
+sun/java2d/pipe/SpanIterator
+sun/java2d/pipe/SpanShapeRenderer
+sun/java2d/pipe/SpanShapeRenderer$Composite
+sun/java2d/pipe/TextPipe
+sun/java2d/pipe/TextRenderer
+sun/java2d/pipe/ValidatePipe
+sun/java2d/pipe/hw/AccelGraphicsConfig
+sun/java2d/pipe/hw/BufferedContextProvider
+sun/java2d/x11/X11Renderer
+sun/java2d/x11/X11SurfaceData
+sun/java2d/x11/X11SurfaceData$LazyPipe
+sun/java2d/x11/X11SurfaceData$X11WindowSurfaceData
+sun/java2d/x11/X11VolatileSurfaceManager
+sun/java2d/x11/XSurfaceData
+sun/java2d/xr/XRGraphicsConfig
+sun/launcher/LauncherHelper
+sun/launcher/LauncherHelper$FXHelper
+sun/misc/ASCIICaseInsensitiveComparator
+sun/misc/Cleaner
+sun/misc/CompoundEnumeration
+sun/misc/ExtensionDependency
+sun/misc/FDBigInteger
+sun/misc/FileURLMapper
+sun/misc/FloatingDecimal
+sun/misc/FloatingDecimal$1
+sun/misc/FloatingDecimal$ASCIIToBinaryBuffer
+sun/misc/FloatingDecimal$ASCIIToBinaryConverter
+sun/misc/FloatingDecimal$BinaryToASCIIBuffer
+sun/misc/FloatingDecimal$BinaryToASCIIConverter
+sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer
+sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer
+sun/misc/IOUtils
+sun/misc/JarIndex
+sun/misc/JavaAWTAccess
+sun/misc/JavaIOFileDescriptorAccess
+sun/misc/JavaLangAccess
+sun/misc/JavaNetAccess
+sun/misc/JavaNioAccess
+sun/misc/JavaSecurityAccess
+sun/misc/JavaSecurityProtectionDomainAccess
+sun/misc/JavaUtilJarAccess
+sun/misc/JavaUtilZipFileAccess
+sun/misc/Launcher
+sun/misc/Launcher$AppClassLoader
+sun/misc/Launcher$AppClassLoader$1
+sun/misc/Launcher$BootClassPathHolder
+sun/misc/Launcher$BootClassPathHolder$1
+sun/misc/Launcher$ExtClassLoader
+sun/misc/Launcher$ExtClassLoader$1
+sun/misc/Launcher$Factory
+sun/misc/MetaIndex
+sun/misc/NativeSignalHandler
+sun/misc/OSEnvironment
+sun/misc/Perf
+sun/misc/Perf$GetPerfAction
+sun/misc/PerfCounter
+sun/misc/PerfCounter$CoreCounters
+sun/misc/PerformanceLogger
+sun/misc/PerformanceLogger$TimeData
+sun/misc/PostVMInitHook
+sun/misc/Resource
+sun/misc/SharedSecrets
+sun/misc/Signal
+sun/misc/SignalHandler
+sun/misc/SoftCache
+sun/misc/SoftCache$ValueCell
+sun/misc/URLClassPath
+sun/misc/URLClassPath$1
+sun/misc/URLClassPath$2
+sun/misc/URLClassPath$3
+sun/misc/URLClassPath$FileLoader
+sun/misc/URLClassPath$JarLoader
+sun/misc/URLClassPath$JarLoader$1
+sun/misc/URLClassPath$JarLoader$2
+sun/misc/URLClassPath$Loader
+sun/misc/Unsafe
+sun/misc/VM
+sun/misc/Version
+sun/net/DefaultProgressMeteringPolicy
 sun/net/InetAddressCachePolicy
 sun/net/InetAddressCachePolicy$1
 sun/net/InetAddressCachePolicy$2
-java/net/InetAddress$CacheEntry
-java/net/PlainDatagramSocketImpl
-java/net/DatagramSocketImpl
-java/net/NetworkInterface
-java/net/InterfaceAddress
-java/text/Collator
-java/text/spi/CollatorProvider
-sun/text/resources/CollationData
-sun/text/resources/CollationData_en
-sun/util/EmptyListResourceBundle
-java/text/RuleBasedCollator
-java/text/CollationRules
-java/text/RBCollationTables
-java/text/RBTableBuilder
-java/text/RBCollationTables$BuildAPI
-sun/text/IntHashtable
-sun/text/UCompactIntArray
-sun/text/normalizer/NormalizerImpl
-sun/text/normalizer/ICUData
-sun/text/normalizer/NormalizerDataReader
-sun/text/normalizer/ICUBinary$Authenticate
-sun/text/normalizer/ICUBinary
-sun/text/normalizer/NormalizerImpl$FCDTrieImpl
-sun/text/normalizer/Trie$DataManipulate
-sun/text/normalizer/NormalizerImpl$NormTrieImpl
-sun/text/normalizer/NormalizerImpl$AuxTrieImpl
-sun/text/normalizer/IntTrie
-sun/text/normalizer/Trie
-sun/text/normalizer/CharTrie
-sun/text/normalizer/CharTrie$FriendAgent
-sun/text/normalizer/UnicodeSet
-sun/text/normalizer/UnicodeMatcher
-sun/text/normalizer/NormalizerImpl$DecomposeArgs
-java/text/MergeCollation
-java/text/PatternEntry$Parser
-java/text/PatternEntry
-java/text/EntryPair
-sun/text/ComposedCharIter
-sun/text/normalizer/UTF16
+sun/net/NetHooks
+sun/net/NetHooks$Provider
+sun/net/NetProperties
+sun/net/NetProperties$1
+sun/net/ProgressMeteringPolicy
+sun/net/ProgressMonitor
+sun/net/ResourceManager
+sun/net/sdp/SdpProvider
+sun/net/spi/DefaultProxySelector
+sun/net/spi/DefaultProxySelector$1
+sun/net/spi/DefaultProxySelector$3
+sun/net/spi/DefaultProxySelector$NonProxyInfo
+sun/net/spi/nameservice/NameService
+sun/net/util/IPAddressUtil
+sun/net/util/URLUtil
+sun/net/www/MessageHeader
+sun/net/www/MimeEntry
+sun/net/www/MimeTable
+sun/net/www/MimeTable$1
+sun/net/www/MimeTable$DefaultInstanceHolder
+sun/net/www/MimeTable$DefaultInstanceHolder$1
+sun/net/www/ParseUtil
+sun/net/www/URLConnection
+sun/net/www/protocol/file/FileURLConnection
+sun/net/www/protocol/file/Handler
 sun/net/www/protocol/http/Handler
-java/io/ObjectInputStream$BlockDataInputStream
-java/io/ObjectInputStream$PeekInputStream
-java/io/ObjectInputStream$HandleTable
-java/io/ObjectInputStream$ValidationList
-java/io/Bits
-java/io/ObjectStreamClass$Caches
-java/io/ObjectStreamClass$WeakClassKey
-java/io/ObjectStreamClass$EntryFuture
-java/io/ObjectStreamClass$2
+sun/net/www/protocol/jar/Handler
+sun/net/www/protocol/jar/JarFileFactory
+sun/net/www/protocol/jar/JarURLConnection
+sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream
+sun/net/www/protocol/jar/URLJarFile
+sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController
+sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry
+sun/nio/ByteBuffered
+sun/nio/ch/DirectBuffer
+sun/nio/ch/FileChannelImpl
+sun/nio/ch/FileChannelImpl$Unmapper
+sun/nio/ch/FileDispatcher
+sun/nio/ch/FileDispatcherImpl
+sun/nio/ch/IOStatus
+sun/nio/ch/IOUtil
+sun/nio/ch/IOUtil$1
+sun/nio/ch/Interruptible
+sun/nio/ch/NativeDispatcher
+sun/nio/ch/NativeThread
+sun/nio/ch/NativeThreadSet
+sun/nio/ch/Util
+sun/nio/ch/Util$1
+sun/nio/ch/Util$4
+sun/nio/ch/Util$BufferCache
+sun/nio/cs/ArrayDecoder
+sun/nio/cs/ArrayEncoder
+sun/nio/cs/FastCharsetProvider
+sun/nio/cs/HistoricallyNamedCharset
+sun/nio/cs/ISO_8859_1
+sun/nio/cs/ISO_8859_1$Encoder
+sun/nio/cs/StandardCharsets
+sun/nio/cs/StandardCharsets$Aliases
+sun/nio/cs/StandardCharsets$Cache
+sun/nio/cs/StandardCharsets$Classes
+sun/nio/cs/StreamDecoder
+sun/nio/cs/StreamEncoder
+sun/nio/cs/Surrogate
+sun/nio/cs/Surrogate$Parser
+sun/nio/cs/US_ASCII
+sun/nio/cs/US_ASCII$Decoder
+sun/nio/cs/UTF_16
+sun/nio/cs/UTF_16$Decoder
+sun/nio/cs/UTF_16BE
+sun/nio/cs/UTF_16LE
+sun/nio/cs/UTF_8
+sun/nio/cs/UTF_8$Decoder
+sun/nio/cs/UTF_8$Encoder
+sun/nio/cs/Unicode
+sun/nio/cs/UnicodeDecoder
+sun/print/PrinterGraphicsConfig
+sun/reflect/AccessorGenerator
+sun/reflect/BootstrapConstructorAccessorImpl
+sun/reflect/ByteVector
+sun/reflect/ByteVectorFactory
+sun/reflect/ByteVectorImpl
+sun/reflect/CallerSensitive
+sun/reflect/ClassDefiner
+sun/reflect/ClassDefiner$1
+sun/reflect/ClassFileAssembler
+sun/reflect/ClassFileConstants
+sun/reflect/ConstantPool
+sun/reflect/ConstructorAccessor
+sun/reflect/ConstructorAccessorImpl
+sun/reflect/DelegatingClassLoader
+sun/reflect/DelegatingConstructorAccessorImpl
+sun/reflect/DelegatingMethodAccessorImpl
+sun/reflect/FieldAccessor
+sun/reflect/FieldAccessorImpl
+sun/reflect/Label
+sun/reflect/Label$PatchInfo
+sun/reflect/LangReflectAccess
+sun/reflect/MagicAccessorImpl
+sun/reflect/MethodAccessor
+sun/reflect/MethodAccessorGenerator
+sun/reflect/MethodAccessorGenerator$1
+sun/reflect/MethodAccessorImpl
+sun/reflect/NativeConstructorAccessorImpl
+sun/reflect/NativeMethodAccessorImpl
+sun/reflect/Reflection
+sun/reflect/ReflectionFactory
+sun/reflect/ReflectionFactory$1
+sun/reflect/ReflectionFactory$GetReflectionFactoryAction
 sun/reflect/SerializationConstructorAccessorImpl
-java/io/ObjectStreamClass$FieldReflectorKey
-java/io/ObjectStreamClass$FieldReflector
-java/io/ObjectStreamClass$1
-java/io/DataOutputStream
-java/io/ObjectStreamClass$MemberSignature
-java/io/ObjectStreamClass$3
-java/io/ObjectStreamClass$4
-java/io/ObjectStreamClass$5
-java/security/MessageDigest
-java/security/MessageDigestSpi
+sun/reflect/UTF8
+sun/reflect/UnsafeFieldAccessorFactory
+sun/reflect/UnsafeFieldAccessorImpl
+sun/reflect/UnsafeObjectFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
+sun/reflect/UnsafeStaticFieldAccessorImpl
+sun/reflect/annotation/AnnotationType
+sun/reflect/generics/repository/AbstractRepository
+sun/reflect/generics/repository/ClassRepository
+sun/reflect/generics/repository/GenericDeclRepository
+sun/reflect/misc/MethodUtil
+sun/reflect/misc/MethodUtil$1
+sun/reflect/misc/ReflectUtil
+sun/security/action/GetBooleanAction
+sun/security/action/GetIntegerAction
+sun/security/action/GetPropertyAction
 sun/security/jca/GetInstance
-sun/security/jca/Providers
-sun/security/jca/ProviderList
+sun/security/jca/GetInstance$Instance
 sun/security/jca/ProviderConfig
-sun/security/jca/ProviderList$3
+sun/security/jca/ProviderConfig$2
+sun/security/jca/ProviderList
 sun/security/jca/ProviderList$1
 sun/security/jca/ProviderList$2
-sun/security/jca/ProviderConfig$1
-sun/security/jca/ProviderConfig$3
-java/security/Provider$Service
-java/security/Provider$UString
-sun/security/provider/SHA
-sun/security/provider/DigestBase
-sun/security/jca/GetInstance$Instance
-java/security/MessageDigest$Delegate
-sun/security/provider/ByteArrayAccess
-java/io/ObjectStreamClass$ClassDataSlot
-sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl
-java/security/SignatureException
-java/security/InvalidKeyException
-java/security/KeyException
-java/security/Signature
-java/security/SignatureSpi
-java/io/ObjectOutputStream$BlockDataOutputStream
-sun/security/provider/DSAPublicKey
-java/security/interfaces/DSAPublicKey
-java/security/interfaces/DSAKey
-java/security/PublicKey
-java/security/Key
-sun/security/x509/X509Key
-java/io/ObjectOutputStream$HandleTable
-java/io/ObjectOutputStream$ReplaceTable
-sun/security/x509/AlgorithmId
-sun/security/util/DerEncoder
-sun/security/util/BitArray
-sun/security/util/DerOutputStream
-sun/security/util/DerValue
-java/math/BigInteger
-java/security/interfaces/DSAParams
-sun/security/util/DerInputStream
-sun/security/util/DerInputBuffer
-sun/security/util/ObjectIdentifier
-java/security/AlgorithmParameters
-java/security/AlgorithmParametersSpi
-sun/security/provider/DSAParameters
-sun/security/util/ByteArrayLexOrder
-sun/security/util/ByteArrayTagOrder
-sun/security/util/DerIndefLenConverter
-java/io/InvalidClassException
-java/io/ObjectStreamException
-java/io/ObjectInputStream$GetFieldImpl
-java/io/ObjectInputStream$GetField
-sun/security/jca/ServiceId
+sun/security/jca/ProviderList$3
 sun/security/jca/ProviderList$ServiceList
 sun/security/jca/ProviderList$ServiceList$1
-java/security/Signature$Delegate
-java/security/interfaces/DSAPrivateKey
-java/security/PrivateKey
-sun/security/provider/DSA$SHA1withDSA
+sun/security/jca/Providers
+sun/security/jca/ServiceId
+sun/security/provider/ByteArrayAccess
 sun/security/provider/DSA
-java/security/spec/DSAParameterSpec
-java/security/spec/AlgorithmParameterSpec
-java/math/MutableBigInteger
-java/math/SignedMutableBigInteger
-java/awt/EventQueue$1AWTInvocationLock
-java/awt/Component$FlipBufferStrategy
-java/awt/SentEvent
-sun/awt/X11/XDestroyWindowEvent
-sun/awt/X11/XDropTargetRegistry
-sun/awt/X11/XEmbeddedFramePeer
-sun/awt/X11/XDragAndDropProtocols
-sun/awt/X11/XDropTargetContextPeer
-sun/awt/dnd/SunDropTargetContextPeer
-java/awt/dnd/peer/DropTargetContextPeer
-sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl
-sun/awt/X11/XDropTargetProtocolListener
-sun/awt/X11/XDnDDragSourceProtocol
-sun/awt/X11/XDragSourceProtocol
-sun/awt/X11/MotifDnDDragSourceProtocol
-sun/awt/X11/XDnDDropTargetProtocol
-sun/awt/X11/XDropTargetProtocol
-sun/awt/X11/MotifDnDDropTargetProtocol
-sun/awt/X11/XDnDConstants
-sun/awt/X11/MotifDnDConstants
-javax/swing/JTable$2
-javax/swing/JTable$Resizable3
-javax/swing/JTable$Resizable2
-javax/swing/JTable$5
-javax/swing/event/AncestorEvent
-sun/font/FontDesignMetrics$MetricsKey
-java/awt/geom/Line2D$Float
-java/awt/geom/Line2D
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel
-javax/swing/plaf/synth/SynthLookAndFeel
-javax/swing/plaf/synth/DefaultSynthStyleFactory
-javax/swing/plaf/synth/SynthStyleFactory
-sun/swing/BakedArrayList
-javax/swing/plaf/synth/SynthLookAndFeel$Handler
-javax/swing/plaf/synth/SynthDefaultLookup
-com/sun/java/swing/plaf/gtk/GTKEngine
-com/sun/java/swing/plaf/gtk/GTKEngine$Settings
-com/sun/java/swing/plaf/gtk/GTKStyleFactory
-com/sun/java/swing/plaf/gtk/PangoFonts
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$WeakPCL
-javax/swing/plaf/synth/Region
-javax/swing/plaf/synth/SynthLookAndFeel$AATextListener
-com/sun/java/swing/plaf/gtk/GTKRegion
-com/sun/java/swing/plaf/gtk/GTKStyle
-com/sun/java/swing/plaf/gtk/GTKConstants
-javax/swing/plaf/synth/SynthStyle
-javax/swing/plaf/synth/SynthGraphicsUtils
-com/sun/java/swing/plaf/gtk/GTKGraphicsUtils
-com/sun/java/swing/plaf/gtk/GTKStyle$GTKStockIcon
-sun/swing/plaf/synth/SynthIcon
-com/sun/java/swing/plaf/gtk/GTKColorType
-javax/swing/plaf/synth/ColorType
-com/sun/java/swing/plaf/gtk/resources/gtk
-com/sun/swing/internal/plaf/synth/resources/synth
-com/sun/java/swing/plaf/gtk/GTKStyle$GTKLazyValue
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$1FontLazyValue
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$2
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$3
-javax/swing/plaf/synth/SynthPanelUI
-javax/swing/plaf/synth/SynthConstants
-javax/swing/plaf/synth/SynthContext
-javax/swing/plaf/synth/SynthBorder
-javax/swing/plaf/synth/SynthRootPaneUI
-javax/swing/plaf/synth/SynthLabelUI
-javax/swing/plaf/synth/SynthButtonUI
-javax/swing/plaf/synth/SynthToggleButtonUI
-javax/swing/plaf/basic/BasicBorders$FieldBorder
-javax/swing/plaf/synth/SynthMenuBarUI
-javax/swing/plaf/synth/SynthMenuUI
-javax/swing/plaf/synth/SynthUI
-com/sun/java/swing/plaf/gtk/GTKIconFactory
-com/sun/java/swing/plaf/gtk/GTKIconFactory$MenuArrowIcon
-com/sun/java/swing/plaf/gtk/GTKIconFactory$DelegatingIcon
-com/sun/java/swing/plaf/gtk/GTKConstants$ArrowType
-javax/swing/plaf/basic/BasicIconFactory
-javax/swing/plaf/basic/BasicIconFactory$MenuItemCheckIcon
-javax/swing/plaf/synth/SynthMenuItemUI
-javax/swing/plaf/synth/SynthPopupMenuUI
-javax/swing/plaf/synth/SynthSeparatorUI
-javax/swing/plaf/synth/SynthScrollBarUI
-javax/swing/plaf/synth/SynthArrowButton
-javax/swing/plaf/synth/SynthArrowButton$SynthArrowButtonUI
-javax/swing/plaf/synth/SynthComboBoxUI
-javax/swing/plaf/synth/SynthComboPopup
-javax/swing/plaf/synth/SynthListUI
-javax/swing/plaf/synth/SynthListUI$SynthListCellRenderer
-javax/swing/plaf/synth/SynthViewportUI
-javax/swing/plaf/synth/SynthScrollPaneUI
-javax/swing/plaf/synth/SynthScrollPaneUI$ViewportBorder
-javax/swing/plaf/synth/SynthComboBoxUI$SynthComboBoxRenderer
-javax/swing/plaf/synth/SynthComboBoxUI$SynthComboBoxEditor
-javax/swing/plaf/synth/SynthTextFieldUI
-javax/swing/plaf/synth/SynthToolBarUI
-javax/swing/plaf/synth/SynthToolBarUI$SynthToolBarLayoutManager
-com/sun/java/swing/plaf/gtk/GTKIconFactory$ToolBarHandleIcon
-com/sun/java/swing/plaf/gtk/GTKConstants$Orientation
-sun/awt/X11/XTranslateCoordinates
-com/sun/java/swing/plaf/gtk/GTKPainter
-javax/swing/plaf/synth/SynthPainter
-javax/swing/plaf/synth/SynthPainter$1
-com/sun/java/swing/plaf/gtk/GTKConstants$PositionType
-com/sun/java/swing/plaf/gtk/GTKConstants$ShadowType
-java/io/ObjectInputStream$HandleTable$HandleList
-sun/java2d/pipe/ShapeSpanIterator
-sun/java2d/pipe/SpanIterator
-sun/dc/path/PathConsumer
-sun/dc/pr/PathStroker
-sun/dc/pr/PathDasher
-java/awt/geom/LineIterator
-java/awt/geom/PathIterator
-sun/applet/Main
-sun/applet/AppletMessageHandler
-sun/applet/resources/MsgAppletViewer
-sun/applet/AppletSecurity
-sun/awt/AWTSecurityManager
-java/lang/SecurityManager
-java/security/DomainCombiner
-sun/applet/AppletSecurity$1
-java/lang/SecurityManager$1
-java/security/SecurityPermission
-java/util/PropertyPermission
-sun/applet/AppletViewer
-java/applet/AppletContext
-java/awt/print/Printable
-sun/security/util/SecurityConstants
-java/awt/AWTPermission
-java/net/NetPermission
-java/net/SocketPermission
-javax/security/auth/AuthPermission
-java/lang/Thread$1
-java/util/logging/LogManager$5
-sun/applet/StdAppletViewerFactory
-sun/applet/AppletViewerFactory
-sun/applet/AppletViewer$UserActionListener
-sun/applet/AppletViewerPanel
-sun/applet/AppletPanel
-java/applet/AppletStub
-sun/misc/MessageUtils
-sun/applet/AppletPanel$10
-java/security/Policy$1
-sun/security/provider/PolicyFile$1
-sun/security/provider/PolicyFile$3
-sun/security/util/PropertyExpander
-sun/security/provider/PolicyParser
-sun/security/util/PolicyUtil
-sun/security/provider/PolicyParser$GrantEntry
-sun/security/provider/PolicyParser$PermissionEntry
-sun/security/provider/PolicyFile$PolicyEntry
-sun/security/provider/PolicyFile$6
-sun/security/provider/PolicyFile$7
-java/net/SocketPermissionCollection
-java/util/PropertyPermissionCollection
-sun/applet/AppletPanel$9
-sun/applet/AppletClassLoader
-sun/applet/AppletThreadGroup
-sun/applet/AppContextCreator
-sun/applet/AppletPanel$1
-sun/awt/X11/XMenuBarPeer
-java/awt/peer/MenuBarPeer
-java/awt/peer/MenuComponentPeer
-sun/awt/X11/XBaseMenuWindow
-sun/awt/X11/XMenuPeer
-java/awt/peer/MenuPeer
-java/awt/peer/MenuItemPeer
-sun/awt/X11/XMenuItemPeer
-java/awt/MenuShortcut
-sun/awt/X11/XMenuWindow
-sun/awt/X11/XMenuItemPeer$TextMetrics
-sun/awt/AppContext$3
-sun/awt/X11/XMenuBarPeer$MappingData
-sun/awt/X11/XBaseMenuWindow$MappingData
-sun/applet/AppletViewer$1
-sun/applet/AppletViewer$1AppletEventListener
-sun/applet/AppletListener
-sun/applet/AppletEventMulticaster
-sun/misc/Queue
-sun/misc/QueueElement
-sun/applet/AppletEvent
-sun/applet/AppletClassLoader$1
-sun/awt/X11/XBaseMenuWindow$3
-java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent
-sun/awt/CausedFocusEvent
-sun/awt/X11/XWindow$1
-java/net/URLClassLoader$4
-sun/applet/AppletClassLoader$2
-javax/swing/JApplet
-java/lang/ClassLoader$1
-sun/security/provider/PolicyFile$5
-java/security/PermissionsEnumerator
-java/util/Collections$1
-sun/applet/AppletPanel$11
-sun/applet/AppletPanel$8
-sun/applet/AppletPanel$2
-sun/applet/AppletPanel$3
-sun/applet/AppletPanel$6
-javax/swing/BufferStrategyPaintManager$1
-# f3ac8b467e7f8c49
+sun/security/provider/DSA$LegacyDSA
+sun/security/provider/DSA$SHA1withDSA
+sun/security/provider/DSAParameters
+sun/security/provider/DSAPublicKey
+sun/security/provider/DigestBase
+sun/security/provider/NativePRNG
+sun/security/provider/NativePRNG$1
+sun/security/provider/NativePRNG$2
+sun/security/provider/NativePRNG$Blocking
+sun/security/provider/NativePRNG$NonBlocking
+sun/security/provider/NativePRNG$RandomIO
+sun/security/provider/NativePRNG$Variant
+sun/security/provider/SHA
+sun/security/provider/Sun
+sun/security/provider/SunEntries
+sun/security/provider/SunEntries$1
+sun/security/util/BitArray
+sun/security/util/ByteArrayLexOrder
+sun/security/util/Debug
+sun/security/util/DerEncoder
+sun/security/util/DerIndefLenConverter
+sun/security/util/DerInputBuffer
+sun/security/util/DerInputStream
+sun/security/util/DerOutputStream
+sun/security/util/DerValue
+sun/security/util/ManifestEntryVerifier
+sun/security/util/ObjectIdentifier
+sun/security/util/SignatureFileVerifier
+sun/security/x509/AlgorithmId
+sun/security/x509/X509Key
+sun/swing/DefaultLookup
+sun/swing/ImageIconUIResource
+sun/swing/JLightweightFrame
+sun/swing/MenuItemLayoutHelper
+sun/swing/MenuItemLayoutHelper$ColumnAlignment
+sun/swing/MenuItemLayoutHelper$LayoutResult
+sun/swing/MenuItemLayoutHelper$RectSize
+sun/swing/PrintColorUIResource
+sun/swing/StringUIClientPropertyKey
+sun/swing/SwingAccessor
+sun/swing/SwingAccessor$JTextComponentAccessor
+sun/swing/SwingLazyValue
+sun/swing/SwingLazyValue$1
+sun/swing/SwingUtilities2
+sun/swing/SwingUtilities2$2
+sun/swing/SwingUtilities2$AATextInfo
+sun/swing/SwingUtilities2$LSBCacheEntry
+sun/swing/UIAction
+sun/swing/UIClientPropertyKey
+sun/swing/table/DefaultTableCellHeaderRenderer
+sun/swing/table/DefaultTableCellHeaderRenderer$EmptyIcon
+sun/text/ComposedCharIter
+sun/text/IntHashtable
+sun/text/UCompactIntArray
+sun/text/normalizer/CharTrie
+sun/text/normalizer/CharTrie$FriendAgent
+sun/text/normalizer/ICUBinary
+sun/text/normalizer/ICUBinary$Authenticate
+sun/text/normalizer/ICUData
+sun/text/normalizer/IntTrie
+sun/text/normalizer/NormalizerDataReader
+sun/text/normalizer/NormalizerImpl
+sun/text/normalizer/NormalizerImpl$AuxTrieImpl
+sun/text/normalizer/NormalizerImpl$DecomposeArgs
+sun/text/normalizer/NormalizerImpl$FCDTrieImpl
+sun/text/normalizer/NormalizerImpl$NormTrieImpl
+sun/text/normalizer/Trie
+sun/text/normalizer/Trie$DataManipulate
+sun/text/normalizer/UTF16
+sun/text/normalizer/UnicodeMatcher
+sun/text/normalizer/UnicodeSet
+sun/text/resources/CollationData
+sun/text/resources/FormatData
+sun/text/resources/en/FormatData_en
+sun/text/resources/en/FormatData_en_US
+sun/util/CoreResourceBundleControl
+sun/util/PreHashedMap
+sun/util/ResourceBundleEnumeration
+sun/util/calendar/AbstractCalendar
+sun/util/calendar/BaseCalendar
+sun/util/calendar/BaseCalendar$Date
+sun/util/calendar/CalendarDate
+sun/util/calendar/CalendarSystem
+sun/util/calendar/CalendarUtils
+sun/util/calendar/Gregorian
+sun/util/calendar/Gregorian$Date
+sun/util/calendar/ZoneInfo
+sun/util/calendar/ZoneInfoFile
+sun/util/calendar/ZoneInfoFile$1
+sun/util/calendar/ZoneInfoFile$Checksum
+sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule
+sun/util/locale/BaseLocale
+sun/util/locale/BaseLocale$Cache
+sun/util/locale/BaseLocale$Key
+sun/util/locale/LanguageTag
+sun/util/locale/LocaleObjectCache
+sun/util/locale/LocaleObjectCache$CacheEntry
+sun/util/locale/LocaleUtils
+sun/util/locale/provider/AuxLocaleProviderAdapter
+sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider
+sun/util/locale/provider/AvailableLanguageTags
+sun/util/locale/provider/CalendarDataProviderImpl
+sun/util/locale/provider/CalendarDataUtility
+sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter
+sun/util/locale/provider/CalendarProviderImpl
+sun/util/locale/provider/CollatorProviderImpl
+sun/util/locale/provider/CurrencyNameProviderImpl
+sun/util/locale/provider/DateFormatSymbolsProviderImpl
+sun/util/locale/provider/DecimalFormatSymbolsProviderImpl
+sun/util/locale/provider/JRELocaleProviderAdapter
+sun/util/locale/provider/JRELocaleProviderAdapter$1
+sun/util/locale/provider/LocaleDataMetaInfo
+sun/util/locale/provider/LocaleProviderAdapter
+sun/util/locale/provider/LocaleProviderAdapter$1
+sun/util/locale/provider/LocaleProviderAdapter$Type
+sun/util/locale/provider/LocaleResources
+sun/util/locale/provider/LocaleResources$ResourceReference
+sun/util/locale/provider/LocaleServiceProviderPool
+sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter
+sun/util/locale/provider/NumberFormatProviderImpl
+sun/util/locale/provider/ResourceBundleBasedAdapter
+sun/util/locale/provider/SPILocaleProviderAdapter
+sun/util/locale/provider/SPILocaleProviderAdapter$1
+sun/util/locale/provider/TimeZoneNameProviderImpl
+sun/util/locale/provider/TimeZoneNameUtility
+sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter
+sun/util/logging/LoggingProxy
+sun/util/logging/LoggingSupport
+sun/util/logging/LoggingSupport$1
+sun/util/logging/LoggingSupport$2
+sun/util/logging/PlatformLogger
+sun/util/logging/PlatformLogger$1
+sun/util/logging/PlatformLogger$DefaultLoggerProxy
+sun/util/logging/PlatformLogger$JavaLoggerProxy
+sun/util/logging/PlatformLogger$Level
+sun/util/logging/PlatformLogger$LoggerProxy
+sun/util/logging/resources/logging
+sun/util/resources/CalendarData
+sun/util/resources/CurrencyNames
+sun/util/resources/LocaleData
+sun/util/resources/LocaleData$1
+sun/util/resources/LocaleData$LocaleDataResourceBundleControl
+sun/util/resources/LocaleNamesBundle
+sun/util/resources/OpenListResourceBundle
+sun/util/resources/ParallelListResourceBundle
+sun/util/resources/ParallelListResourceBundle$KeySet
+sun/util/resources/TimeZoneNames
+sun/util/resources/TimeZoneNamesBundle
+sun/util/resources/en/CalendarData_en
+sun/util/resources/en/CurrencyNames_en_US
+sun/util/resources/en/TimeZoneNames_en
+sun/util/spi/CalendarProvider
+# e4fe875988768cf5
diff --git a/jdk/make/tools/sharing/classlist.macosx b/jdk/make/tools/sharing/classlist.macosx
index d07236d..6f854b4 100644
--- a/jdk/make/tools/sharing/classlist.macosx
+++ b/jdk/make/tools/sharing/classlist.macosx
@@ -1,2406 +1,2208 @@
-java/lang/Object
-java/lang/String
-java/io/Serializable
-java/lang/Comparable
-java/lang/CharSequence
-java/lang/Class
-java/lang/reflect/GenericDeclaration
-java/lang/reflect/Type
-java/lang/reflect/AnnotatedElement
-java/lang/Cloneable
-java/lang/ClassLoader
-java/lang/System
-java/lang/Throwable
-java/lang/Error
-java/lang/ThreadDeath
-java/lang/Exception
-java/lang/RuntimeException
-java/security/ProtectionDomain
-java/security/AccessControlContext
-java/lang/ClassNotFoundException
-java/lang/NoClassDefFoundError
-java/lang/LinkageError
-java/lang/ClassCastException
-java/lang/ArrayStoreException
-java/lang/VirtualMachineError
-java/lang/OutOfMemoryError
-java/lang/StackOverflowError
-java/lang/IllegalMonitorStateException
-java/lang/ref/Reference
-java/lang/ref/SoftReference
-java/lang/ref/WeakReference
-java/lang/ref/FinalReference
-java/lang/ref/PhantomReference
-java/lang/ref/Finalizer
-java/lang/Thread
-java/lang/Runnable
-java/lang/ThreadGroup
-java/lang/Thread$UncaughtExceptionHandler
-java/util/Properties
-java/util/Hashtable
-java/util/Map
-java/util/Dictionary
-java/lang/reflect/AccessibleObject
-java/lang/reflect/Field
-java/lang/reflect/Member
-java/lang/reflect/Method
-java/lang/reflect/Constructor
-sun/reflect/MagicAccessorImpl
-sun/reflect/MethodAccessorImpl
-sun/reflect/MethodAccessor
-sun/reflect/ConstructorAccessorImpl
-sun/reflect/ConstructorAccessor
-sun/reflect/DelegatingClassLoader
-sun/reflect/ConstantPool
-sun/reflect/UnsafeStaticFieldAccessorImpl
-sun/reflect/UnsafeFieldAccessorImpl
-sun/reflect/FieldAccessorImpl
-sun/reflect/FieldAccessor
-java/util/Vector
-java/util/List
-java/util/Collection
-java/lang/Iterable
-java/util/RandomAccess
-java/util/AbstractList
-java/util/AbstractCollection
-java/lang/StringBuffer
-java/lang/AbstractStringBuilder
-java/lang/Appendable
-java/lang/StackTraceElement
-java/nio/Buffer
-java/lang/Boolean
-java/lang/Character
-java/lang/Float
-java/lang/Number
-java/lang/Double
-java/lang/Byte
-java/lang/Short
-java/lang/Integer
-java/lang/Long
-java/lang/NullPointerException
-java/lang/ArithmeticException
-java/io/ObjectStreamField
-java/lang/String$CaseInsensitiveComparator
-java/util/Comparator
-java/lang/RuntimePermission
-java/security/BasicPermission
-java/security/Permission
-java/security/Guard
-sun/misc/SoftCache
-java/util/AbstractMap
-java/lang/ref/ReferenceQueue
-java/lang/ref/ReferenceQueue$Null
-java/lang/ref/ReferenceQueue$Lock
-java/util/HashMap
-java/lang/annotation/Annotation
-java/util/HashMap$Entry
-java/util/Map$Entry
-java/security/AccessController
-java/lang/reflect/ReflectPermission
-sun/reflect/ReflectionFactory$GetReflectionFactoryAction
-java/security/PrivilegedAction
-java/util/Stack
-sun/reflect/ReflectionFactory
-java/lang/ref/Reference$Lock
-java/lang/ref/Reference$ReferenceHandler
-java/lang/ref/Finalizer$FinalizerThread
-java/util/Hashtable$EmptyEnumerator
-java/util/Enumeration
-java/util/Hashtable$EmptyIterator
-java/util/Iterator
-java/util/Hashtable$Entry
-java/nio/charset/Charset
-sun/nio/cs/StandardCharsets
-sun/nio/cs/FastCharsetProvider
-java/nio/charset/spi/CharsetProvider
-sun/nio/cs/StandardCharsets$Aliases
-sun/util/PreHashedMap
-sun/nio/cs/StandardCharsets$Classes
-sun/nio/cs/StandardCharsets$Cache
-java/lang/ThreadLocal
-java/util/concurrent/atomic/AtomicInteger
-sun/misc/Unsafe
-java/lang/NoSuchMethodError
-java/lang/IncompatibleClassChangeError
-sun/reflect/Reflection
-java/util/Collections
-java/util/Collections$EmptySet
-java/util/AbstractSet
-java/util/Set
-java/util/Collections$EmptyList
-java/util/Collections$EmptyMap
-java/util/Collections$ReverseComparator
-java/util/Collections$SynchronizedMap
-java/lang/Class$3
-java/lang/reflect/Modifier
-java/lang/reflect/ReflectAccess
-sun/reflect/LangReflectAccess
-java/util/Arrays
-java/lang/Math
-sun/nio/cs/US_ASCII
-sun/nio/cs/HistoricallyNamedCharset
-sun/misc/VM
-java/lang/StringCoding
-java/lang/ThreadLocal$ThreadLocalMap
-java/lang/ThreadLocal$ThreadLocalMap$Entry
-java/lang/StringCoding$StringDecoder
-sun/nio/cs/US_ASCII$Decoder
-java/nio/charset/CharsetDecoder
-java/nio/charset/CodingErrorAction
-java/nio/ByteBuffer
-java/nio/HeapByteBuffer
-java/nio/Bits
-java/nio/ByteOrder
-java/nio/CharBuffer
-java/lang/Readable
-java/nio/HeapCharBuffer
-java/nio/charset/CoderResult
-java/nio/charset/CoderResult$1
-java/nio/charset/CoderResult$Cache
-java/nio/charset/CoderResult$2
-sun/misc/Version
-java/io/FileInputStream
-java/io/InputStream
-java/io/Closeable
-java/io/FileDescriptor
-java/io/FileOutputStream
-java/io/OutputStream
-java/io/Flushable
-java/io/BufferedInputStream
-java/io/FilterInputStream
-java/util/concurrent/atomic/AtomicReferenceFieldUpdater
-java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
-sun/reflect/misc/ReflectUtil
-java/io/PrintStream
-java/io/FilterOutputStream
-java/io/BufferedOutputStream
-java/io/OutputStreamWriter
-java/io/Writer
-sun/nio/cs/StreamEncoder
-sun/security/action/GetPropertyAction
-sun/nio/cs/US_ASCII$Encoder
-java/nio/charset/CharsetEncoder
-sun/nio/cs/Surrogate$Parser
-sun/nio/cs/Surrogate
-java/io/BufferedWriter
-java/lang/Runtime
-java/io/File
-java/io/FileSystem
-java/io/UnixFileSystem
-java/io/ExpiringCache
-java/io/ExpiringCache$1
-java/util/LinkedHashMap
-java/util/LinkedHashMap$Entry
-java/lang/StringBuilder
-java/io/File$1
-sun/misc/JavaIODeleteOnExitAccess
-sun/misc/SharedSecrets
-java/lang/ClassLoader$3
-java/lang/StringCoding$StringEncoder
-java/io/ExpiringCache$Entry
-java/lang/ClassLoader$NativeLibrary
-java/lang/Terminator
-java/lang/Terminator$1
-sun/misc/SignalHandler
-sun/misc/Signal
-sun/misc/NativeSignalHandler
-java/io/Console
-java/io/Console$1
-sun/misc/JavaIOAccess
-java/io/Console$1$1
-java/lang/Shutdown
-java/util/ArrayList
-java/lang/Shutdown$Lock
-java/lang/ApplicationShutdownHooks
-java/util/IdentityHashMap
-sun/misc/OSEnvironment
-java/lang/System$2
-sun/misc/JavaLangAccess
-java/lang/Compiler
-java/lang/Compiler$1
-sun/misc/Launcher
-sun/misc/Launcher$Factory
-java/net/URLStreamHandlerFactory
-sun/misc/Launcher$ExtClassLoader
-java/net/URLClassLoader
-java/security/SecureClassLoader
-sun/security/util/Debug
-java/net/URLClassLoader$7
-sun/misc/JavaNetAccess
-java/util/StringTokenizer
-sun/misc/Launcher$ExtClassLoader$1
-java/security/PrivilegedExceptionAction
-sun/misc/MetaIndex
-java/io/BufferedReader
-java/io/Reader
-java/io/FileReader
-java/io/InputStreamReader
-sun/nio/cs/StreamDecoder
-java/lang/reflect/Array
-sun/net/www/ParseUtil
-java/util/BitSet
-java/io/ObjectStreamClass
-java/net/URL
-java/util/Locale
-java/util/concurrent/ConcurrentHashMap
-java/util/concurrent/ConcurrentMap
-java/util/concurrent/ConcurrentHashMap$Segment
-java/util/concurrent/locks/ReentrantLock
-java/util/concurrent/locks/Lock
-java/util/concurrent/locks/ReentrantLock$NonfairSync
-java/util/concurrent/locks/ReentrantLock$Sync
-java/util/concurrent/locks/AbstractQueuedSynchronizer
-java/util/concurrent/locks/AbstractOwnableSynchronizer
-java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
-java/util/concurrent/ConcurrentHashMap$HashEntry
-java/lang/CharacterDataLatin1
-java/net/Parts
-sun/net/www/protocol/file/Handler
-java/net/URLStreamHandler
-java/lang/Class$1
-sun/reflect/ReflectionFactory$1
-sun/reflect/NativeConstructorAccessorImpl
-sun/reflect/DelegatingConstructorAccessorImpl
-java/util/HashSet
-sun/misc/URLClassPath
-sun/net/www/protocol/jar/Handler
-sun/misc/Launcher$AppClassLoader
-sun/misc/Launcher$AppClassLoader$1
-java/lang/SystemClassLoaderAction
-java/net/URLClassLoader$1
-sun/misc/URLClassPath$3
-sun/misc/URLClassPath$JarLoader
-sun/misc/URLClassPath$Loader
-java/security/PrivilegedActionException
-sun/misc/URLClassPath$FileLoader
-sun/misc/URLClassPath$FileLoader$1
-sun/misc/Resource
-sun/nio/ByteBuffered
-java/security/CodeSource
-java/security/Permissions
-java/security/PermissionCollection
-sun/net/www/protocol/file/FileURLConnection
-sun/net/www/URLConnection
-java/net/URLConnection
-java/net/UnknownContentHandler
-java/net/ContentHandler
-sun/net/www/MessageHeader
-java/io/FilePermission
-java/io/FilePermission$1
-sun/security/provider/PolicyFile
-java/security/Policy
-java/security/Policy$UnsupportedEmptyCollection
-java/io/FilePermissionCollection
-java/security/AllPermission
-java/security/UnresolvedPermission
-java/security/BasicPermissionCollection
-java/security/Principal
-java/security/cert/Certificate
-java/util/AbstractList$Itr
-java/util/IdentityHashMap$KeySet
-java/util/IdentityHashMap$KeyIterator
-java/util/IdentityHashMap$IdentityHashMapIterator
-java/io/DeleteOnExitHook
-java/util/LinkedHashSet
-java/util/HashMap$KeySet
-java/util/LinkedHashMap$KeyIterator
-java/util/LinkedHashMap$LinkedHashIterator
-java/awt/Frame
-java/awt/MenuContainer
-java/awt/Window
-javax/accessibility/Accessible
-java/awt/Container
-java/awt/Component
-java/awt/image/ImageObserver
-java/lang/InterruptedException
-java/awt/Label
-java/util/logging/Logger
-java/util/logging/Handler
-java/util/logging/Level
-java/util/logging/LogManager
-java/util/logging/LogManager$1
-java/beans/PropertyChangeSupport
-java/util/logging/LogManager$LogNode
-java/util/logging/LoggingPermission
-java/util/logging/LogManager$Cleaner
-java/util/logging/LogManager$RootLogger
-java/util/logging/LogManager$2
-java/util/Properties$LineReader
-java/util/Hashtable$Enumerator
-java/beans/PropertyChangeEvent
-java/util/EventObject
-java/awt/Component$AWTTreeLock
-sun/awt/DebugHelper
-sun/awt/NativeLibLoader
-sun/security/action/LoadLibraryAction
-java/awt/GraphicsEnvironment
-java/awt/GraphicsEnvironment$1
-java/lang/ProcessEnvironment
-java/lang/ProcessEnvironment$Variable
-java/lang/ProcessEnvironment$ExternalData
-java/lang/ProcessEnvironment$Value
-java/lang/ProcessEnvironment$StringEnvironment
-java/util/Collections$UnmodifiableMap
-sun/awt/DebugHelperStub
-java/awt/Toolkit
-java/awt/Toolkit$3
-sun/util/CoreResourceBundleControl
-java/util/ResourceBundle$Control
-java/util/Arrays$ArrayList
-java/util/Collections$UnmodifiableRandomAccessList
-java/util/Collections$UnmodifiableList
-java/util/Collections$UnmodifiableCollection
-java/util/ResourceBundle
-java/util/ResourceBundle$1
-java/util/ResourceBundle$RBClassLoader
-java/util/ResourceBundle$RBClassLoader$1
-java/util/ResourceBundle$CacheKey
-java/util/ResourceBundle$LoaderReference
-java/util/ResourceBundle$CacheKeyReference
-java/util/ResourceBundle$SingleFormatControl
-sun/awt/resources/awt
-java/util/ListResourceBundle
-java/awt/Toolkit$1
-java/io/FileNotFoundException
-java/io/IOException
-java/awt/event/KeyEvent
-java/awt/event/InputEvent
-java/awt/event/ComponentEvent
+apple/laf/JRSUIConstants
+apple/laf/JRSUIConstants$AlignmentHorizontal
+apple/laf/JRSUIConstants$AlignmentVertical
+apple/laf/JRSUIConstants$Animating
+apple/laf/JRSUIConstants$DoubleValue
+apple/laf/JRSUIConstants$Focused
+apple/laf/JRSUIConstants$FrameOnly
+apple/laf/JRSUIConstants$Hit
+apple/laf/JRSUIConstants$IndicatorOnly
+apple/laf/JRSUIConstants$Key
+apple/laf/JRSUIConstants$NothingToScroll
+apple/laf/JRSUIConstants$Orientation
+apple/laf/JRSUIConstants$Property
+apple/laf/JRSUIConstants$PropertyEncoding
+apple/laf/JRSUIConstants$ScrollBarPart
+apple/laf/JRSUIConstants$SegmentPosition
+apple/laf/JRSUIConstants$SegmentTrailingSeparator
+apple/laf/JRSUIConstants$ShowArrows
+apple/laf/JRSUIConstants$Size
+apple/laf/JRSUIConstants$State
+apple/laf/JRSUIConstants$Widget
+apple/laf/JRSUIControl
+apple/laf/JRSUIControl$BufferState
+apple/laf/JRSUIControl$ThreadLocalByteBuffer
+apple/laf/JRSUIState
+apple/laf/JRSUIState$ScrollBarState
+apple/laf/JRSUIState$ValueState
+apple/laf/JRSUIStateFactory
+apple/laf/JRSUIUtils
+apple/laf/JRSUIUtils$NineSliceMetricsProvider
+apple/laf/JRSUIUtils$TabbedPane
+com/apple/eawt/AboutHandler
+com/apple/eawt/AppEventListener
+com/apple/eawt/AppReOpenedListener
+com/apple/eawt/OpenFilesHandler
+com/apple/eawt/PreferencesHandler
+com/apple/eawt/PrintFilesHandler
+com/apple/eawt/QuitHandler
+com/apple/eawt/QuitStrategy
+com/apple/eawt/_AppEventHandler
+com/apple/eawt/_AppEventHandler$_AboutDispatcher
+com/apple/eawt/_AppEventHandler$_AppEventDispatcher
+com/apple/eawt/_AppEventHandler$_AppEventMultiplexor
+com/apple/eawt/_AppEventHandler$_AppForegroundDispatcher
+com/apple/eawt/_AppEventHandler$_AppReOpenedDispatcher
+com/apple/eawt/_AppEventHandler$_BooleanAppEventMultiplexor
+com/apple/eawt/_AppEventHandler$_HiddenAppDispatcher
+com/apple/eawt/_AppEventHandler$_NativeEvent
+com/apple/eawt/_AppEventHandler$_OpenAppDispatcher
+com/apple/eawt/_AppEventHandler$_OpenFileDispatcher
+com/apple/eawt/_AppEventHandler$_OpenURIDispatcher
+com/apple/eawt/_AppEventHandler$_PreferencesDispatcher
+com/apple/eawt/_AppEventHandler$_PrintFileDispatcher
+com/apple/eawt/_AppEventHandler$_QueuingAppEventDispatcher
+com/apple/eawt/_AppEventHandler$_QuitDispatcher
+com/apple/eawt/_AppEventHandler$_ScreenSleepDispatcher
+com/apple/eawt/_AppEventHandler$_SystemSleepDispatcher
+com/apple/eawt/_AppEventHandler$_UserSessionDispatcher
+com/apple/eawt/_AppEventLegacyHandler
+com/apple/eawt/_AppMenuBarHandler
+com/apple/eawt/_OpenAppHandler
+com/apple/laf/AquaBorder
+com/apple/laf/AquaButtonBorder
+com/apple/laf/AquaButtonBorder$1
+com/apple/laf/AquaButtonBorder$Dynamic
+com/apple/laf/AquaButtonBorder$Dynamic$1
+com/apple/laf/AquaButtonBorder$Named
+com/apple/laf/AquaButtonBorder$Toggle
+com/apple/laf/AquaButtonBorder$Toolbar
+com/apple/laf/AquaButtonExtendedTypes
+com/apple/laf/AquaButtonExtendedTypes$1
+com/apple/laf/AquaButtonExtendedTypes$2
+com/apple/laf/AquaButtonExtendedTypes$3
+com/apple/laf/AquaButtonExtendedTypes$4
+com/apple/laf/AquaButtonExtendedTypes$5
+com/apple/laf/AquaButtonExtendedTypes$6
+com/apple/laf/AquaButtonExtendedTypes$7
+com/apple/laf/AquaButtonExtendedTypes$8
+com/apple/laf/AquaButtonExtendedTypes$BorderDefinedTypeSpecifier
+com/apple/laf/AquaButtonExtendedTypes$BorderDefinedTypeSpecifier$1
+com/apple/laf/AquaButtonExtendedTypes$SegmentedBorderDefinedTypeSpecifier
+com/apple/laf/AquaButtonExtendedTypes$SegmentedNamedBorder
+com/apple/laf/AquaButtonExtendedTypes$TypeSpecifier
+com/apple/laf/AquaButtonToggleUI
+com/apple/laf/AquaButtonUI
+com/apple/laf/AquaButtonUI$AquaButtonListener
+com/apple/laf/AquaButtonUI$AquaHierarchyButtonListener
+com/apple/laf/AquaCaret
+com/apple/laf/AquaComboBoxButton
+com/apple/laf/AquaComboBoxButton$1
+com/apple/laf/AquaComboBoxPopup
+com/apple/laf/AquaComboBoxPopup$1
+com/apple/laf/AquaComboBoxRenderer
+com/apple/laf/AquaComboBoxRendererInternal
+com/apple/laf/AquaComboBoxUI
+com/apple/laf/AquaComboBoxUI$1
+com/apple/laf/AquaComboBoxUI$10
+com/apple/laf/AquaComboBoxUI$11
+com/apple/laf/AquaComboBoxUI$12
+com/apple/laf/AquaComboBoxUI$12$1
+com/apple/laf/AquaComboBoxUI$12$2
+com/apple/laf/AquaComboBoxUI$12$3
+com/apple/laf/AquaComboBoxUI$12$4
+com/apple/laf/AquaComboBoxUI$12$5
+com/apple/laf/AquaComboBoxUI$12$6
+com/apple/laf/AquaComboBoxUI$12$7
+com/apple/laf/AquaComboBoxUI$2
+com/apple/laf/AquaComboBoxUI$3
+com/apple/laf/AquaComboBoxUI$4
+com/apple/laf/AquaComboBoxUI$5
+com/apple/laf/AquaComboBoxUI$6
+com/apple/laf/AquaComboBoxUI$7
+com/apple/laf/AquaComboBoxUI$8
+com/apple/laf/AquaComboBoxUI$9
+com/apple/laf/AquaComboBoxUI$AquaComboBoxEditor
+com/apple/laf/AquaComboBoxUI$AquaComboBoxLayoutManager
+com/apple/laf/AquaComboBoxUI$AquaCustomComboTextField
+com/apple/laf/AquaComboBoxUI$AquaCustomComboTextField$1
+com/apple/laf/AquaComboBoxUI$ComboBoxAction
+com/apple/laf/AquaFocusHandler
+com/apple/laf/AquaFocusHandler$1
+com/apple/laf/AquaFonts
+com/apple/laf/AquaFonts$1
+com/apple/laf/AquaFonts$2
+com/apple/laf/AquaFonts$3
+com/apple/laf/AquaFonts$4
+com/apple/laf/AquaFonts$5
+com/apple/laf/AquaFonts$6
+com/apple/laf/AquaFonts$7
+com/apple/laf/AquaFonts$DerivedUIResourceFont
+com/apple/laf/AquaHighlighter
+com/apple/laf/AquaHighlighter$1
+com/apple/laf/AquaHighlighter$AquaHighlightPainter
+com/apple/laf/AquaIcon$CachingScalingIcon
+com/apple/laf/AquaIcon$InvertableIcon
+com/apple/laf/AquaIcon$SystemIcon
+com/apple/laf/AquaIcon$SystemIconSingleton
+com/apple/laf/AquaIcon$SystemIconUIResourceSingleton
+com/apple/laf/AquaImageFactory
+com/apple/laf/AquaImageFactory$IconUIResourceSingleton
+com/apple/laf/AquaImageFactory$InvertableImageIcon
+com/apple/laf/AquaImageFactory$NamedImageSingleton
+com/apple/laf/AquaImageFactory$SystemColorProxy
+com/apple/laf/AquaKeyBindings
+com/apple/laf/AquaKeyBindings$AquaMultilineAction
+com/apple/laf/AquaKeyBindings$BindingsProvider
+com/apple/laf/AquaKeyBindings$LateBoundInputMap
+com/apple/laf/AquaKeyBindings$SimpleBinding
+com/apple/laf/AquaLabelUI
+com/apple/laf/AquaListUI
+com/apple/laf/AquaListUI$AquaHomeEndAction
+com/apple/laf/AquaListUI$AquaPropertyChangeHandler
+com/apple/laf/AquaListUI$FocusHandler
+com/apple/laf/AquaListUI$MouseInputHandler
+com/apple/laf/AquaLookAndFeel
+com/apple/laf/AquaLookAndFeel$1
+com/apple/laf/AquaLookAndFeel$2
+com/apple/laf/AquaLookAndFeel$3
+com/apple/laf/AquaMenuBarBorder
+com/apple/laf/AquaMenuBarUI
+com/apple/laf/AquaMenuBorder
+com/apple/laf/AquaMenuItemUI
+com/apple/laf/AquaMenuItemUI$IndeterminateListener
+com/apple/laf/AquaMenuPainter
+com/apple/laf/AquaMenuPainter$Client
+com/apple/laf/AquaMenuPainter$RecyclableBorder
+com/apple/laf/AquaMenuUI
+com/apple/laf/AquaMenuUI$AquaMouseInputHandler
+com/apple/laf/AquaMenuUI$MenuDragMouseHandler
+com/apple/laf/AquaMnemonicHandler
+com/apple/laf/AquaMnemonicHandler$AltProcessor
+com/apple/laf/AquaPainter
+com/apple/laf/AquaPainter$1
+com/apple/laf/AquaPainter$AquaNineSlicingImagePainter
+com/apple/laf/AquaPainter$AquaSingleImagePainter
+com/apple/laf/AquaPanelUI
+com/apple/laf/AquaPopupMenuSeparatorUI
+com/apple/laf/AquaPopupMenuUI
+com/apple/laf/AquaRootPaneUI
+com/apple/laf/AquaScrollBarUI
+com/apple/laf/AquaScrollBarUI$1
+com/apple/laf/AquaScrollBarUI$ModelListener
+com/apple/laf/AquaScrollBarUI$PropertyChangeHandler
+com/apple/laf/AquaScrollBarUI$ScrollListener
+com/apple/laf/AquaScrollBarUI$TrackListener
+com/apple/laf/AquaScrollPaneUI
+com/apple/laf/AquaScrollPaneUI$XYMouseWheelHandler
+com/apple/laf/AquaScrollRegionBorder
+com/apple/laf/AquaTableHeaderBorder
+com/apple/laf/AquaTableHeaderBorder$1
+com/apple/laf/AquaTextAreaUI
+com/apple/laf/AquaTextFieldBorder
+com/apple/laf/AquaTextFieldSearch
+com/apple/laf/AquaTextFieldSearch$SearchFieldBorder
+com/apple/laf/AquaTextFieldSearch$SearchFieldPropertyListener
+com/apple/laf/AquaTextFieldUI
+com/apple/laf/AquaToolBarSeparatorUI
+com/apple/laf/AquaToolBarUI
+com/apple/laf/AquaToolBarUI$ToolBarBorder
+com/apple/laf/AquaUtilControlSize
+com/apple/laf/AquaUtilControlSize$PropertySizeListener
+com/apple/laf/AquaUtilControlSize$SizeDescriptor
+com/apple/laf/AquaUtilControlSize$SizeVariant
+com/apple/laf/AquaUtilControlSize$Sizeable
+com/apple/laf/AquaUtils
+com/apple/laf/AquaUtils$2
+com/apple/laf/AquaUtils$5
+com/apple/laf/AquaUtils$6
+com/apple/laf/AquaUtils$JComponentPainter
+com/apple/laf/AquaUtils$RecyclableSingleton
+com/apple/laf/AquaUtils$RecyclableSingletonFromDefaultConstructor
+com/apple/laf/ClientPropertyApplicator
+com/apple/laf/ClientPropertyApplicator$Property
+com/apple/laf/ImageCache
+com/apple/laf/ImageCache$1
+com/apple/laf/ImageCache$PixelCountSoftReference
+com/apple/laf/ScreenMenuBar
+com/apple/laf/ScreenMenuBarProvider
+com/apple/laf/ScreenMenuPropertyHandler
+com/apple/laf/ScreenPopupFactory
+com/apple/laf/ScreenPopupFactory$1
+com/apple/laf/resources/aqua
+com/sun/java/swing/SwingUtilities3
+com/sun/swing/internal/plaf/basic/resources/basic
+java/applet/Applet
 java/awt/AWTEvent
-java/awt/event/NativeLibLoader
-java/util/WeakHashMap
-java/util/WeakHashMap$Entry
-java/awt/Component$DummyRequestFocusController
-sun/awt/RequestFocusController
-java/awt/LayoutManager
-java/awt/LightweightDispatcher
-java/awt/event/AWTEventListener
-java/util/EventListener
-java/awt/Dimension
-java/awt/geom/Dimension2D
-java/util/concurrent/atomic/AtomicBoolean
-java/awt/ComponentOrientation
-java/awt/Component$2
-java/lang/NoSuchMethodException
-sun/awt/AppContext
-sun/awt/AppContext$1
-sun/awt/AppContext$2
-sun/awt/MostRecentKeyValue
-java/awt/Cursor
-sun/awt/X11GraphicsEnvironment
-sun/java2d/SunGraphicsEnvironment
-sun/java2d/FontSupport
-sun/awt/DisplayChangedListener
-sun/java2d/SunGraphicsEnvironment$TTFilter
-java/io/FilenameFilter
-sun/java2d/SunGraphicsEnvironment$T1Filter
-sun/awt/X11GraphicsEnvironment$1
-sun/awt/SunToolkit
-sun/awt/WindowClosingSupport
-sun/awt/WindowClosingListener
-sun/awt/ComponentFactory
-sun/awt/InputMethodSupport
-java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
-java/util/concurrent/locks/Condition
-sun/awt/AWTAutoShutdown
-sun/awt/AWTAutoShutdown$PeerMap
-sun/awt/SunToolkit$6
-java/awt/Dialog$ModalExclusionType
-java/lang/Enum
-java/awt/Dialog
-java/awt/Dialog$ModalityType
-java/awt/ModalEventFilter
-java/awt/EventFilter
-sun/reflect/UnsafeFieldAccessorFactory
-sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
-sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl
-sun/awt/SunDisplayChanger
-sun/java2d/SunGraphicsEnvironment$1
-java/io/StreamTokenizer
-sun/font/FontManager
-sun/font/FileFont
-sun/font/PhysicalFont
-sun/font/Font2D
-sun/font/CompositeFont
-java/util/HashMap$Values
-java/util/HashMap$ValueIterator
-java/util/HashMap$HashIterator
-sun/font/FontManager$1
-java/awt/Font
-java/awt/geom/AffineTransform
-sun/font/AttributeValues
-sun/font/EAttribute
-java/text/AttributedCharacterIterator$Attribute
-java/lang/Class$4
-sun/reflect/NativeMethodAccessorImpl
-sun/reflect/DelegatingMethodAccessorImpl
-java/awt/font/TextAttribute
-java/lang/Integer$IntegerCache
-sun/font/TrueTypeFont
-java/awt/font/FontRenderContext
-java/awt/RenderingHints
-sun/awt/SunHints
-sun/awt/SunHints$Key
-java/awt/RenderingHints$Key
-sun/awt/SunHints$Value
-sun/awt/SunHints$LCDContrastKey
-sun/font/Type1Font
-java/awt/geom/Point2D$Float
-java/awt/geom/Point2D
-sun/font/StrikeMetrics
-java/awt/geom/Rectangle2D$Float
-java/awt/geom/Rectangle2D
-java/awt/geom/RectangularShape
-java/awt/Shape
-java/awt/geom/GeneralPath
-java/awt/geom/Path2D$Float
-java/awt/geom/Path2D
-sun/font/CharToGlyphMapper
-sun/font/PhysicalStrike
-sun/font/FontStrike
-sun/font/GlyphList
-sun/font/StrikeCache
-sun/java2d/Disposer
-sun/java2d/Disposer$1
-sun/font/StrikeCache$1
-sun/font/FontManager$FontRegistrationInfo
-sun/awt/motif/MFontConfiguration
-sun/awt/FontConfiguration
-sun/awt/FontDescriptor
-java/util/Scanner
-java/util/regex/Pattern
-java/util/regex/Pattern$8
-java/util/regex/Pattern$Node
-java/util/regex/Pattern$LastNode
-java/util/regex/Pattern$GroupHead
-java/util/regex/Pattern$CharPropertyNames
-java/util/regex/Pattern$CharPropertyNames$1
-java/util/regex/Pattern$CharPropertyNames$CharPropertyFactory
-java/util/regex/Pattern$CharPropertyNames$2
-java/util/regex/Pattern$CharPropertyNames$5
-java/util/regex/Pattern$CharPropertyNames$3
-java/util/regex/Pattern$CharPropertyNames$6
-java/util/regex/Pattern$CharPropertyNames$CloneableProperty
-java/util/regex/Pattern$CharProperty
-java/util/regex/Pattern$CharPropertyNames$4
-java/util/regex/Pattern$CharPropertyNames$7
-java/util/regex/Pattern$CharPropertyNames$8
-java/util/regex/Pattern$CharPropertyNames$9
-java/util/regex/Pattern$CharPropertyNames$10
-java/util/regex/Pattern$CharPropertyNames$11
-java/util/regex/Pattern$CharPropertyNames$12
-java/util/regex/Pattern$CharPropertyNames$13
-java/util/regex/Pattern$CharPropertyNames$14
-java/util/regex/Pattern$CharPropertyNames$15
-java/util/regex/Pattern$CharPropertyNames$16
-java/util/regex/Pattern$CharPropertyNames$17
-java/util/regex/Pattern$CharPropertyNames$18
-java/util/regex/Pattern$CharPropertyNames$19
-java/util/regex/Pattern$CharPropertyNames$20
-java/util/regex/Pattern$CharPropertyNames$21
-java/util/regex/Pattern$Curly
-java/util/regex/Pattern$Slice
-java/util/regex/Pattern$Begin
-java/util/regex/Pattern$First
-java/util/regex/Pattern$Start
-java/util/regex/Pattern$TreeInfo
-java/util/regex/Pattern$All
-java/util/regex/Pattern$BitClass
-java/util/regex/Pattern$BmpCharProperty
-java/util/regex/Pattern$6
-java/util/regex/Pattern$CharProperty$1
-java/util/regex/Pattern$10
-sun/nio/ch/FileChannelImpl
-java/nio/channels/FileChannel
-java/nio/channels/ByteChannel
-java/nio/channels/ReadableByteChannel
-java/nio/channels/Channel
-java/nio/channels/WritableByteChannel
-java/nio/channels/GatheringByteChannel
-java/nio/channels/ScatteringByteChannel
-java/nio/channels/spi/AbstractInterruptibleChannel
-java/nio/channels/InterruptibleChannel
-sun/nio/ch/Util
-sun/nio/ch/IOUtil
-sun/nio/ch/FileDispatcher
-sun/nio/ch/NativeDispatcher
-sun/nio/ch/Reflect
-java/nio/MappedByteBuffer
-sun/nio/ch/Reflect$1
-sun/nio/ch/NativeThreadSet
-java/nio/channels/Channels
-java/util/Scanner$1
-sun/misc/LRUCache
-java/util/regex/Matcher
-java/util/regex/MatchResult
-java/text/NumberFormat
-java/text/Format
-java/text/spi/NumberFormatProvider
-java/util/spi/LocaleServiceProvider
-sun/util/LocaleServiceProviderPool
-sun/util/LocaleServiceProviderPool$1
-java/util/ServiceLoader
-java/util/ServiceLoader$LazyIterator
-java/util/ServiceLoader$1
-java/util/HashMap$EntrySet
-java/util/LinkedHashMap$EntryIterator
-sun/misc/Launcher$1
-sun/misc/URLClassPath$2
-java/lang/ClassLoader$2
-sun/misc/URLClassPath$1
-java/net/URLClassLoader$3
-sun/misc/CompoundEnumeration
-sun/misc/URLClassPath$JarLoader$1
-sun/misc/FileURLMapper
-java/net/URLClassLoader$3$1
-sun/util/resources/LocaleData
-sun/util/resources/LocaleData$1
-sun/util/resources/LocaleData$LocaleDataResourceBundleControl
-sun/util/LocaleDataMetaInfo
-sun/text/resources/FormatData
-java/util/ResourceBundle$BundleReference
-sun/text/resources/FormatData_en
-sun/text/resources/FormatData_en_US
-java/text/DecimalFormatSymbols
-java/text/spi/DecimalFormatSymbolsProvider
-java/util/Currency
-java/util/Currency$1
-java/util/CurrencyData
-java/util/spi/CurrencyNameProvider
-sun/util/resources/CurrencyNames
-sun/util/resources/LocaleNamesBundle
-sun/util/resources/OpenListResourceBundle
-sun/util/resources/CurrencyNames_en_US
-java/text/DecimalFormat
-java/text/FieldPosition
-java/text/DigitList
-java/math/RoundingMode
-java/util/regex/Pattern$GroupTail
-java/util/regex/Pattern$Ctype
-java/util/regex/Pattern$Ques
-java/util/regex/Pattern$GroupCurly
-java/util/regex/Pattern$5
-java/util/regex/Pattern$Loop
-java/util/regex/Pattern$Prolog
-java/util/regex/Pattern$9
-java/util/regex/Pattern$BranchConn
-java/util/regex/Pattern$Branch
-java/nio/channels/spi/AbstractInterruptibleChannel$1
-sun/nio/ch/Interruptible
-sun/nio/ch/NativeThread
-sun/nio/ch/DirectBuffer
-java/nio/DirectByteBuffer
-java/nio/DirectByteBuffer$Deallocator
-sun/misc/Cleaner
-sun/nio/ch/IOStatus
-java/util/regex/ASCII
-java/io/DataInputStream
-java/io/DataInput
-java/lang/Short$ShortCache
-java/util/HashMap$KeyIterator
-sun/font/CompositeFontDescriptor
-sun/font/Font2DHandle
-sun/font/FontFamily
-java/awt/GraphicsDevice
-sun/awt/X11GraphicsDevice
-sun/awt/X11GraphicsConfig
-java/awt/GraphicsConfiguration
-java/awt/ImageCapabilities
-sun/java2d/x11/X11SurfaceData
-sun/java2d/SurfaceData
-java/awt/Transparency
-sun/java2d/DisposerTarget
-sun/java2d/InvalidPipeException
-java/lang/IllegalStateException
-sun/java2d/NullSurfaceData
-sun/java2d/loops/SurfaceType
-sun/awt/image/PixelConverter
-sun/awt/image/PixelConverter$Xrgb
-sun/awt/image/PixelConverter$Argb
-sun/awt/image/PixelConverter$ArgbPre
-sun/awt/image/PixelConverter$Xbgr
-sun/awt/image/PixelConverter$Rgba
-sun/awt/image/PixelConverter$RgbaPre
-sun/awt/image/PixelConverter$Ushort565Rgb
-sun/awt/image/PixelConverter$Ushort555Rgb
-sun/awt/image/PixelConverter$Ushort555Rgbx
-sun/awt/image/PixelConverter$Ushort4444Argb
-sun/awt/image/PixelConverter$ByteGray
-sun/awt/image/PixelConverter$UshortGray
-sun/awt/image/PixelConverter$Rgbx
-sun/awt/image/PixelConverter$Bgrx
-sun/awt/image/PixelConverter$ArgbBm
-java/awt/image/ColorModel
-java/awt/image/DirectColorModel
-java/awt/image/PackedColorModel
-java/awt/color/ColorSpace
-java/awt/color/ICC_Profile
-sun/awt/color/ProfileDeferralInfo
-sun/awt/color/ProfileDeferralMgr
-java/awt/color/ICC_ProfileRGB
-java/awt/color/ICC_Profile$1
-sun/awt/color/ProfileActivator
-java/awt/color/ICC_ColorSpace
-sun/java2d/pipe/NullPipe
-sun/java2d/pipe/PixelDrawPipe
-sun/java2d/pipe/PixelFillPipe
-sun/java2d/pipe/ShapeDrawPipe
-sun/java2d/pipe/TextPipe
-sun/java2d/pipe/DrawImagePipe
-java/awt/image/IndexColorModel
-sun/java2d/pipe/LoopPipe
-sun/java2d/pipe/OutlineTextRenderer
-sun/java2d/pipe/SolidTextRenderer
-sun/java2d/pipe/GlyphListLoopPipe
-sun/java2d/pipe/GlyphListPipe
-sun/java2d/pipe/AATextRenderer
-sun/java2d/pipe/LCDTextRenderer
-sun/java2d/pipe/AlphaColorPipe
-sun/java2d/pipe/CompositePipe
-sun/java2d/pipe/PixelToShapeConverter
-sun/java2d/pipe/TextRenderer
-sun/java2d/pipe/SpanClipRenderer
-sun/java2d/pipe/Region
-sun/java2d/pipe/RegionIterator
-sun/java2d/pipe/DuctusShapeRenderer
-sun/java2d/pipe/DuctusRenderer
-sun/java2d/pipe/AlphaPaintPipe
-sun/java2d/pipe/SpanShapeRenderer$Composite
-sun/java2d/pipe/SpanShapeRenderer
-sun/java2d/pipe/GeneralCompositePipe
-sun/java2d/pipe/DrawImage
-sun/java2d/loops/RenderCache
-sun/java2d/loops/RenderCache$Entry
-sun/java2d/loops/XORComposite
-java/awt/Composite
-sun/font/X11TextRenderer
-sun/java2d/loops/GraphicsPrimitive
-sun/java2d/x11/X11PMBlitLoops
-sun/java2d/loops/Blit
-sun/java2d/loops/GraphicsPrimitiveMgr
-sun/java2d/loops/CompositeType
-sun/java2d/SunGraphics2D
-sun/awt/ConstrainableGraphics
-java/awt/Graphics2D
-java/awt/Graphics
-java/awt/Color
-java/awt/Paint
-java/awt/AlphaComposite
-sun/java2d/loops/BlitBg
-sun/java2d/loops/ScaledBlit
-sun/java2d/loops/FillRect
-sun/java2d/loops/FillSpans
-sun/java2d/loops/DrawLine
-sun/java2d/loops/DrawRect
-sun/java2d/loops/DrawPolygons
-sun/java2d/loops/DrawPath
-sun/java2d/loops/FillPath
-sun/java2d/loops/MaskBlit
-sun/java2d/loops/MaskFill
-sun/java2d/loops/DrawGlyphList
-sun/java2d/loops/DrawGlyphListAA
-sun/java2d/loops/DrawGlyphListLCD
-sun/java2d/loops/TransformHelper
-java/awt/BasicStroke
-java/awt/Stroke
-sun/misc/PerformanceLogger
-sun/misc/PerformanceLogger$TimeData
-sun/java2d/pipe/ValidatePipe
-sun/java2d/loops/CustomComponent
-sun/java2d/loops/GraphicsPrimitiveProxy
-sun/java2d/loops/GeneralRenderer
-sun/java2d/loops/GraphicsPrimitiveMgr$1
-sun/java2d/loops/GraphicsPrimitiveMgr$2
-sun/java2d/x11/X11PMBlitLoops$DelegateBlitLoop
-sun/java2d/x11/X11PMBlitBgLoops
-sun/java2d/x11/X11SurfaceData$LazyPipe
-sun/awt/X11GraphicsConfig$X11GCDisposerRecord
-sun/java2d/DisposerRecord
-java/awt/BorderLayout
-java/awt/LayoutManager2
-java/awt/Rectangle
-java/awt/Toolkit$2
-sun/awt/X11/XToolkit
-sun/awt/X11/XConstants
-sun/awt/UNIXToolkit
-java/util/TreeMap
-java/util/NavigableMap
-java/util/SortedMap
-sun/awt/X11/XlibWrapper
-sun/awt/X11/XUtilConstants
-sun/awt/X11/XProtocolConstants
-sun/awt/X11/XCursorFontConstants
-sun/awt/X11/XlibWrapper$1
-sun/awt/X11/XToolkit$4
-sun/awt/X11/XModifierKeymap
-sun/awt/X11/XWrapperBase
-sun/awt/X11/Native
-sun/awt/X11/Native$1
-java/awt/EventQueue
-sun/awt/X11/XToolkit$7
-java/util/EmptyStackException
-java/lang/reflect/InvocationTargetException
-java/awt/EventDispatchThread
-java/awt/event/PaintEvent
-java/awt/event/MouseEvent
-sun/awt/PeerEvent
-java/awt/event/InvocationEvent
-java/awt/ActiveEvent
-java/awt/EventQueueItem
-sun/awt/X11/XToolkit$1
-sun/awt/X11/XToolkit$XErrorHandler
-sun/awt/X11/XToolkit$5
-sun/awt/X11/XEventDispatcher
-sun/awt/SunToolkit$ModalityListenerList
-sun/awt/ModalityListener
-sun/awt/SunToolkit$1
-java/util/MissingResourceException
-java/awt/Queue
-sun/awt/PostEventQueue
-java/util/LinkedList
-java/util/Deque
-java/util/Queue
-java/util/AbstractSequentialList
-java/util/LinkedList$Entry
-sun/awt/X11/AwtScreenData
-sun/awt/X11/XWM
-sun/awt/X11/MWMConstants
-sun/awt/X11/XAtom
-java/awt/Insets
-sun/awt/X11/XWM$1
-sun/awt/X11/XWM$2
-sun/awt/X11/XSetWindowAttributes
-sun/awt/X11/XErrorEvent
-sun/awt/X11/XNETProtocol
-sun/awt/X11/XStateProtocol
-sun/awt/X11/XLayerProtocol
-sun/awt/X11/XProtocol
-sun/awt/X11/XProtocol$1
-sun/awt/X11/WindowPropertyGetter
-sun/awt/X11/UnsafeXDisposerRecord
-sun/awt/X11/XPropertyCache
-sun/awt/X11/XWINProtocol
-sun/awt/X11/XAtomList
-sun/awt/X11/XToolkit$3
-sun/awt/X11/XAnyEvent
-sun/awt/X11/IXAnyEvent
-java/awt/Window$WindowDisposerRecord
-java/awt/KeyboardFocusManager
-java/awt/KeyEventDispatcher
-java/awt/KeyEventPostProcessor
+java/awt/AWTEvent$1
+java/awt/AWTEvent$2
+java/awt/AWTEventMulticaster
 java/awt/AWTKeyStroke
 java/awt/AWTKeyStroke$1
-java/awt/DefaultKeyboardFocusManager
-java/awt/DefaultFocusTraversalPolicy
-java/awt/ContainerOrderFocusTraversalPolicy
-java/awt/FocusTraversalPolicy
-java/awt/MutableBoolean
-java/util/Collections$UnmodifiableSet
-sun/awt/HeadlessToolkit
-sun/awt/X11/XKeyboardFocusManagerPeer
-java/awt/peer/KeyboardFocusManagerPeer
-sun/awt/X11/XKeyboardFocusManagerPeer$1
-sun/awt/X11/XFramePeer
-java/awt/peer/FramePeer
-java/awt/peer/WindowPeer
-java/awt/peer/ContainerPeer
-java/awt/peer/ComponentPeer
-sun/awt/X11/XDecoratedPeer
-sun/awt/X11/XWindowPeer
-sun/awt/X11/XPanelPeer
-java/awt/peer/PanelPeer
-sun/awt/X11/XCanvasPeer
-java/awt/peer/CanvasPeer
-sun/awt/X11/XComponentPeer
-java/awt/dnd/peer/DropTargetPeer
-sun/awt/X11/XWindow
-sun/awt/X11ComponentPeer
-sun/awt/X11/XBaseWindow
-sun/awt/X11/XCreateWindowParams
-java/lang/Long$LongCache
-sun/awt/X11/XBaseWindow$InitialiseState
-sun/awt/X11/XBaseWindow$StateLock
-sun/awt/X11/AwtGraphicsConfigData
-sun/awt/X11/XVisualInfo
-java/awt/SystemColor
-sun/awt/X11/MotifColorUtilities
-java/lang/StrictMath
-sun/awt/X11/XRepaintArea
-sun/awt/RepaintArea
-sun/awt/X11/XWindowAttributesData
-java/util/concurrent/locks/LockSupport
-sun/awt/X11/WindowDimensions
-java/awt/Point
-java/util/TreeMap$Entry
-sun/nio/cs/UTF_8
-sun/nio/cs/Unicode
-sun/nio/cs/UTF_8$Encoder
-sun/nio/cs/UTF_8$Decoder
-sun/nio/cs/Surrogate$Generator
-sun/awt/X11/XPropertyEvent
-sun/awt/X11/XDropTargetEventProcessor
-sun/awt/X11/XDragSourceContextPeer
-sun/awt/X11/XDragSourceProtocolListener
-sun/awt/dnd/SunDragSourceContextPeer
-java/awt/dnd/peer/DragSourceContextPeer
-sun/awt/X11/XAwtState
-sun/awt/X11/XBaseWindow$1
-sun/awt/X11/XRootWindow
-sun/nio/cs/ISO_8859_1
-sun/nio/cs/ISO_8859_1$Encoder
-sun/nio/cs/ISO_8859_1$Decoder
-sun/java2d/x11/X11SurfaceData$X11WindowSurfaceData
-sun/java2d/loops/RenderLoops
-sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec
-sun/java2d/DefaultDisposerRecord
-sun/java2d/x11/X11Renderer
-sun/awt/X11/XGlobalCursorManager
-sun/awt/GlobalCursorManager
-sun/awt/X11/XToolkit$6
-java/awt/Cursor$CursorDisposer
-java/awt/AWTException
-java/awt/HeadlessException
-java/lang/UnsupportedOperationException
-sun/reflect/UnsafeLongFieldAccessorImpl
-sun/reflect/UnsafeIntegerFieldAccessorImpl
-sun/awt/X11/XClientMessageEvent
-sun/awt/X11/XIconInfo
-sun/awt/X11/XAWTIcon32_java_icon16_png
-sun/awt/X11/XAWTIcon32_java_icon24_png
-sun/awt/X11/XAWTIcon32_java_icon32_png
-sun/awt/X11/XAWTIcon32_java_icon48_png
-sun/awt/X11/XSizeHints
-sun/awt/X11/XContentWindow
-sun/awt/X11/XFocusProxyWindow
-sun/awt/X11/XWMHints
-java/util/LinkedList$ListItr
-java/util/ListIterator
-sun/awt/SunToolkit$2
-java/awt/image/BufferStrategy
-java/awt/dnd/DropTarget
-java/awt/dnd/DropTargetListener
-java/awt/event/ComponentListener
-java/awt/event/FocusListener
-java/awt/event/HierarchyListener
-java/awt/event/HierarchyBoundsListener
-java/awt/event/KeyListener
-java/awt/event/MouseListener
-java/awt/event/MouseMotionListener
-java/awt/event/MouseWheelListener
-java/awt/event/InputMethodListener
-java/awt/Component$NativeInLightFixer
-java/awt/event/ContainerListener
-javax/accessibility/AccessibleContext
-sun/reflect/UnsafeObjectFieldAccessorImpl
-java/awt/peer/LightweightPeer
-sun/awt/X11/XLabelPeer
-java/awt/peer/LabelPeer
-sun/awt/X11/XMapEvent
-sun/awt/X11/XQueryTree
-sun/awt/X11/XConfigureEvent
-sun/awt/X11/PropMwmHints
-sun/awt/GlobalCursorManager$NativeUpdater
-javax/swing/JFrame
-javax/swing/WindowConstants
-javax/swing/RootPaneContainer
-javax/swing/TransferHandler$HasGetTransferHandler
-javax/swing/JLabel
-javax/swing/SwingConstants
-javax/swing/JComponent
-javax/swing/JComponent$1
-javax/swing/SwingUtilities
-javax/swing/JRootPane
-sun/security/action/GetBooleanAction
-javax/swing/event/EventListenerList
-javax/swing/JPanel
-java/awt/FlowLayout
-javax/swing/UIManager
-javax/swing/UIManager$LookAndFeelInfo
-sun/swing/SwingUtilities2
-sun/swing/SwingUtilities2$LSBCacheEntry
-javax/swing/UIManager$LAFState
-javax/swing/UIDefaults
-javax/swing/MultiUIDefaults
-javax/swing/UIManager$1
-javax/swing/plaf/metal/MetalLookAndFeel
-javax/swing/plaf/basic/BasicLookAndFeel
-javax/swing/LookAndFeel
-sun/swing/DefaultLookup
-javax/swing/plaf/metal/OceanTheme
-javax/swing/plaf/metal/DefaultMetalTheme
-javax/swing/plaf/metal/MetalTheme
-javax/swing/plaf/ColorUIResource
-javax/swing/plaf/UIResource
-sun/swing/PrintColorUIResource
-javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate
-javax/swing/plaf/FontUIResource
-sun/swing/SwingLazyValue
-javax/swing/UIDefaults$LazyValue
-javax/swing/UIDefaults$ActiveValue
-javax/swing/plaf/InsetsUIResource
-sun/swing/SwingUtilities2$2
-javax/swing/plaf/basic/BasicLookAndFeel$2
-javax/swing/plaf/DimensionUIResource
-javax/swing/UIDefaults$LazyInputMap
-java/lang/Character$CharacterCache
-javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue
-javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue
-java/awt/print/PrinterJob
-sun/swing/SwingUtilities2$AATextInfo
-sun/awt/X11/XAWTXSettings
-sun/awt/X11/XMSelectionListener
-sun/awt/XSettings
-sun/awt/X11/XMSelection
-sun/awt/X11/XMSelection$1
-javax/swing/plaf/metal/MetalLookAndFeel$AATextListener
-java/beans/PropertyChangeListener
-java/beans/PropertyChangeListenerProxy
-java/util/EventListenerProxy
-sun/awt/EventListenerAggregate
-javax/swing/UIDefaults$ProxyLazyValue
-javax/swing/plaf/metal/OceanTheme$1
-javax/swing/plaf/metal/OceanTheme$2
-javax/swing/plaf/metal/OceanTheme$3
-javax/swing/plaf/metal/OceanTheme$4
-javax/swing/plaf/metal/OceanTheme$5
-javax/swing/plaf/metal/OceanTheme$6
-javax/swing/RepaintManager
-javax/swing/RepaintManager$DisplayChangedHandler
-javax/swing/SwingPaintEventDispatcher
-sun/awt/PaintEventDispatcher
-javax/swing/UIManager$2
-javax/swing/UIManager$3
-java/awt/PopupMenu
-java/awt/Menu
-java/awt/MenuItem
-java/awt/MenuComponent
-java/io/ObjectOutputStream
-java/io/ObjectOutput
-java/io/DataOutput
-java/io/ObjectStreamConstants
-java/io/PrintWriter
-java/io/ObjectInputStream
-java/io/ObjectInput
-java/awt/Event
-java/awt/im/InputContext
-java/awt/event/MouseWheelEvent
-java/awt/BufferCapabilities
-sun/awt/CausedFocusEvent$Cause
-java/awt/PointerInfo
-java/awt/Component$BaselineResizeBehavior
-java/awt/FontMetrics
-java/awt/Image
-java/awt/image/ImageProducer
-java/awt/image/VolatileImage
-java/awt/im/InputMethodRequests
-java/awt/event/FocusEvent
-java/awt/event/InputMethodEvent
-java/awt/event/HierarchyEvent
-javax/accessibility/AccessibleStateSet
-com/sun/swing/internal/plaf/metal/resources/metal
-sun/util/ResourceBundleEnumeration
-com/sun/swing/internal/plaf/basic/resources/basic
-javax/swing/plaf/basic/BasicPanelUI
-javax/swing/plaf/PanelUI
-javax/swing/plaf/ComponentUI
-sun/reflect/misc/MethodUtil
-sun/reflect/misc/MethodUtil$1
-java/util/jar/JarFile
-java/util/zip/ZipFile
-java/util/zip/ZipConstants
-java/util/jar/JavaUtilJarAccessImpl
-sun/misc/JavaUtilJarAccess
-sun/misc/JarIndex
-java/util/zip/ZipEntry
-java/util/jar/JarFile$JarFileEntry
-java/util/jar/JarEntry
-sun/misc/URLClassPath$JarLoader$2
-sun/net/www/protocol/jar/JarURLConnection
-java/net/JarURLConnection
-sun/net/www/protocol/jar/JarFileFactory
-sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController
-java/net/HttpURLConnection
-sun/net/www/protocol/jar/URLJarFile
-sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry
-sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream
-java/util/zip/ZipFile$ZipFileInputStream
-java/security/AllPermissionCollection
-java/lang/IllegalAccessException
-javax/swing/JPasswordField
-javax/swing/JTextField
-javax/swing/text/JTextComponent
-javax/swing/Scrollable
-javax/swing/JLayeredPane
-javax/swing/JRootPane$1
-javax/swing/ArrayTable
-javax/swing/JInternalFrame
-javax/swing/JRootPane$RootLayout
-javax/swing/BufferStrategyPaintManager
-javax/swing/RepaintManager$PaintManager
-javax/swing/plaf/metal/MetalRootPaneUI
-javax/swing/plaf/basic/BasicRootPaneUI
-javax/swing/plaf/RootPaneUI
-javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap
-javax/swing/plaf/ComponentInputMapUIResource
-javax/swing/ComponentInputMap
-javax/swing/InputMap
-javax/swing/plaf/InputMapUIResource
-javax/swing/KeyStroke
-java/awt/VKCollection
-sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl
-javax/swing/plaf/basic/LazyActionMap
-javax/swing/plaf/ActionMapUIResource
-javax/swing/ActionMap
-javax/swing/LayoutFocusTraversalPolicy
-javax/swing/SortingFocusTraversalPolicy
-javax/swing/InternalFrameFocusTraversalPolicy
-javax/swing/SwingContainerOrderFocusTraversalPolicy
-javax/swing/SwingDefaultFocusTraversalPolicy
-javax/swing/LayoutComparator
-javax/swing/plaf/metal/MetalLabelUI
-javax/swing/plaf/basic/BasicLabelUI
-javax/swing/plaf/LabelUI
-javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1
-javax/swing/plaf/basic/BasicHTML
-javax/swing/SystemEventQueueUtilities
-javax/swing/SystemEventQueueUtilities$SystemEventQueue
-sun/awt/NullComponentPeer
-java/awt/event/WindowEvent
-java/awt/EventQueue$1
-java/awt/EventDispatchThread$1
-java/awt/Conditional
-java/awt/EventDispatchThread$HierarchyEventFilter
-java/awt/EventFilter$FilterAction
-sun/awt/dnd/SunDropTargetEvent
-java/awt/event/ActionEvent
-java/util/jar/Manifest
-java/io/ByteArrayInputStream
-java/util/jar/Attributes
-java/util/jar/Manifest$FastInputStream
-java/util/jar/Attributes$Name
-sun/misc/ASCIICaseInsensitiveComparator
-java/util/jar/JarVerifier
-java/io/ByteArrayOutputStream
-sun/misc/ExtensionDependency
-java/lang/Package
-sun/security/util/ManifestEntryVerifier
-sun/security/provider/Sun
-java/security/Provider
-java/security/Provider$ServiceKey
-java/security/Provider$EngineDescription
-sun/security/provider/Sun$1
-java/security/Security
-java/security/Security$1
-sun/misc/FloatingDecimal
-sun/misc/FloatingDecimal$1
-sun/security/provider/NativePRNG
-java/security/SecureRandomSpi
-sun/security/provider/NativePRNG$1
-sun/security/provider/NativePRNG$RandomIO
-sun/misc/BASE64Decoder
-sun/misc/CharacterDecoder
-sun/security/util/SignatureFileVerifier
-java/awt/event/KeyAdapter
-java/lang/NumberFormatException
-java/lang/IllegalArgumentException
-java/io/FileWriter
-java/net/Authenticator
-java/net/MalformedURLException
-javax/swing/text/Element
-javax/swing/text/Document
-javax/swing/text/PlainDocument
-javax/swing/text/AbstractDocument
-javax/swing/text/GapContent
-javax/swing/text/AbstractDocument$Content
-javax/swing/text/GapVector
-javax/swing/text/GapContent$MarkVector
-javax/swing/text/GapContent$MarkData
-javax/swing/text/StyleContext
-javax/swing/text/AbstractDocument$AttributeContext
-javax/swing/text/StyleConstants
-javax/swing/text/StyleConstants$CharacterConstants
-javax/swing/text/AttributeSet$CharacterAttribute
-javax/swing/text/StyleConstants$FontConstants
-javax/swing/text/AttributeSet$FontAttribute
-javax/swing/text/StyleConstants$ColorConstants
-javax/swing/text/AttributeSet$ColorAttribute
-javax/swing/text/StyleConstants$ParagraphConstants
-javax/swing/text/AttributeSet$ParagraphAttribute
-javax/swing/text/StyleContext$FontKey
-javax/swing/text/SimpleAttributeSet
-javax/swing/text/MutableAttributeSet
-javax/swing/text/AttributeSet
-javax/swing/text/SimpleAttributeSet$EmptyAttributeSet
-javax/swing/text/StyleContext$NamedStyle
-javax/swing/text/Style
-javax/swing/text/SimpleAttributeSet$1
-javax/swing/text/StyleContext$SmallAttributeSet
-javax/swing/text/AbstractDocument$BidiRootElement
-javax/swing/text/AbstractDocument$BranchElement
-javax/swing/text/AbstractDocument$AbstractElement
-javax/swing/tree/TreeNode
-javax/swing/text/AbstractDocument$1
-javax/swing/text/AbstractDocument$BidiElement
-javax/swing/text/AbstractDocument$LeafElement
-javax/swing/text/GapContent$StickyPosition
-javax/swing/text/Position
-javax/swing/text/StyleContext$KeyEnumeration
-javax/swing/text/GapContent$InsertUndo
-javax/swing/undo/AbstractUndoableEdit
-javax/swing/undo/UndoableEdit
-javax/swing/text/AbstractDocument$DefaultDocumentEvent
-javax/swing/event/DocumentEvent
-javax/swing/undo/CompoundEdit
-javax/swing/event/DocumentEvent$EventType
-javax/swing/text/Segment
-java/text/CharacterIterator
-javax/swing/text/Utilities
-javax/swing/text/SegmentCache
-javax/swing/text/SegmentCache$CachedSegment
-javax/swing/event/UndoableEditEvent
-javax/swing/text/AbstractDocument$ElementEdit
-javax/swing/event/DocumentEvent$ElementChange
-java/net/Socket
-java/net/InetAddress
-java/net/InetAddress$Cache
-java/net/InetAddress$Cache$Type
-java/net/InetAddressImplFactory
-java/net/Inet4AddressImpl
-java/net/InetAddressImpl
-java/net/InetAddress$1
-sun/net/spi/nameservice/NameService
-sun/net/util/IPAddressUtil
-java/util/RandomAccessSubList
-java/util/SubList
-java/util/SubList$1
-java/util/AbstractList$ListItr
-java/net/Inet4Address
-java/net/InetSocketAddress
-java/net/SocketAddress
-java/net/SocksSocketImpl
-java/net/SocksConsts
-java/net/PlainSocketImpl
-java/net/SocketImpl
-java/net/SocketOptions
-java/net/SocketException
-java/net/SocksSocketImpl$5
-java/net/ProxySelector
-sun/net/spi/DefaultProxySelector
-sun/net/spi/DefaultProxySelector$1
-sun/net/NetProperties
-sun/net/NetProperties$1
-sun/net/spi/DefaultProxySelector$NonProxyInfo
-java/net/Inet6Address
-java/net/URI
-java/net/URI$Parser
-java/net/Proxy
-java/net/Proxy$Type
-java/net/ConnectException
-javax/swing/JMenu
-javax/swing/MenuElement
-javax/swing/JMenuItem
-javax/swing/AbstractButton
-java/awt/ItemSelectable
-javax/swing/event/MenuListener
-javax/swing/JCheckBoxMenuItem
-javax/swing/Icon
-javax/swing/JButton
-java/awt/event/WindowListener
-java/net/URLClassLoader$2
-javax/swing/ImageIcon
-javax/swing/ImageIcon$1
-java/awt/MediaTracker
-sun/misc/SoftCache$ValueCell
-sun/awt/image/URLImageSource
-sun/awt/image/InputStreamImageSource
-sun/awt/image/ImageFetchable
-sun/awt/image/ToolkitImage
-java/awt/Image$1
-sun/awt/image/SurfaceManager$ImageAccessor
-sun/awt/image/SurfaceManager
-sun/awt/image/NativeLibLoader
-java/awt/ImageMediaEntry
-java/awt/MediaEntry
-sun/awt/image/ImageRepresentation
-java/awt/image/ImageConsumer
-sun/awt/image/ImageWatched
-sun/awt/image/ImageWatched$Link
-sun/awt/image/ImageWatched$WeakLink
-sun/awt/image/ImageConsumerQueue
-sun/awt/image/ImageFetcher
-sun/awt/image/FetcherInfo
-sun/awt/image/ImageFetcher$1
-sun/awt/image/GifImageDecoder
-sun/awt/image/ImageDecoder
-sun/awt/image/GifFrame
-java/awt/image/Raster
-java/awt/image/DataBufferByte
-java/awt/image/DataBuffer
-java/awt/image/PixelInterleavedSampleModel
-java/awt/image/ComponentSampleModel
-java/awt/image/SampleModel
-sun/awt/image/ByteInterleavedRaster
-sun/awt/image/ByteComponentRaster
-sun/awt/image/SunWritableRaster
-java/awt/image/WritableRaster
-java/awt/image/BufferedImage
-java/awt/image/WritableRenderedImage
-java/awt/image/RenderedImage
-sun/awt/image/IntegerComponentRaster
-sun/awt/image/BytePackedRaster
+java/awt/ActiveEvent
+java/awt/Adjustable
+java/awt/AlphaComposite
+java/awt/BasicStroke
+java/awt/BorderLayout
 java/awt/Canvas
-sun/font/FontDesignMetrics
-sun/font/FontStrikeDesc
-sun/font/CompositeStrike
-sun/font/FontStrikeDisposer
-sun/font/StrikeCache$SoftDisposerRef
-sun/font/StrikeCache$DisposableStrike
-sun/font/TrueTypeFont$TTDisposerRecord
-sun/font/TrueTypeFont$1
-java/io/RandomAccessFile
-java/nio/ByteBufferAsIntBufferB
-java/nio/IntBuffer
-sun/font/TrueTypeFont$DirectoryEntry
-java/nio/ByteBufferAsShortBufferB
-java/nio/ShortBuffer
-sun/nio/cs/UTF_16
-sun/nio/cs/UTF_16$Decoder
-sun/nio/cs/UnicodeDecoder
-sun/font/FileFontStrike
-sun/font/FileFont$FileFontDisposer
-sun/font/TrueTypeGlyphMapper
-sun/font/CMap
-sun/font/CMap$NullCMapClass
-sun/font/CMap$CMapFormat4
-java/nio/ByteBufferAsCharBufferB
-sun/font/FontDesignMetrics$KeyReference
-sun/awt/image/PNGImageDecoder
-sun/awt/image/PNGFilterInputStream
-java/util/zip/InflaterInputStream
-java/util/zip/Inflater
-sun/awt/EventQueueItem
-sun/awt/SunToolkit$3
-sun/awt/X11/XExposeEvent
-sun/awt/X11/ComponentAccessor
-sun/awt/X11/ComponentAccessor$1
-sun/reflect/UnsafeBooleanFieldAccessorImpl
-sun/awt/event/IgnorePaintEvent
-java/awt/image/DataBufferInt
-java/awt/image/SinglePixelPackedSampleModel
-sun/awt/image/IntegerInterleavedRaster
-sun/java2d/x11/X11RemoteOffScreenImage
-sun/awt/image/RemoteOffScreenImage
-sun/awt/image/OffScreenImage
-sun/java2d/x11/X11RemoteOffScreenImage$X11RemoteSurfaceManager
-sun/awt/image/OffScreenSurfaceManager
-sun/awt/image/CachingSurfaceManager
-sun/awt/image/RasterListener
-sun/awt/image/BufImgSurfaceData
-sun/java2d/opengl/GLXGraphicsConfig
-sun/java2d/opengl/OGLGraphicsConfig
-sun/java2d/x11/X11SurfaceData$X11PixmapSurfaceData
-sun/awt/image/WritableRasterNative
-sun/awt/image/DataBufferNative
-sun/java2d/SurfaceManagerFactory
-sun/java2d/x11/X11CachingSurfaceManager
-sun/java2d/opengl/GLXSurfaceData
-sun/java2d/opengl/OGLSurfaceData
-sun/font/CompositeGlyphMapper
-sun/java2d/loops/FontInfo
-java/util/Date
-sun/util/calendar/CalendarSystem
-sun/util/calendar/Gregorian
-sun/util/calendar/BaseCalendar
-sun/util/calendar/AbstractCalendar
-java/util/TimeZone
-java/lang/InheritableThreadLocal
-sun/util/calendar/ZoneInfo
-sun/util/calendar/ZoneInfoFile
-sun/util/calendar/ZoneInfoFile$1
-java/util/TimeZone$1
-sun/util/calendar/Gregorian$Date
-sun/util/calendar/BaseCalendar$Date
-sun/util/calendar/CalendarDate
-sun/util/calendar/CalendarUtils
-java/util/TimeZone$DisplayNames
-sun/util/TimeZoneNameUtility
-sun/util/resources/TimeZoneNames
-sun/util/resources/TimeZoneNamesBundle
-sun/util/resources/TimeZoneNames_en
-java/util/spi/TimeZoneNameProvider
-java/lang/ProcessBuilder
-java/lang/ProcessImpl
-java/lang/UNIXProcess
-java/lang/Process
-java/lang/UNIXProcess$Gate
-java/lang/UNIXProcess$1
-java/lang/UNIXProcess$1$1
-java/lang/UNIXProcess$1$1$1
-java/net/ServerSocket
-java/util/Random
-java/util/concurrent/atomic/AtomicLong
-java/lang/InternalError
-java/io/StringReader
-java/lang/SecurityException
-java/io/FilterReader
-java/lang/reflect/Proxy
-java/lang/reflect/InvocationHandler
-java/lang/NoSuchFieldException
-java/lang/InstantiationException
-java/lang/ArrayIndexOutOfBoundsException
-java/lang/IndexOutOfBoundsException
-javax/swing/JDialog
-sun/awt/X11/XClipboard
-sun/awt/datatransfer/SunClipboard
+java/awt/CardLayout
+java/awt/Color
+java/awt/Component
+java/awt/Component$1
+java/awt/Component$3
+java/awt/Component$AWTTreeLock
+java/awt/Component$DummyRequestFocusController
+java/awt/ComponentOrientation
+java/awt/Composite
+java/awt/Conditional
+java/awt/Container
+java/awt/Container$1
+java/awt/Container$EventTargetFilter
+java/awt/Container$MouseEventTargetFilter
+java/awt/ContainerOrderFocusTraversalPolicy
+java/awt/Cursor
+java/awt/Cursor$1
+java/awt/DefaultFocusTraversalPolicy
+java/awt/DefaultKeyboardFocusManager
+java/awt/DefaultKeyboardFocusManager$1
+java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent
+java/awt/DefaultKeyboardFocusManager$TypeAheadMarker
+java/awt/Dialog
+java/awt/Dialog$1
+java/awt/Dialog$3
+java/awt/Dialog$ModalExclusionType
+java/awt/Dialog$ModalityType
+java/awt/Dimension
+java/awt/Event
+java/awt/EventDispatchThread
+java/awt/EventDispatchThread$1
+java/awt/EventDispatchThread$HierarchyEventFilter
+java/awt/EventFilter
+java/awt/EventFilter$FilterAction
+java/awt/EventQueue
+java/awt/EventQueue$1
+java/awt/EventQueue$2
+java/awt/EventQueue$3
+java/awt/EventQueue$4
+java/awt/EventQueue$5
+java/awt/FlowLayout
+java/awt/FocusTraversalPolicy
+java/awt/Font
+java/awt/Font$FontAccessImpl
+java/awt/FontMetrics
+java/awt/Frame
+java/awt/Frame$1
+java/awt/Graphics
+java/awt/Graphics2D
+java/awt/GraphicsCallback
+java/awt/GraphicsCallback$PaintCallback
+java/awt/GraphicsConfiguration
+java/awt/GraphicsDevice
+java/awt/GraphicsEnvironment
+java/awt/GraphicsEnvironment$1
+java/awt/Image
+java/awt/Image$1
+java/awt/ImageCapabilities
+java/awt/ImageMediaEntry
+java/awt/Insets
+java/awt/ItemSelectable
+java/awt/KeyEventDispatcher
+java/awt/KeyEventPostProcessor
+java/awt/KeyboardFocusManager
+java/awt/KeyboardFocusManager$1
+java/awt/KeyboardFocusManager$2
+java/awt/KeyboardFocusManager$3
+java/awt/KeyboardFocusManager$HeavyweightFocusRequest
+java/awt/KeyboardFocusManager$LightweightFocusRequest
+java/awt/Label
+java/awt/LayoutManager
+java/awt/LayoutManager2
+java/awt/LightweightDispatcher
+java/awt/LightweightDispatcher$1
+java/awt/LightweightDispatcher$2
+java/awt/MediaEntry
+java/awt/MediaTracker
+java/awt/MenuBar
+java/awt/MenuComponent
+java/awt/MenuContainer
+java/awt/ModalEventFilter
+java/awt/ModalEventFilter$1
+java/awt/ModalEventFilter$ApplicationModalEventFilter
+java/awt/Paint
+java/awt/Panel
+java/awt/Point
+java/awt/PrintGraphics
+java/awt/Queue
+java/awt/Rectangle
+java/awt/RenderingHints
+java/awt/RenderingHints$Key
+java/awt/SecondaryLoop
+java/awt/SentEvent
+java/awt/SequencedEvent
+java/awt/Shape
+java/awt/SplashScreen
+java/awt/Stroke
+java/awt/SystemColor
+java/awt/Toolkit
+java/awt/Toolkit$1
+java/awt/Toolkit$2
+java/awt/Toolkit$3
+java/awt/Toolkit$4
+java/awt/Toolkit$5
+java/awt/Toolkit$DesktopPropertyChangeSupport
+java/awt/Toolkit$SelectiveAWTEventListener
+java/awt/Toolkit$ToolkitEventMulticaster
+java/awt/Transparency
+java/awt/TrayIcon
+java/awt/VKCollection
+java/awt/WaitDispatchSupport
+java/awt/WaitDispatchSupport$1
+java/awt/WaitDispatchSupport$2
+java/awt/WaitDispatchSupport$5
+java/awt/Window
+java/awt/Window$1
+java/awt/Window$1DisposeAction
+java/awt/Window$Type
+java/awt/Window$WindowDisposerRecord
+java/awt/color/ColorSpace
+java/awt/color/ICC_ColorSpace
+java/awt/color/ICC_Profile
+java/awt/color/ICC_Profile$1
+java/awt/color/ICC_ProfileRGB
 java/awt/datatransfer/Clipboard
-java/awt/datatransfer/SystemFlavorMap
+java/awt/datatransfer/ClipboardOwner
+java/awt/datatransfer/DataFlavor
 java/awt/datatransfer/FlavorMap
 java/awt/datatransfer/FlavorTable
-java/awt/datatransfer/SystemFlavorMap$1
-sun/net/ProgressMonitor
-sun/net/DefaultProgressMeteringPolicy
-sun/net/ProgressMeteringPolicy
-java/awt/datatransfer/SystemFlavorMap$2
 java/awt/datatransfer/MimeType
-java/io/Externalizable
 java/awt/datatransfer/MimeTypeParameterList
-sun/awt/datatransfer/DataTransferer
-java/util/Collections$SynchronizedSet
-java/util/Collections$SynchronizedCollection
-java/awt/datatransfer/DataFlavor
-java/awt/datatransfer/DataFlavor$1
-sun/awt/datatransfer/DataTransferer$CharsetComparator
-sun/awt/datatransfer/DataTransferer$IndexedComparator
-sun/nio/cs/UTF_16LE
-sun/nio/cs/UTF_16BE
-sun/awt/datatransfer/DataTransferer$DataFlavorComparator
-java/rmi/Remote
-sun/awt/datatransfer/DataTransferer$1
-sun/awt/X11/XDataTransferer
-sun/awt/datatransfer/ToolkitThreadBlockedHandler
-javax/imageio/ImageTypeSpecifier
-sun/awt/X11/XSelection
-sun/security/action/GetIntegerAction
-sun/awt/X11/XSelection$IncrementalTransferHandler
-sun/awt/X11/XSelection$SelectionEventHandler
+java/awt/datatransfer/MimeTypeParseException
+java/awt/datatransfer/SystemFlavorMap
+java/awt/datatransfer/SystemFlavorMap$1
+java/awt/datatransfer/SystemFlavorMap$2
 java/awt/datatransfer/Transferable
+java/awt/dnd/DropTarget
+java/awt/dnd/DropTargetContext
+java/awt/dnd/DropTargetListener
+java/awt/dnd/peer/DragSourceContextPeer
+java/awt/dnd/peer/DropTargetPeer
+java/awt/event/AWTEventListener
+java/awt/event/AWTEventListenerProxy
+java/awt/event/ActionEvent
+java/awt/event/ActionListener
+java/awt/event/AdjustmentEvent
+java/awt/event/AdjustmentListener
+java/awt/event/ComponentAdapter
+java/awt/event/ComponentEvent
+java/awt/event/ComponentListener
+java/awt/event/ContainerEvent
+java/awt/event/ContainerListener
+java/awt/event/FocusAdapter
+java/awt/event/FocusEvent
+java/awt/event/FocusListener
+java/awt/event/HierarchyBoundsListener
+java/awt/event/HierarchyEvent
+java/awt/event/HierarchyListener
+java/awt/event/InputEvent
+java/awt/event/InputEvent$1
+java/awt/event/InputMethodEvent
+java/awt/event/InputMethodListener
+java/awt/event/InvocationEvent
+java/awt/event/ItemListener
+java/awt/event/KeyAdapter
+java/awt/event/KeyEvent
+java/awt/event/KeyEvent$1
+java/awt/event/KeyListener
+java/awt/event/MouseAdapter
+java/awt/event/MouseEvent
+java/awt/event/MouseListener
+java/awt/event/MouseMotionAdapter
+java/awt/event/MouseMotionListener
+java/awt/event/MouseWheelEvent
+java/awt/event/MouseWheelListener
+java/awt/event/NativeLibLoader
+java/awt/event/NativeLibLoader$1
+java/awt/event/PaintEvent
+java/awt/event/TextListener
+java/awt/event/WindowAdapter
+java/awt/event/WindowEvent
+java/awt/event/WindowFocusListener
+java/awt/event/WindowListener
+java/awt/event/WindowStateListener
+java/awt/font/FontRenderContext
+java/awt/font/GlyphVector
+java/awt/font/LineMetrics
+java/awt/font/TextAttribute
+java/awt/geom/AffineTransform
+java/awt/geom/Dimension2D
+java/awt/geom/GeneralPath
+java/awt/geom/Path2D
+java/awt/geom/Path2D$Float
+java/awt/geom/Point2D
+java/awt/geom/Point2D$Double
+java/awt/geom/Point2D$Float
+java/awt/geom/Rectangle2D
+java/awt/geom/Rectangle2D$Double
+java/awt/geom/Rectangle2D$Float
+java/awt/geom/RectangularShape
+java/awt/im/InputContext
+java/awt/im/InputMethodRequests
+java/awt/im/spi/InputMethod
+java/awt/im/spi/InputMethodContext
+java/awt/im/spi/InputMethodDescriptor
+java/awt/image/BufferStrategy
+java/awt/image/BufferedImage
+java/awt/image/BufferedImage$1
+java/awt/image/ColorModel
+java/awt/image/ColorModel$1
+java/awt/image/ComponentSampleModel
+java/awt/image/DataBuffer
+java/awt/image/DataBuffer$1
+java/awt/image/DataBufferByte
+java/awt/image/DataBufferInt
+java/awt/image/DirectColorModel
+java/awt/image/FilteredImageSource
+java/awt/image/ImageConsumer
+java/awt/image/ImageFilter
+java/awt/image/ImageObserver
+java/awt/image/ImageProducer
+java/awt/image/IndexColorModel
+java/awt/image/PackedColorModel
+java/awt/image/PixelInterleavedSampleModel
+java/awt/image/RGBImageFilter
+java/awt/image/Raster
+java/awt/image/RenderedImage
+java/awt/image/SampleModel
+java/awt/image/SinglePixelPackedSampleModel
+java/awt/image/VolatileImage
+java/awt/image/WritableRaster
+java/awt/image/WritableRenderedImage
+java/awt/peer/CanvasPeer
+java/awt/peer/ComponentPeer
+java/awt/peer/ContainerPeer
+java/awt/peer/DialogPeer
+java/awt/peer/FramePeer
+java/awt/peer/KeyboardFocusManagerPeer
+java/awt/peer/LabelPeer
+java/awt/peer/LightweightPeer
+java/awt/peer/PanelPeer
+java/awt/peer/WindowPeer
+java/awt/print/PrinterGraphics
+java/beans/ChangeListenerMap
+java/beans/PropertyChangeEvent
+java/beans/PropertyChangeListener
+java/beans/PropertyChangeListenerProxy
+java/beans/PropertyChangeSupport
+java/beans/PropertyChangeSupport$PropertyChangeListenerMap
+java/io/Bits
+java/io/BufferedInputStream
+java/io/BufferedOutputStream
+java/io/BufferedReader
+java/io/BufferedWriter
+java/io/ByteArrayInputStream
+java/io/ByteArrayOutputStream
+java/io/Closeable
+java/io/DataInput
+java/io/DataInputStream
+java/io/DataOutput
+java/io/DataOutputStream
+java/io/DefaultFileSystem
 java/io/EOFException
-java/util/Vector$1
-java/util/zip/ZipFile$1
-java/util/zip/ZipFile$2
-java/util/jar/JarFile$1
-java/util/PropertyResourceBundle
-java/util/ResourceBundle$Control$1
-java/util/Hashtable$EntrySet
+java/io/ExpiringCache
+java/io/ExpiringCache$1
+java/io/ExpiringCache$Entry
+java/io/Externalizable
+java/io/File
+java/io/File$PathStatus
+java/io/FileDescriptor
+java/io/FileDescriptor$1
+java/io/FileInputStream
+java/io/FileInputStream$1
+java/io/FileNotFoundException
+java/io/FileOutputStream
+java/io/FileOutputStream$1
+java/io/FilePermission
+java/io/FilePermission$1
+java/io/FilePermissionCollection
+java/io/FileReader
+java/io/FileSystem
+java/io/FileWriter
+java/io/FilenameFilter
+java/io/FilterInputStream
+java/io/FilterOutputStream
+java/io/FilterReader
+java/io/Flushable
+java/io/IOException
+java/io/InputStream
+java/io/InputStreamReader
+java/io/ObjectInput
+java/io/ObjectInputStream
+java/io/ObjectOutput
+java/io/ObjectOutputStream
+java/io/ObjectOutputStream$BlockDataOutputStream
+java/io/ObjectOutputStream$HandleTable
+java/io/ObjectOutputStream$ReplaceTable
+java/io/ObjectStreamClass
+java/io/ObjectStreamClass$2
+java/io/ObjectStreamClass$Caches
+java/io/ObjectStreamClass$EntryFuture
+java/io/ObjectStreamClass$FieldReflector
+java/io/ObjectStreamClass$FieldReflectorKey
+java/io/ObjectStreamClass$WeakClassKey
+java/io/ObjectStreamConstants
+java/io/ObjectStreamField
+java/io/OutputStream
+java/io/OutputStreamWriter
+java/io/PrintStream
+java/io/PrintWriter
+java/io/RandomAccessFile
+java/io/Reader
+java/io/Serializable
+java/io/StringReader
+java/io/StringWriter
+java/io/UnixFileSystem
+java/io/UnsupportedEncodingException
+java/io/Writer
+java/lang/AbstractStringBuilder
+java/lang/Appendable
+java/lang/ApplicationShutdownHooks
+java/lang/ApplicationShutdownHooks$1
+java/lang/ArithmeticException
+java/lang/ArrayIndexOutOfBoundsException
+java/lang/ArrayStoreException
+java/lang/AutoCloseable
+java/lang/Boolean
+java/lang/BootstrapMethodError
+java/lang/Byte
+java/lang/CharSequence
+java/lang/Character
+java/lang/Character$CharacterCache
+java/lang/CharacterData
+java/lang/CharacterDataLatin1
+java/lang/Class
+java/lang/Class$1
+java/lang/Class$3
+java/lang/Class$4
+java/lang/Class$AnnotationData
+java/lang/Class$Atomic
+java/lang/Class$ReflectionData
+java/lang/ClassCastException
+java/lang/ClassLoader
+java/lang/ClassLoader$2
+java/lang/ClassLoader$3
+java/lang/ClassLoader$NativeLibrary
+java/lang/ClassLoader$ParallelLoaders
+java/lang/ClassLoaderHelper
+java/lang/ClassNotFoundException
+java/lang/ClassValue$ClassValueMap
+java/lang/CloneNotSupportedException
+java/lang/Cloneable
+java/lang/Comparable
+java/lang/Compiler
+java/lang/Compiler$1
+java/lang/Double
+java/lang/Enum
+java/lang/Error
+java/lang/Exception
+java/lang/ExceptionInInitializerError
+java/lang/Float
 java/lang/IllegalAccessError
+java/lang/IllegalAccessException
+java/lang/IllegalArgumentException
+java/lang/IllegalMonitorStateException
+java/lang/IllegalStateException
+java/lang/IncompatibleClassChangeError
+java/lang/IndexOutOfBoundsException
+java/lang/InstantiationException
+java/lang/Integer
+java/lang/Integer$IntegerCache
+java/lang/InternalError
+java/lang/InterruptedException
+java/lang/Iterable
+java/lang/LinkageError
+java/lang/Long
+java/lang/Long$LongCache
+java/lang/Math
+java/lang/NoClassDefFoundError
+java/lang/NoSuchFieldException
+java/lang/NoSuchMethodError
+java/lang/NoSuchMethodException
+java/lang/NullPointerException
+java/lang/Number
+java/lang/NumberFormatException
+java/lang/Object
+java/lang/OutOfMemoryError
+java/lang/Package
+java/lang/Process
+java/lang/ProcessBuilder
+java/lang/ProcessBuilder$NullInputStream
+java/lang/ProcessBuilder$NullOutputStream
+java/lang/ProcessEnvironment
+java/lang/ProcessEnvironment$ExternalData
+java/lang/ProcessEnvironment$StringEnvironment
+java/lang/ProcessEnvironment$Value
+java/lang/ProcessEnvironment$Variable
+java/lang/ProcessImpl
+java/lang/Readable
+java/lang/ReflectiveOperationException
+java/lang/Runnable
+java/lang/Runtime
+java/lang/RuntimeException
+java/lang/RuntimePermission
+java/lang/SecurityException
+java/lang/SecurityManager
+java/lang/Short
+java/lang/Short$ShortCache
+java/lang/Shutdown
+java/lang/Shutdown$Lock
+java/lang/StackOverflowError
+java/lang/StackTraceElement
+java/lang/StrictMath
+java/lang/String
+java/lang/String$CaseInsensitiveComparator
+java/lang/StringBuffer
+java/lang/StringBuilder
+java/lang/StringCoding
+java/lang/StringCoding$StringDecoder
+java/lang/StringCoding$StringEncoder
+java/lang/StringIndexOutOfBoundsException
+java/lang/System
+java/lang/System$2
+java/lang/SystemClassLoaderAction
+java/lang/Terminator
+java/lang/Terminator$1
+java/lang/Thread
+java/lang/Thread$UncaughtExceptionHandler
+java/lang/ThreadDeath
+java/lang/ThreadGroup
+java/lang/ThreadLocal
+java/lang/ThreadLocal$ThreadLocalMap
+java/lang/ThreadLocal$ThreadLocalMap$Entry
+java/lang/Throwable
+java/lang/Throwable$PrintStreamOrWriter
+java/lang/Throwable$WrappedPrintStream
+java/lang/Throwable$WrappedPrintWriter
+java/lang/UNIXProcess
+java/lang/UNIXProcess$1
+java/lang/UNIXProcess$2
+java/lang/UNIXProcess$3
+java/lang/UNIXProcess$4
+java/lang/UNIXProcess$LaunchMechanism
+java/lang/UNIXProcess$ProcessPipeInputStream
+java/lang/UNIXProcess$ProcessPipeOutputStream
+java/lang/UNIXProcess$ProcessReaperThreadFactory
+java/lang/UNIXProcess$ProcessReaperThreadFactory$1
+java/lang/UnsatisfiedLinkError
+java/lang/UnsupportedOperationException
+java/lang/VirtualMachineError
+java/lang/Void
+java/lang/annotation/Annotation
+java/lang/invoke/CallSite
+java/lang/invoke/ConstantCallSite
+java/lang/invoke/DirectMethodHandle
+java/lang/invoke/Invokers
+java/lang/invoke/LambdaForm
+java/lang/invoke/LambdaForm$NamedFunction
+java/lang/invoke/MagicLambdaImpl
+java/lang/invoke/MemberName
+java/lang/invoke/MemberName$Factory
+java/lang/invoke/MethodHandle
+java/lang/invoke/MethodHandleImpl
+java/lang/invoke/MethodHandleNatives
+java/lang/invoke/MethodHandleStatics
+java/lang/invoke/MethodHandleStatics$1
+java/lang/invoke/MethodType
+java/lang/invoke/MethodType$ConcurrentWeakInternSet
+java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry
+java/lang/invoke/MethodTypeForm
+java/lang/invoke/MutableCallSite
+java/lang/invoke/VolatileCallSite
+java/lang/ref/FinalReference
+java/lang/ref/Finalizer
+java/lang/ref/Finalizer$FinalizerThread
+java/lang/ref/PhantomReference
+java/lang/ref/Reference
+java/lang/ref/Reference$Lock
+java/lang/ref/Reference$ReferenceHandler
+java/lang/ref/ReferenceQueue
+java/lang/ref/ReferenceQueue$Lock
+java/lang/ref/ReferenceQueue$Null
+java/lang/ref/SoftReference
+java/lang/ref/WeakReference
+java/lang/reflect/AccessibleObject
+java/lang/reflect/AnnotatedElement
+java/lang/reflect/Array
+java/lang/reflect/Constructor
+java/lang/reflect/Executable
+java/lang/reflect/Field
+java/lang/reflect/GenericDeclaration
+java/lang/reflect/InvocationHandler
+java/lang/reflect/InvocationTargetException
+java/lang/reflect/Member
+java/lang/reflect/Method
+java/lang/reflect/Modifier
+java/lang/reflect/Parameter
+java/lang/reflect/Proxy
+java/lang/reflect/Proxy$KeyFactory
+java/lang/reflect/Proxy$ProxyClassFactory
+java/lang/reflect/ReflectAccess
+java/lang/reflect/ReflectPermission
+java/lang/reflect/Type
+java/lang/reflect/WeakCache
+java/net/AbstractPlainSocketImpl
+java/net/AbstractPlainSocketImpl$1
+java/net/Authenticator
+java/net/ConnectException
+java/net/DefaultInterface
+java/net/HttpURLConnection
+java/net/Inet4Address
+java/net/Inet6Address
+java/net/Inet6Address$Inet6AddressHolder
+java/net/Inet6AddressImpl
+java/net/InetAddress
+java/net/InetAddress$1
+java/net/InetAddress$2
+java/net/InetAddress$Cache
+java/net/InetAddress$Cache$Type
+java/net/InetAddress$InetAddressHolder
+java/net/InetAddressImpl
+java/net/InetAddressImplFactory
+java/net/InetSocketAddress
+java/net/InetSocketAddress$InetSocketAddressHolder
+java/net/InterfaceAddress
+java/net/JarURLConnection
+java/net/MalformedURLException
+java/net/NetworkInterface
+java/net/NetworkInterface$1
+java/net/NetworkInterface$2
+java/net/Parts
+java/net/PlainSocketImpl
+java/net/Proxy
+java/net/Proxy$Type
+java/net/ProxySelector
+java/net/ServerSocket
+java/net/Socket
+java/net/SocketAddress
+java/net/SocketException
+java/net/SocketImpl
+java/net/SocketOptions
+java/net/SocksConsts
+java/net/SocksSocketImpl
+java/net/SocksSocketImpl$3
+java/net/URI
+java/net/URI$Parser
+java/net/URL
+java/net/URLClassLoader
+java/net/URLClassLoader$1
+java/net/URLClassLoader$2
+java/net/URLClassLoader$3
+java/net/URLClassLoader$3$1
+java/net/URLClassLoader$7
+java/net/URLConnection
+java/net/URLStreamHandler
+java/net/URLStreamHandlerFactory
+java/nio/Bits
+java/nio/Bits$1
+java/nio/Buffer
+java/nio/ByteBuffer
+java/nio/ByteBufferAsIntBufferB
+java/nio/ByteBufferAsShortBufferB
+java/nio/ByteOrder
+java/nio/CharBuffer
+java/nio/DirectByteBuffer
+java/nio/DirectByteBuffer$Deallocator
+java/nio/DirectLongBufferU
+java/nio/HeapByteBuffer
+java/nio/HeapCharBuffer
+java/nio/IntBuffer
+java/nio/LongBuffer
+java/nio/MappedByteBuffer
+java/nio/ShortBuffer
+java/nio/channels/ByteChannel
+java/nio/channels/Channel
+java/nio/channels/FileChannel
+java/nio/channels/GatheringByteChannel
+java/nio/channels/InterruptibleChannel
+java/nio/channels/ReadableByteChannel
+java/nio/channels/ScatteringByteChannel
+java/nio/channels/SeekableByteChannel
+java/nio/channels/WritableByteChannel
+java/nio/channels/spi/AbstractInterruptibleChannel
+java/nio/channels/spi/AbstractInterruptibleChannel$1
+java/nio/charset/Charset
+java/nio/charset/CharsetDecoder
+java/nio/charset/CharsetEncoder
+java/nio/charset/CoderResult
+java/nio/charset/CoderResult$1
+java/nio/charset/CoderResult$2
+java/nio/charset/CoderResult$Cache
+java/nio/charset/CodingErrorAction
+java/nio/charset/StandardCharsets
+java/nio/charset/spi/CharsetProvider
+java/nio/file/Path
+java/nio/file/Watchable
+java/nio/file/attribute/FileAttribute
+java/rmi/MarshalledObject
+java/rmi/Remote
+java/security/AccessControlContext
+java/security/AccessController
+java/security/AllPermission
+java/security/AllPermissionCollection
+java/security/BasicPermission
+java/security/BasicPermissionCollection
+java/security/CodeSigner
+java/security/CodeSource
+java/security/Guard
+java/security/Permission
+java/security/PermissionCollection
+java/security/Permissions
+java/security/Principal
+java/security/PrivilegedAction
+java/security/PrivilegedActionException
+java/security/PrivilegedExceptionAction
+java/security/ProtectionDomain
+java/security/ProtectionDomain$1
+java/security/ProtectionDomain$3
+java/security/ProtectionDomain$Key
+java/security/SecureClassLoader
+java/security/UnresolvedPermission
+java/security/cert/Certificate
+java/text/AttributedCharacterIterator
+java/text/AttributedCharacterIterator$Attribute
+java/text/AttributedString
+java/text/AttributedString$AttributedStringIterator
+java/text/CharacterIterator
+java/text/FieldPosition
+java/text/Format
+java/text/Format$Field
 java/text/MessageFormat
 java/text/MessageFormat$Field
-java/text/Format$Field
-java/lang/CloneNotSupportedException
-sun/reflect/MethodAccessorGenerator
-sun/reflect/AccessorGenerator
-sun/reflect/ClassFileConstants
-java/lang/Void
-sun/reflect/ByteVectorFactory
-sun/reflect/ByteVectorImpl
-sun/reflect/ByteVector
-sun/reflect/ClassFileAssembler
-sun/reflect/UTF8
-sun/reflect/Label
-sun/reflect/Label$PatchInfo
-sun/reflect/MethodAccessorGenerator$1
-sun/reflect/ClassDefiner
-sun/reflect/ClassDefiner$1
-sun/reflect/BootstrapConstructorAccessorImpl
-java/awt/event/ActionListener
+java/text/spi/BreakIteratorProvider
+java/text/spi/CollatorProvider
+java/text/spi/DateFormatProvider
+java/text/spi/DateFormatSymbolsProvider
+java/text/spi/DecimalFormatSymbolsProvider
+java/text/spi/NumberFormatProvider
+java/util/AbstractCollection
+java/util/AbstractList
+java/util/AbstractList$Itr
+java/util/AbstractMap
+java/util/AbstractQueue
+java/util/AbstractSequentialList
+java/util/AbstractSet
+java/util/ArrayDeque
+java/util/ArrayList
+java/util/ArrayList$Itr
+java/util/ArrayList$ListItr
+java/util/ArrayList$SubList
+java/util/ArrayList$SubList$1
+java/util/Arrays
+java/util/Arrays$ArrayList
+java/util/Arrays$LegacyMergeSort
+java/util/BitSet
+java/util/Collection
+java/util/Collections
+java/util/Collections$EmptyEnumeration
+java/util/Collections$EmptyList
+java/util/Collections$EmptyMap
+java/util/Collections$EmptySet
+java/util/Collections$SetFromMap
+java/util/Collections$SynchronizedCollection
+java/util/Collections$SynchronizedMap
+java/util/Collections$SynchronizedSet
+java/util/Collections$UnmodifiableCollection
+java/util/Collections$UnmodifiableCollection$1
+java/util/Collections$UnmodifiableList
+java/util/Collections$UnmodifiableMap
+java/util/Collections$UnmodifiableRandomAccessList
+java/util/Collections$UnmodifiableSet
+java/util/Collections$UnmodifiableSortedSet
+java/util/ComparableTimSort
+java/util/Comparator
+java/util/Date
+java/util/Deque
+java/util/Dictionary
+java/util/Enumeration
+java/util/EventListener
+java/util/EventListenerProxy
+java/util/EventObject
+java/util/HashMap
+java/util/HashMap$EntryIterator
+java/util/HashMap$EntrySet
+java/util/HashMap$HashIterator
+java/util/HashMap$KeyIterator
+java/util/HashMap$KeySet
+java/util/HashMap$Node
+java/util/HashMap$TreeNode
+java/util/HashMap$ValueIterator
+java/util/HashMap$Values
+java/util/HashSet
+java/util/Hashtable
+java/util/Hashtable$Entry
+java/util/Hashtable$EntrySet
+java/util/Hashtable$Enumerator
+java/util/Hashtable$ValueCollection
+java/util/IdentityHashMap
+java/util/IdentityHashMap$IdentityHashMapIterator
+java/util/IdentityHashMap$KeyIterator
+java/util/IdentityHashMap$KeySet
+java/util/Iterator
+java/util/LinkedHashMap
+java/util/LinkedHashMap$Entry
+java/util/LinkedHashMap$LinkedEntryIterator
+java/util/LinkedHashMap$LinkedEntrySet
+java/util/LinkedHashMap$LinkedHashIterator
+java/util/LinkedHashMap$LinkedKeyIterator
+java/util/LinkedHashMap$LinkedKeySet
+java/util/LinkedHashSet
+java/util/LinkedList
+java/util/LinkedList$ListItr
+java/util/LinkedList$Node
+java/util/List
+java/util/ListIterator
+java/util/ListResourceBundle
+java/util/Locale
+java/util/Locale$1
+java/util/Locale$Cache
+java/util/Locale$Category
+java/util/Locale$LocaleKey
+java/util/Map
+java/util/Map$Entry
+java/util/MissingResourceException
+java/util/NavigableMap
+java/util/NavigableSet
+java/util/Objects
+java/util/PriorityQueue
+java/util/Properties
+java/util/Properties$LineReader
+java/util/PropertyResourceBundle
+java/util/Queue
+java/util/Random
+java/util/RandomAccess
+java/util/ResourceBundle
+java/util/ResourceBundle$1
+java/util/ResourceBundle$BundleReference
+java/util/ResourceBundle$CacheKey
+java/util/ResourceBundle$CacheKeyReference
+java/util/ResourceBundle$Control
+java/util/ResourceBundle$Control$1
+java/util/ResourceBundle$Control$CandidateListCache
+java/util/ResourceBundle$LoaderReference
+java/util/ResourceBundle$RBClassLoader
+java/util/ResourceBundle$RBClassLoader$1
+java/util/ResourceBundle$SingleFormatControl
+java/util/ServiceLoader
+java/util/ServiceLoader$1
+java/util/ServiceLoader$LazyIterator
+java/util/Set
+java/util/SortedMap
+java/util/SortedSet
+java/util/Stack
+java/util/StringTokenizer
+java/util/TimSort
+java/util/TimeZone
+java/util/TimeZone$1
+java/util/TreeMap
+java/util/TreeMap$Entry
+java/util/TreeMap$KeyIterator
+java/util/TreeMap$KeySet
+java/util/TreeMap$PrivateEntryIterator
+java/util/TreeSet
+java/util/Vector
+java/util/Vector$1
+java/util/Vector$Itr
+java/util/Vector$ListItr
+java/util/WeakHashMap
+java/util/WeakHashMap$Entry
+java/util/WeakHashMap$HashIterator
+java/util/WeakHashMap$KeyIterator
+java/util/WeakHashMap$KeySet
+java/util/concurrent/AbstractExecutorService
+java/util/concurrent/BlockingQueue
+java/util/concurrent/ConcurrentHashMap
+java/util/concurrent/ConcurrentHashMap$BaseIterator
+java/util/concurrent/ConcurrentHashMap$CollectionView
+java/util/concurrent/ConcurrentHashMap$CounterCell
+java/util/concurrent/ConcurrentHashMap$EntrySetView
+java/util/concurrent/ConcurrentHashMap$ForwardingNode
+java/util/concurrent/ConcurrentHashMap$KeyIterator
+java/util/concurrent/ConcurrentHashMap$KeySetView
+java/util/concurrent/ConcurrentHashMap$Node
+java/util/concurrent/ConcurrentHashMap$Segment
+java/util/concurrent/ConcurrentHashMap$Traverser
+java/util/concurrent/ConcurrentHashMap$ValuesView
+java/util/concurrent/ConcurrentMap
+java/util/concurrent/CopyOnWriteArrayList
+java/util/concurrent/DelayQueue
+java/util/concurrent/Delayed
+java/util/concurrent/Executor
+java/util/concurrent/ExecutorService
+java/util/concurrent/Executors
+java/util/concurrent/RejectedExecutionHandler
+java/util/concurrent/SynchronousQueue
+java/util/concurrent/SynchronousQueue$TransferStack
+java/util/concurrent/SynchronousQueue$TransferStack$SNode
+java/util/concurrent/SynchronousQueue$Transferer
+java/util/concurrent/ThreadFactory
+java/util/concurrent/ThreadPoolExecutor
+java/util/concurrent/ThreadPoolExecutor$AbortPolicy
+java/util/concurrent/ThreadPoolExecutor$Worker
+java/util/concurrent/TimeUnit
+java/util/concurrent/TimeUnit$1
+java/util/concurrent/TimeUnit$2
+java/util/concurrent/TimeUnit$3
+java/util/concurrent/TimeUnit$4
+java/util/concurrent/TimeUnit$5
+java/util/concurrent/TimeUnit$6
+java/util/concurrent/TimeUnit$7
+java/util/concurrent/atomic/AtomicBoolean
+java/util/concurrent/atomic/AtomicInteger
+java/util/concurrent/atomic/AtomicLong
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1
+java/util/concurrent/locks/AbstractOwnableSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
+java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
+java/util/concurrent/locks/Condition
+java/util/concurrent/locks/Lock
+java/util/concurrent/locks/LockSupport
+java/util/concurrent/locks/ReadWriteLock
+java/util/concurrent/locks/ReentrantLock
+java/util/concurrent/locks/ReentrantLock$NonfairSync
+java/util/concurrent/locks/ReentrantLock$Sync
+java/util/concurrent/locks/ReentrantReadWriteLock
+java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync
+java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock
+java/util/concurrent/locks/ReentrantReadWriteLock$Sync
+java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter
+java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock
+java/util/function/BiFunction
+java/util/jar/Attributes
+java/util/jar/Attributes$Name
+java/util/jar/JarEntry
+java/util/jar/JarFile
+java/util/jar/JarFile$JarEntryIterator
+java/util/jar/JarFile$JarFileEntry
+java/util/jar/JarVerifier
+java/util/jar/JarVerifier$3
+java/util/jar/JavaUtilJarAccessImpl
+java/util/jar/Manifest
+java/util/jar/Manifest$FastInputStream
+java/util/logging/Handler
+java/util/logging/Level
+java/util/logging/Level$KnownLevel
+java/util/logging/LogManager
+java/util/logging/LogManager$1
+java/util/logging/LogManager$2
+java/util/logging/LogManager$3
+java/util/logging/LogManager$5
+java/util/logging/LogManager$Cleaner
+java/util/logging/LogManager$LogNode
+java/util/logging/LogManager$LoggerContext
+java/util/logging/LogManager$LoggerContext$1
+java/util/logging/LogManager$LoggerWeakRef
+java/util/logging/LogManager$RootLogger
+java/util/logging/LogManager$SystemLoggerContext
+java/util/logging/Logger
+java/util/logging/Logger$1
+java/util/logging/LoggingPermission
+java/util/logging/LoggingProxyImpl
+java/util/spi/CalendarDataProvider
+java/util/spi/CurrencyNameProvider
+java/util/spi/LocaleNameProvider
+java/util/spi/LocaleServiceProvider
+java/util/spi/ResourceBundleControlProvider
+java/util/spi/TimeZoneNameProvider
+java/util/zip/CRC32
+java/util/zip/Checksum
+java/util/zip/Inflater
+java/util/zip/InflaterInputStream
+java/util/zip/ZStreamRef
+java/util/zip/ZipCoder
+java/util/zip/ZipConstants
+java/util/zip/ZipEntry
+java/util/zip/ZipException
+java/util/zip/ZipFile
+java/util/zip/ZipFile$1
+java/util/zip/ZipFile$ZipEntryIterator
+java/util/zip/ZipFile$ZipFileInflaterInputStream
+java/util/zip/ZipFile$ZipFileInputStream
+java/util/zip/ZipUtils
+javax/accessibility/Accessible
+javax/accessibility/AccessibleContext
+javax/swing/AbstractAction
+javax/swing/AbstractButton
+javax/swing/AbstractButton$Handler
+javax/swing/AbstractListModel
+javax/swing/Action
+javax/swing/ActionMap
+javax/swing/AncestorNotifier
+javax/swing/ArrayTable
+javax/swing/Autoscroller
+javax/swing/BorderFactory
+javax/swing/BoundedRangeModel
+javax/swing/Box
+javax/swing/Box$Filler
+javax/swing/BoxLayout
+javax/swing/ButtonGroup
+javax/swing/ButtonModel
+javax/swing/CellRendererPane
+javax/swing/ClientPropertyKey
+javax/swing/ClientPropertyKey$1
+javax/swing/ComboBoxEditor
+javax/swing/ComboBoxModel
+javax/swing/ComponentInputMap
+javax/swing/DefaultBoundedRangeModel
+javax/swing/DefaultButtonModel
+javax/swing/DefaultComboBoxModel
+javax/swing/DefaultListCellRenderer
+javax/swing/DefaultListCellRenderer$UIResource
+javax/swing/DefaultListSelectionModel
+javax/swing/DefaultSingleSelectionModel
+javax/swing/DropMode
+javax/swing/FocusManager
+javax/swing/GrayFilter
+javax/swing/Icon
+javax/swing/ImageIcon
+javax/swing/ImageIcon$1
+javax/swing/ImageIcon$2
+javax/swing/ImageIcon$2$1
+javax/swing/ImageIcon$3
+javax/swing/InputMap
+javax/swing/InternalFrameFocusTraversalPolicy
+javax/swing/JButton
+javax/swing/JCheckBox
+javax/swing/JCheckBoxMenuItem
+javax/swing/JComboBox
+javax/swing/JComboBox$1
+javax/swing/JComboBox$KeySelectionManager
+javax/swing/JComponent
+javax/swing/JComponent$1
+javax/swing/JComponent$2
+javax/swing/JDialog
+javax/swing/JEditorPane
+javax/swing/JFrame
+javax/swing/JInternalFrame
+javax/swing/JLabel
+javax/swing/JLayer
+javax/swing/JLayeredPane
+javax/swing/JList
+javax/swing/JMenu
+javax/swing/JMenu$MenuChangeListener
+javax/swing/JMenu$WinListener
+javax/swing/JMenuBar
+javax/swing/JMenuItem
+javax/swing/JMenuItem$MenuItemFocusListener
+javax/swing/JPanel
+javax/swing/JPasswordField
+javax/swing/JPopupMenu
+javax/swing/JPopupMenu$Separator
+javax/swing/JRadioButton
+javax/swing/JRadioButtonMenuItem
+javax/swing/JRootPane
+javax/swing/JRootPane$1
+javax/swing/JRootPane$RootLayout
+javax/swing/JScrollBar
+javax/swing/JScrollBar$ModelListener
+javax/swing/JScrollPane
+javax/swing/JScrollPane$ScrollBar
+javax/swing/JSeparator
+javax/swing/JSplitPane
+javax/swing/JTextArea
+javax/swing/JTextField
+javax/swing/JTextField$NotifyAction
+javax/swing/JTextField$ScrollRepainter
+javax/swing/JToggleButton
+javax/swing/JToggleButton$ToggleButtonModel
+javax/swing/JToolBar
+javax/swing/JToolBar$DefaultToolBarLayout
+javax/swing/JToolBar$Separator
+javax/swing/JViewport
+javax/swing/JViewport$ViewListener
+javax/swing/JWindow
+javax/swing/KeyStroke
+javax/swing/KeyboardManager
+javax/swing/KeyboardManager$ComponentKeyStrokePair
+javax/swing/LayoutComparator
+javax/swing/LayoutFocusTraversalPolicy
+javax/swing/ListCellRenderer
+javax/swing/ListModel
+javax/swing/ListSelectionModel
+javax/swing/LookAndFeel
+javax/swing/MenuElement
+javax/swing/MenuSelectionManager
+javax/swing/MultiUIDefaults
+javax/swing/MutableComboBoxModel
+javax/swing/PopupFactory
+javax/swing/RepaintManager
+javax/swing/RepaintManager$2
+javax/swing/RepaintManager$3
+javax/swing/RepaintManager$DisplayChangedHandler
+javax/swing/RepaintManager$PaintManager
+javax/swing/RepaintManager$ProcessingRunnable
+javax/swing/RootPaneContainer
+javax/swing/ScrollPaneConstants
+javax/swing/ScrollPaneLayout
+javax/swing/ScrollPaneLayout$UIResource
+javax/swing/Scrollable
+javax/swing/SingleSelectionModel
+javax/swing/SizeRequirements
+javax/swing/SortingFocusTraversalPolicy
+javax/swing/SwingConstants
+javax/swing/SwingContainerOrderFocusTraversalPolicy
+javax/swing/SwingDefaultFocusTraversalPolicy
+javax/swing/SwingHeavyWeight
+javax/swing/SwingPaintEventDispatcher
+javax/swing/SwingUtilities
+javax/swing/SwingUtilities$SharedOwnerFrame
 javax/swing/Timer
 javax/swing/Timer$DoPostEvent
 javax/swing/TimerQueue
 javax/swing/TimerQueue$1
+javax/swing/TimerQueue$DelayedTimer
 javax/swing/ToolTipManager
-java/awt/event/MouseAdapter
+javax/swing/ToolTipManager$AccessibilityKeyListener
+javax/swing/ToolTipManager$MoveBeforeEnterListener
 javax/swing/ToolTipManager$insideTimerAction
 javax/swing/ToolTipManager$outsideTimerAction
 javax/swing/ToolTipManager$stillInsideTimerAction
-javax/swing/ToolTipManager$Actions
-sun/swing/UIAction
-javax/swing/Action
-javax/swing/ToolTipManager$MoveBeforeEnterListener
-java/awt/event/MouseMotionAdapter
-java/util/Hashtable$ValueCollection
-javax/swing/event/CaretListener
-javax/swing/JToolBar
-javax/swing/JSplitPane
-javax/swing/border/Border
-javax/swing/JToggleButton
-javax/swing/border/EmptyBorder
+javax/swing/TransferHandler
+javax/swing/TransferHandler$DropHandler
+javax/swing/TransferHandler$HasGetTransferHandler
+javax/swing/TransferHandler$SwingDropTarget
+javax/swing/TransferHandler$TransferAction
+javax/swing/TransferHandler$TransferAction$1
+javax/swing/TransferHandler$TransferAction$2
+javax/swing/TransferHandler$TransferSupport
+javax/swing/UIDefaults
+javax/swing/UIDefaults$ActiveValue
+javax/swing/UIDefaults$LazyInputMap
+javax/swing/UIDefaults$LazyValue
+javax/swing/UIDefaults$TextAndMnemonicHashMap
+javax/swing/UIManager
+javax/swing/UIManager$1
+javax/swing/UIManager$2
+javax/swing/UIManager$LAFState
+javax/swing/UIManager$LookAndFeelInfo
+javax/swing/ViewportLayout
+javax/swing/WindowConstants
 javax/swing/border/AbstractBorder
-javax/swing/DefaultButtonModel
-javax/swing/ButtonModel
-javax/swing/AbstractButton$Handler
-javax/swing/event/ChangeListener
-java/awt/event/ItemListener
-javax/swing/plaf/metal/MetalButtonUI
-javax/swing/plaf/basic/BasicButtonUI
-javax/swing/plaf/ButtonUI
-javax/swing/plaf/metal/MetalBorders
-javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
+javax/swing/border/BevelBorder
+javax/swing/border/Border
 javax/swing/border/CompoundBorder
-javax/swing/plaf/metal/MetalBorders$ButtonBorder
-javax/swing/plaf/basic/BasicBorders$MarginBorder
-javax/swing/plaf/basic/BasicButtonListener
-java/awt/AWTEventMulticaster
-java/awt/event/WindowFocusListener
-java/awt/event/WindowStateListener
-java/awt/event/AdjustmentListener
-java/awt/event/TextListener
+javax/swing/border/EmptyBorder
+javax/swing/border/EtchedBorder
+javax/swing/border/LineBorder
+javax/swing/border/MatteBorder
+javax/swing/event/AncestorEvent
 javax/swing/event/AncestorListener
-java/beans/VetoableChangeListener
-javax/swing/ButtonGroup
-javax/swing/JToggleButton$ToggleButtonModel
-javax/swing/plaf/metal/MetalToggleButtonUI
-javax/swing/plaf/basic/BasicToggleButtonUI
-javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder
-java/awt/CardLayout
-javax/swing/Box
-javax/swing/plaf/metal/MetalBorders$TextFieldBorder
-javax/swing/plaf/metal/MetalBorders$Flush3DBorder
-javax/swing/BoxLayout
-javax/swing/JMenuBar
-javax/swing/DefaultSingleSelectionModel
-javax/swing/SingleSelectionModel
-javax/swing/plaf/basic/BasicMenuBarUI
-javax/swing/plaf/MenuBarUI
-javax/swing/plaf/basic/DefaultMenuLayout
-javax/swing/plaf/metal/MetalBorders$MenuBarBorder
-javax/swing/plaf/basic/BasicMenuBarUI$Handler
-javax/swing/KeyboardManager
-javax/swing/event/MenuEvent
-javax/swing/JMenu$MenuChangeListener
-javax/swing/JMenuItem$MenuItemFocusListener
-javax/swing/plaf/basic/BasicMenuUI
-javax/swing/plaf/basic/BasicMenuItemUI
-javax/swing/plaf/MenuItemUI
-javax/swing/plaf/metal/MetalBorders$MenuItemBorder
-javax/swing/plaf/metal/MetalIconFactory
-javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon
-javax/swing/plaf/basic/BasicMenuUI$Handler
-javax/swing/event/MenuKeyListener
-javax/swing/plaf/basic/BasicMenuItemUI$Handler
-javax/swing/event/MenuDragMouseListener
-javax/swing/event/MouseInputListener
+javax/swing/event/CaretEvent
+javax/swing/event/CaretListener
 javax/swing/event/ChangeEvent
-java/awt/event/ContainerEvent
-javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon
-javax/swing/JPopupMenu
-javax/swing/plaf/basic/BasicPopupMenuUI
-javax/swing/plaf/PopupMenuUI
-javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper
-java/awt/event/AWTEventListenerProxy
-java/awt/Toolkit$SelectiveAWTEventListener
-java/awt/Toolkit$ToolkitEventMulticaster
-javax/swing/plaf/basic/BasicLookAndFeel$1
-javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
-javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
+javax/swing/event/ChangeListener
+javax/swing/event/DocumentEvent
+javax/swing/event/DocumentEvent$ElementChange
+javax/swing/event/DocumentEvent$EventType
+javax/swing/event/DocumentListener
+javax/swing/event/EventListenerList
+javax/swing/event/ListDataListener
+javax/swing/event/ListSelectionListener
+javax/swing/event/MenuDragMouseListener
+javax/swing/event/MenuEvent
+javax/swing/event/MenuKeyListener
+javax/swing/event/MenuListener
+javax/swing/event/MouseInputAdapter
+javax/swing/event/MouseInputListener
 javax/swing/event/PopupMenuListener
+javax/swing/event/UndoableEditEvent
+javax/swing/event/UndoableEditListener
+javax/swing/plaf/ActionMapUIResource
+javax/swing/plaf/BorderUIResource
+javax/swing/plaf/BorderUIResource$EmptyBorderUIResource
+javax/swing/plaf/BorderUIResource$LineBorderUIResource
+javax/swing/plaf/ButtonUI
+javax/swing/plaf/ColorUIResource
+javax/swing/plaf/ComboBoxUI
+javax/swing/plaf/ComponentInputMapUIResource
+javax/swing/plaf/ComponentUI
+javax/swing/plaf/DimensionUIResource
+javax/swing/plaf/FontUIResource
+javax/swing/plaf/IconUIResource
+javax/swing/plaf/InputMapUIResource
+javax/swing/plaf/InsetsUIResource
+javax/swing/plaf/LabelUI
+javax/swing/plaf/ListUI
+javax/swing/plaf/MenuBarUI
+javax/swing/plaf/MenuItemUI
+javax/swing/plaf/PanelUI
+javax/swing/plaf/PopupMenuUI
+javax/swing/plaf/RootPaneUI
+javax/swing/plaf/ScrollBarUI
+javax/swing/plaf/ScrollPaneUI
+javax/swing/plaf/SeparatorUI
+javax/swing/plaf/TextUI
+javax/swing/plaf/ToolBarUI
+javax/swing/plaf/UIResource
+javax/swing/plaf/ViewportUI
+javax/swing/plaf/basic/BasicBorders$ButtonBorder
+javax/swing/plaf/basic/BasicBorders$MarginBorder
+javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
+javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder
+javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder
+javax/swing/plaf/basic/BasicButtonListener
+javax/swing/plaf/basic/BasicButtonUI
+javax/swing/plaf/basic/BasicComboBoxEditor
+javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField
+javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
+javax/swing/plaf/basic/BasicComboBoxUI
+javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
+javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager
+javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler
+javax/swing/plaf/basic/BasicComboBoxUI$Handler
+javax/swing/plaf/basic/BasicComboPopup
+javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass
+javax/swing/plaf/basic/BasicComboPopup$Handler
+javax/swing/plaf/basic/BasicGraphicsUtils
+javax/swing/plaf/basic/BasicHTML
+javax/swing/plaf/basic/BasicIconFactory
+javax/swing/plaf/basic/BasicIconFactory$MenuItemArrowIcon
+javax/swing/plaf/basic/BasicIconFactory$MenuItemCheckIcon
+javax/swing/plaf/basic/BasicLabelUI
+javax/swing/plaf/basic/BasicListUI
+javax/swing/plaf/basic/BasicListUI$FocusHandler
+javax/swing/plaf/basic/BasicListUI$Handler
+javax/swing/plaf/basic/BasicListUI$ListTransferHandler
+javax/swing/plaf/basic/BasicListUI$MouseInputHandler
+javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicLookAndFeel
+javax/swing/plaf/basic/BasicLookAndFeel$1
+javax/swing/plaf/basic/BasicLookAndFeel$2
+javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper
+javax/swing/plaf/basic/BasicMenuBarUI
+javax/swing/plaf/basic/BasicMenuBarUI$Handler
+javax/swing/plaf/basic/BasicMenuItemUI
+javax/swing/plaf/basic/BasicMenuItemUI$Handler
+javax/swing/plaf/basic/BasicMenuUI
+javax/swing/plaf/basic/BasicMenuUI$ChangeHandler
+javax/swing/plaf/basic/BasicMenuUI$Handler
+javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler
+javax/swing/plaf/basic/BasicPanelUI
+javax/swing/plaf/basic/BasicPopupMenuUI
 javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener
-javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber
-javax/swing/MenuSelectionManager
+javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
 javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper
 javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1
-java/awt/event/FocusAdapter
-javax/swing/JMenu$WinListener
-java/awt/event/WindowAdapter
-javax/swing/JPopupMenu$Separator
-javax/swing/JSeparator
-javax/swing/plaf/metal/MetalPopupMenuSeparatorUI
-javax/swing/plaf/metal/MetalSeparatorUI
-javax/swing/plaf/basic/BasicSeparatorUI
-javax/swing/plaf/SeparatorUI
-javax/swing/JComboBox
-javax/swing/event/ListDataListener
-javax/swing/event/CaretEvent
-javax/swing/text/TabExpander
-javax/swing/JScrollBar
-java/awt/Adjustable
-javax/swing/event/MouseInputAdapter
-javax/swing/JScrollBar$ModelListener
-javax/swing/DefaultBoundedRangeModel
-javax/swing/BoundedRangeModel
-javax/swing/plaf/metal/MetalScrollBarUI
-javax/swing/plaf/basic/BasicScrollBarUI
-javax/swing/plaf/ScrollBarUI
-javax/swing/plaf/metal/MetalBumps
-javax/swing/plaf/metal/MetalScrollButton
-javax/swing/plaf/basic/BasicArrowButton
-javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
-javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
-javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
-javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener
-javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
-javax/swing/plaf/basic/BasicScrollBarUI$Handler
-javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
-javax/swing/CellRendererPane
-java/util/HashMap$EntryIterator
-javax/swing/border/MatteBorder
-sun/font/StandardGlyphVector
-java/awt/font/GlyphVector
-sun/font/StandardGlyphVector$GlyphStrike
-sun/font/CoreMetrics
-sun/font/FontLineMetrics
-java/awt/font/LineMetrics
-javax/swing/ComboBoxModel
-javax/swing/ListModel
-javax/swing/ListCellRenderer
-javax/swing/DefaultComboBoxModel
-javax/swing/MutableComboBoxModel
-javax/swing/AbstractListModel
-javax/swing/JComboBox$1
-javax/swing/AncestorNotifier
-javax/swing/plaf/metal/MetalComboBoxUI
-javax/swing/plaf/basic/BasicComboBoxUI
-javax/swing/plaf/ComboBoxUI
-javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager
-javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
-javax/swing/plaf/basic/BasicComboPopup
-javax/swing/plaf/basic/ComboPopup
-javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass
-javax/swing/border/LineBorder
-javax/swing/plaf/basic/BasicComboPopup$1
-javax/swing/JList
-javax/swing/DropMode
-javax/swing/DefaultListSelectionModel
-javax/swing/ListSelectionModel
-javax/swing/plaf/basic/BasicListUI
-javax/swing/plaf/ListUI
-javax/swing/plaf/basic/BasicListUI$ListTransferHandler
-javax/swing/TransferHandler
-javax/swing/TransferHandler$TransferAction
-javax/swing/DefaultListCellRenderer$UIResource
-javax/swing/DefaultListCellRenderer
-javax/swing/TransferHandler$SwingDropTarget
-java/awt/dnd/DropTargetContext
-javax/swing/TransferHandler$DropHandler
-javax/swing/TransferHandler$TransferSupport
-javax/swing/plaf/basic/BasicListUI$Handler
-javax/swing/event/ListSelectionListener
-javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag
-javax/swing/plaf/basic/BasicComboPopup$Handler
-javax/swing/JScrollPane
-javax/swing/ScrollPaneConstants
-javax/swing/ScrollPaneLayout$UIResource
-javax/swing/ScrollPaneLayout
-javax/swing/JViewport
-javax/swing/ViewportLayout
-javax/swing/plaf/basic/BasicViewportUI
-javax/swing/plaf/ViewportUI
-javax/swing/JScrollPane$ScrollBar
-javax/swing/JViewport$ViewListener
-java/awt/event/ComponentAdapter
-javax/swing/plaf/metal/MetalScrollPaneUI
+javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber
+javax/swing/plaf/basic/BasicRootPaneUI
+javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap
 javax/swing/plaf/basic/BasicScrollPaneUI
-javax/swing/plaf/ScrollPaneUI
-javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
 javax/swing/plaf/basic/BasicScrollPaneUI$Handler
-javax/swing/plaf/metal/MetalScrollPaneUI$1
-javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource
-javax/swing/plaf/basic/BasicComboBoxRenderer
-javax/swing/plaf/metal/MetalComboBoxEditor$UIResource
-javax/swing/plaf/metal/MetalComboBoxEditor
-javax/swing/plaf/basic/BasicComboBoxEditor
-javax/swing/ComboBoxEditor
-javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField
-javax/swing/JTextField$NotifyAction
-javax/swing/text/TextAction
-javax/swing/AbstractAction
-javax/swing/text/JTextComponent$MutableCaretEvent
-javax/swing/plaf/metal/MetalTextFieldUI
+javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler
+javax/swing/plaf/basic/BasicSeparatorUI
+javax/swing/plaf/basic/BasicTextAreaUI
 javax/swing/plaf/basic/BasicTextFieldUI
 javax/swing/plaf/basic/BasicTextUI
-javax/swing/text/ViewFactory
-javax/swing/plaf/TextUI
 javax/swing/plaf/basic/BasicTextUI$BasicCursor
+javax/swing/plaf/basic/BasicTextUI$DragListener
+javax/swing/plaf/basic/BasicTextUI$FocusAction
+javax/swing/plaf/basic/BasicTextUI$RootView
+javax/swing/plaf/basic/BasicTextUI$TextActionWrapper
+javax/swing/plaf/basic/BasicTextUI$TextTransferHandler
+javax/swing/plaf/basic/BasicTextUI$TextTransferHandler$TextTransferable
+javax/swing/plaf/basic/BasicTextUI$UpdateHandler
+javax/swing/plaf/basic/BasicToolBarSeparatorUI
+javax/swing/plaf/basic/BasicToolBarUI
+javax/swing/plaf/basic/BasicToolBarUI$Handler
+javax/swing/plaf/basic/BasicTransferable
+javax/swing/plaf/basic/BasicViewportUI
+javax/swing/plaf/basic/ComboPopup
+javax/swing/plaf/basic/DefaultMenuLayout
+javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag
+javax/swing/plaf/basic/LazyActionMap
+javax/swing/plaf/metal/DefaultMetalTheme
+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate
+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1
+javax/swing/plaf/metal/MetalLookAndFeel
+javax/swing/plaf/metal/MetalTheme
+javax/swing/plaf/synth/SynthConstants
+javax/swing/plaf/synth/SynthUI
+javax/swing/text/AbstractDocument
+javax/swing/text/AbstractDocument$1
+javax/swing/text/AbstractDocument$AbstractElement
+javax/swing/text/AbstractDocument$AttributeContext
+javax/swing/text/AbstractDocument$BidiElement
+javax/swing/text/AbstractDocument$BidiRootElement
+javax/swing/text/AbstractDocument$BranchElement
+javax/swing/text/AbstractDocument$Content
+javax/swing/text/AbstractDocument$DefaultDocumentEvent
+javax/swing/text/AbstractDocument$ElementEdit
+javax/swing/text/AbstractDocument$InsertStringResult
+javax/swing/text/AbstractDocument$LeafElement
+javax/swing/text/AttributeSet
+javax/swing/text/AttributeSet$CharacterAttribute
+javax/swing/text/AttributeSet$ColorAttribute
+javax/swing/text/AttributeSet$FontAttribute
+javax/swing/text/AttributeSet$ParagraphAttribute
+javax/swing/text/Caret
+javax/swing/text/DefaultCaret
+javax/swing/text/DefaultCaret$1
+javax/swing/text/DefaultCaret$Handler
 javax/swing/text/DefaultEditorKit
-javax/swing/text/EditorKit
-javax/swing/text/DefaultEditorKit$InsertContentAction
-javax/swing/text/DefaultEditorKit$DeletePrevCharAction
-javax/swing/text/DefaultEditorKit$DeleteNextCharAction
-javax/swing/text/DefaultEditorKit$ReadOnlyAction
-javax/swing/text/DefaultEditorKit$DeleteWordAction
-javax/swing/text/DefaultEditorKit$WritableAction
-javax/swing/text/DefaultEditorKit$CutAction
-javax/swing/text/DefaultEditorKit$CopyAction
-javax/swing/text/DefaultEditorKit$PasteAction
-javax/swing/text/DefaultEditorKit$VerticalPageAction
-javax/swing/text/DefaultEditorKit$PageAction
-javax/swing/text/DefaultEditorKit$InsertBreakAction
 javax/swing/text/DefaultEditorKit$BeepAction
-javax/swing/text/DefaultEditorKit$NextVisualPositionAction
-javax/swing/text/DefaultEditorKit$BeginWordAction
-javax/swing/text/DefaultEditorKit$EndWordAction
-javax/swing/text/DefaultEditorKit$PreviousWordAction
-javax/swing/text/DefaultEditorKit$NextWordAction
-javax/swing/text/DefaultEditorKit$BeginLineAction
-javax/swing/text/DefaultEditorKit$EndLineAction
-javax/swing/text/DefaultEditorKit$BeginParagraphAction
-javax/swing/text/DefaultEditorKit$EndParagraphAction
 javax/swing/text/DefaultEditorKit$BeginAction
-javax/swing/text/DefaultEditorKit$EndAction
+javax/swing/text/DefaultEditorKit$BeginLineAction
+javax/swing/text/DefaultEditorKit$BeginParagraphAction
+javax/swing/text/DefaultEditorKit$BeginWordAction
+javax/swing/text/DefaultEditorKit$CopyAction
+javax/swing/text/DefaultEditorKit$CutAction
 javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction
+javax/swing/text/DefaultEditorKit$DeleteNextCharAction
+javax/swing/text/DefaultEditorKit$DeletePrevCharAction
+javax/swing/text/DefaultEditorKit$DeleteWordAction
+javax/swing/text/DefaultEditorKit$DumpModelAction
+javax/swing/text/DefaultEditorKit$EndAction
+javax/swing/text/DefaultEditorKit$EndLineAction
+javax/swing/text/DefaultEditorKit$EndParagraphAction
+javax/swing/text/DefaultEditorKit$EndWordAction
+javax/swing/text/DefaultEditorKit$InsertBreakAction
+javax/swing/text/DefaultEditorKit$InsertContentAction
 javax/swing/text/DefaultEditorKit$InsertTabAction
-javax/swing/text/DefaultEditorKit$SelectWordAction
+javax/swing/text/DefaultEditorKit$NextVisualPositionAction
+javax/swing/text/DefaultEditorKit$NextWordAction
+javax/swing/text/DefaultEditorKit$PageAction
+javax/swing/text/DefaultEditorKit$PasteAction
+javax/swing/text/DefaultEditorKit$PreviousWordAction
+javax/swing/text/DefaultEditorKit$ReadOnlyAction
+javax/swing/text/DefaultEditorKit$SelectAllAction
 javax/swing/text/DefaultEditorKit$SelectLineAction
 javax/swing/text/DefaultEditorKit$SelectParagraphAction
-javax/swing/text/DefaultEditorKit$SelectAllAction
-javax/swing/text/DefaultEditorKit$UnselectAction
+javax/swing/text/DefaultEditorKit$SelectWordAction
 javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction
-javax/swing/text/DefaultEditorKit$DumpModelAction
-javax/swing/plaf/basic/BasicTextUI$TextTransferHandler
-javax/swing/text/Position$Bias
-javax/swing/plaf/basic/BasicTextUI$RootView
-javax/swing/text/View
-javax/swing/plaf/basic/BasicTextUI$UpdateHandler
-javax/swing/event/DocumentListener
-javax/swing/plaf/basic/BasicTextUI$DragListener
-javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
-javax/swing/plaf/basic/BasicTextUI$BasicCaret
-javax/swing/text/DefaultCaret
-javax/swing/text/Caret
-javax/swing/text/DefaultCaret$Handler
-java/awt/datatransfer/ClipboardOwner
-javax/swing/plaf/basic/BasicTextUI$BasicHighlighter
+javax/swing/text/DefaultEditorKit$UnselectAction
+javax/swing/text/DefaultEditorKit$VerticalPageAction
+javax/swing/text/DefaultEditorKit$WritableAction
 javax/swing/text/DefaultHighlighter
-javax/swing/text/LayeredHighlighter
+javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
+javax/swing/text/DefaultHighlighter$HighlightInfo
+javax/swing/text/DefaultHighlighter$LayeredHighlightInfo
+javax/swing/text/DefaultHighlighter$SafeDamager
+javax/swing/text/Document
+javax/swing/text/EditorKit
+javax/swing/text/Element
+javax/swing/text/FieldView
+javax/swing/text/GapContent
+javax/swing/text/GapContent$InsertUndo
+javax/swing/text/GapContent$MarkData
+javax/swing/text/GapContent$MarkVector
+javax/swing/text/GapContent$StickyPosition
+javax/swing/text/GapVector
 javax/swing/text/Highlighter
 javax/swing/text/Highlighter$Highlight
-javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
-javax/swing/text/LayeredHighlighter$LayerPainter
 javax/swing/text/Highlighter$HighlightPainter
-javax/swing/text/DefaultHighlighter$SafeDamager
-javax/swing/text/FieldView
-javax/swing/text/PlainView
+javax/swing/text/JTextComponent
+javax/swing/text/JTextComponent$1
 javax/swing/text/JTextComponent$DefaultKeymap
-javax/swing/text/Keymap
-javax/swing/text/JTextComponent$KeymapWrapper
 javax/swing/text/JTextComponent$KeymapActionMap
-javax/swing/plaf/basic/BasicTextUI$FocusAction
-javax/swing/plaf/basic/BasicTextUI$TextActionWrapper
-javax/swing/JTextArea
-javax/swing/JEditorPane
-javax/swing/JTextField$ScrollRepainter
-javax/swing/plaf/metal/MetalComboBoxEditor$1
-javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder
-javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
-javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler
-javax/swing/plaf/basic/BasicComboBoxUI$Handler
-javax/swing/plaf/metal/MetalComboBoxButton
-javax/swing/plaf/metal/MetalComboBoxIcon
-javax/swing/plaf/metal/MetalComboBoxButton$1
-javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager
-javax/swing/JComboBox$KeySelectionManager
-javax/swing/JToolBar$DefaultToolBarLayout
-javax/swing/plaf/metal/MetalToolBarUI
-javax/swing/plaf/basic/BasicToolBarUI
-javax/swing/plaf/ToolBarUI
-javax/swing/plaf/metal/MetalBorders$ToolBarBorder
-javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1
-javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder
-javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder
-javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
-javax/swing/plaf/basic/BasicBorders$ButtonBorder
-javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder
-javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener
-javax/swing/plaf/basic/BasicToolBarUI$DockingListener
-javax/swing/plaf/basic/BasicToolBarUI$Handler
-javax/swing/border/EtchedBorder
-javax/swing/JToolBar$Separator
-javax/swing/plaf/basic/BasicToolBarSeparatorUI
-sun/awt/color/CMM
-java/applet/Applet
-java/awt/Panel
-com/sun/awt/AWTUtilities
-javax/swing/KeyboardManager$ComponentKeyStrokePair
-sun/awt/EmbeddedFrame
-sun/awt/im/InputMethodContext
-java/awt/im/spi/InputMethodContext
-sun/awt/im/InputContext
-sun/awt/im/InputMethodManager
-sun/awt/im/ExecutableInputMethodManager
-sun/awt/X11/XInputMethodDescriptor
-sun/awt/X11InputMethodDescriptor
-java/awt/im/spi/InputMethodDescriptor
-sun/awt/im/InputMethodLocator
-sun/awt/im/ExecutableInputMethodManager$2
-sun/misc/Service
-sun/misc/Service$LazyIterator
-java/util/TreeSet
-java/util/NavigableSet
-java/util/SortedSet
-javax/swing/SizeRequirements
-javax/swing/plaf/basic/BasicGraphicsUtils
-java/awt/event/AdjustmentEvent
-java/awt/MenuBar
-sun/awt/X11/XComponentPeer$2
-java/awt/SequencedEvent
-java/beans/PropertyVetoException
-java/awt/DefaultKeyboardFocusManager$TypeAheadMarker
-java/awt/KeyboardFocusManager$HeavyweightFocusRequest
-java/awt/KeyboardFocusManager$LightweightFocusRequest
-sun/awt/KeyboardFocusManagerPeerImpl
-sun/awt/SunToolkit$7
-java/awt/Window$1DisposeAction
-java/awt/LightweightDispatcher$2
-sun/awt/X11/XReparentEvent
-sun/awt/X11/XWindowAttributes
-javax/swing/SystemEventQueueUtilities$ComponentWorkRequest
-sun/awt/X11/XFocusChangeEvent
-sun/awt/X11/XComponentPeer$1
-sun/awt/X11/XUnmapEvent
-java/io/StringWriter
-javax/swing/JWindow
-java/io/UnsupportedEncodingException
-java/net/UnknownHostException
-java/nio/channels/SocketChannel
-java/nio/channels/spi/AbstractSelectableChannel
-java/nio/channels/SelectableChannel
-java/net/SocketImplFactory
-javax/swing/UnsupportedLookAndFeelException
-java/lang/UnsatisfiedLinkError
-javax/swing/Box$Filler
-javax/swing/JComponent$2
-sun/net/www/MimeTable
-java/net/FileNameMap
-sun/net/www/MimeTable$1
-sun/net/www/MimeTable$2
-sun/net/www/MimeEntry
-java/net/URLConnection$1
-java/text/SimpleDateFormat
-java/text/DateFormat
-java/text/DateFormat$Field
-java/util/Calendar
-java/util/GregorianCalendar
-sun/util/resources/CalendarData
-sun/util/resources/CalendarData_en
-java/text/DateFormatSymbols
-java/text/spi/DateFormatSymbolsProvider
-java/text/DontCareFieldPosition
-java/text/DontCareFieldPosition$1
-java/text/Format$FieldDelegate
-javax/swing/plaf/BorderUIResource
-javax/swing/BorderFactory
-javax/swing/border/BevelBorder
-javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon
-javax/swing/plaf/metal/MetalIconFactory$FolderIcon16
-java/util/zip/ZipInputStream
-java/io/PushbackInputStream
-java/util/zip/CRC32
-java/util/zip/Checksum
-java/lang/Thread$State
-javax/swing/SwingUtilities$SharedOwnerFrame
-javax/swing/JTable
-javax/swing/event/TableModelListener
-javax/swing/event/TableColumnModelListener
-javax/swing/event/CellEditorListener
-javax/swing/event/RowSorterListener
-javax/swing/BufferStrategyPaintManager$BufferInfo
-java/awt/Component$BltSubRegionBufferStrategy
-sun/awt/SubRegionShowable
-java/awt/Component$BltBufferStrategy
-sun/awt/image/SunVolatileImage
-sun/awt/image/BufferedImageGraphicsConfig
-sun/print/PrinterGraphicsConfig
-sun/java2d/x11/X11VolatileSurfaceManager
-sun/awt/image/VolatileSurfaceManager
-java/awt/print/PrinterGraphics
-java/awt/PrintGraphics
-java/awt/GraphicsCallback$PaintCallback
-java/awt/GraphicsCallback
-sun/awt/SunGraphicsCallback
-javax/swing/JRadioButton
-java/lang/ClassFormatError
-javax/swing/JTabbedPane
-javax/swing/JTabbedPane$ModelListener
-javax/swing/plaf/metal/MetalTabbedPaneUI
-javax/swing/plaf/basic/BasicTabbedPaneUI
-javax/swing/plaf/TabbedPaneUI
-javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$Handler
-sun/swing/ImageIconUIResource
-javax/swing/GrayFilter
-java/awt/image/RGBImageFilter
-java/awt/image/ImageFilter
-java/awt/image/FilteredImageSource
-org/w3c/dom/Node
-org/xml/sax/SAXException
-javax/xml/parsers/ParserConfigurationException
-org/xml/sax/EntityResolver
-java/security/NoSuchAlgorithmException
-java/security/GeneralSecurityException
-java/util/zip/GZIPInputStream
-java/util/zip/DeflaterOutputStream
-org/xml/sax/InputSource
-javax/xml/parsers/DocumentBuilderFactory
-javax/xml/parsers/FactoryFinder
-javax/xml/parsers/SecuritySupport
-javax/xml/parsers/SecuritySupport$2
-javax/xml/parsers/SecuritySupport$5
-javax/xml/parsers/SecuritySupport$1
-javax/xml/parsers/SecuritySupport$4
-javax/xml/parsers/DocumentBuilder
-org/w3c/dom/Document
-org/xml/sax/helpers/DefaultHandler
-org/xml/sax/DTDHandler
-org/xml/sax/ContentHandler
-org/xml/sax/ErrorHandler
-org/xml/sax/SAXNotSupportedException
-org/xml/sax/Locator
-org/xml/sax/SAXNotRecognizedException
-org/xml/sax/SAXParseException
-org/w3c/dom/NodeList
-org/w3c/dom/events/EventTarget
-org/w3c/dom/traversal/DocumentTraversal
-org/w3c/dom/events/DocumentEvent
-org/w3c/dom/ranges/DocumentRange
-org/w3c/dom/Entity
-org/w3c/dom/Element
-org/w3c/dom/CharacterData
-org/w3c/dom/CDATASection
-org/w3c/dom/Text
-org/xml/sax/AttributeList
-org/w3c/dom/DOMException
-org/w3c/dom/Notation
-org/w3c/dom/DocumentType
-org/w3c/dom/Attr
-org/w3c/dom/EntityReference
-org/w3c/dom/ProcessingInstruction
-org/w3c/dom/Comment
-org/w3c/dom/DocumentFragment
-org/w3c/dom/events/Event
-org/w3c/dom/events/MutationEvent
-org/w3c/dom/traversal/TreeWalker
-org/w3c/dom/ranges/Range
-org/w3c/dom/traversal/NodeIterator
-org/w3c/dom/events/EventException
-org/w3c/dom/NamedNodeMap
-java/lang/StringIndexOutOfBoundsException
-java/awt/GridLayout
-javax/swing/plaf/metal/MetalRadioButtonUI
-javax/swing/plaf/basic/BasicRadioButtonUI
-javax/swing/plaf/basic/BasicBorders
-javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon
-java/awt/event/ItemEvent
-java/awt/CardLayout$Card
-javax/swing/JCheckBox
-javax/swing/event/ListSelectionEvent
-javax/swing/plaf/metal/MetalCheckBoxUI
-javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon
-java/lang/ExceptionInInitializerError
-com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI
-javax/swing/JProgressBar
-javax/swing/JProgressBar$ModelListener
-javax/swing/plaf/metal/MetalProgressBarUI
-javax/swing/plaf/basic/BasicProgressBarUI
-javax/swing/plaf/ProgressBarUI
-javax/swing/plaf/BorderUIResource$LineBorderUIResource
-javax/swing/plaf/basic/BasicProgressBarUI$Handler
-javax/swing/tree/TreeModel
-javax/swing/table/TableCellRenderer
-javax/swing/table/JTableHeader
-javax/swing/event/TreeExpansionListener
-javax/swing/table/AbstractTableModel
-javax/swing/table/TableModel
-javax/swing/table/DefaultTableCellRenderer
-javax/swing/JTree
-javax/swing/tree/TreeSelectionModel
-javax/swing/tree/DefaultTreeCellRenderer
-javax/swing/tree/TreeCellRenderer
-javax/swing/table/TableCellEditor
-javax/swing/CellEditor
-javax/swing/JToolTip
-javax/swing/table/TableColumn
-javax/swing/table/DefaultTableColumnModel
-javax/swing/table/TableColumnModel
-javax/swing/table/DefaultTableModel
-javax/swing/event/TableModelEvent
-sun/swing/table/DefaultTableCellHeaderRenderer
-javax/swing/plaf/basic/BasicTableHeaderUI
-javax/swing/plaf/TableHeaderUI
-javax/swing/plaf/basic/BasicTableHeaderUI$1
-javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler
-javax/swing/DefaultCellEditor
-javax/swing/tree/TreeCellEditor
-javax/swing/AbstractCellEditor
-javax/swing/plaf/basic/BasicTableUI
-javax/swing/plaf/TableUI
-javax/swing/plaf/basic/BasicTableUI$TableTransferHandler
-javax/swing/plaf/basic/BasicTableUI$Handler
-javax/swing/tree/DefaultTreeSelectionModel
-javax/swing/tree/TreePath
-javax/swing/plaf/metal/MetalTreeUI
-javax/swing/plaf/basic/BasicTreeUI
-javax/swing/plaf/TreeUI
-javax/swing/plaf/basic/BasicTreeUI$Actions
-javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler
-javax/swing/plaf/metal/MetalTreeUI$LineListener
-javax/swing/plaf/basic/BasicTreeUI$Handler
-javax/swing/event/TreeModelListener
-javax/swing/event/TreeSelectionListener
-javax/swing/event/SwingPropertyChangeSupport
-javax/swing/tree/VariableHeightLayoutCache
-javax/swing/tree/AbstractLayoutCache
-javax/swing/tree/RowMapper
-javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler
-javax/swing/tree/AbstractLayoutCache$NodeDimensions
-javax/swing/JTree$TreeModelHandler
-javax/swing/tree/VariableHeightLayoutCache$TreeStateNode
-javax/swing/tree/DefaultMutableTreeNode
-javax/swing/tree/MutableTreeNode
-javax/swing/tree/DefaultMutableTreeNode$1
-javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration
-javax/swing/event/TableColumnModelEvent
-java/text/ParseException
-java/text/NumberFormat$Field
-javax/swing/event/UndoableEditListener
-javax/swing/filechooser/FileFilter
-javax/swing/tree/DefaultTreeModel
-javax/swing/tree/DefaultTreeCellEditor
-javax/swing/tree/DefaultTreeCellEditor$1
-javax/swing/tree/DefaultTreeCellEditor$DefaultTextField
-javax/swing/DefaultCellEditor$1
-javax/swing/DefaultCellEditor$EditorDelegate
-javax/swing/tree/DefaultTreeCellEditor$EditorContainer
-javax/swing/JTree$TreeSelectionRedirector
-javax/swing/event/TreeModelEvent
-javax/swing/plaf/metal/MetalSplitPaneUI
-javax/swing/plaf/basic/BasicSplitPaneUI
-javax/swing/plaf/SplitPaneUI
-javax/swing/plaf/basic/BasicSplitPaneDivider
-javax/swing/plaf/basic/BasicBorders$SplitPaneBorder
-javax/swing/plaf/metal/MetalSplitPaneDivider
-javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout
-javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler
-javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder
-javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager
-javax/swing/plaf/basic/BasicSplitPaneUI$1
-javax/swing/plaf/basic/BasicSplitPaneUI$Handler
-javax/swing/plaf/metal/MetalSplitPaneDivider$1
-javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler
-javax/swing/plaf/metal/MetalSplitPaneDivider$2
-javax/swing/border/TitledBorder
-javax/swing/plaf/basic/BasicTextAreaUI
-java/util/Collections$UnmodifiableCollection$1
-java/io/InterruptedIOException
-java/net/NoRouteToHostException
-java/net/BindException
-javax/swing/tree/PathPlaceHolder
-javax/swing/event/TreeSelectionEvent
-javax/swing/JList$3
-javax/swing/JList$ListSelectionHandler
-javax/swing/JSlider
-javax/swing/JSlider$ModelListener
-javax/swing/plaf/metal/MetalSliderUI
-javax/swing/plaf/basic/BasicSliderUI
-javax/swing/plaf/SliderUI
-javax/swing/plaf/basic/BasicSliderUI$Actions
-javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon
-javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon
-javax/swing/plaf/basic/BasicSliderUI$TrackListener
-javax/swing/plaf/basic/BasicSliderUI$Handler
-javax/swing/plaf/basic/BasicSliderUI$ScrollListener
-javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener
-javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler
-sun/java2d/HeadlessGraphicsEnvironment
-java/util/Hashtable$KeySet
-java/awt/FontFormatException
-sun/java2d/SunGraphicsEnvironment$2
-sun/font/Type1Font$1
-java/nio/channels/FileChannel$MapMode
-sun/nio/ch/FileChannelImpl$Unmapper
-sun/nio/ch/Util$3
-java/nio/DirectByteBufferR
-java/nio/charset/Charset$3
-sun/nio/cs/ext/ExtendedCharsets
-sun/nio/cs/AbstractCharsetProvider
-sun/nio/cs/ext/SJIS
-sun/nio/cs/ext/SJIS$Decoder
-sun/nio/cs/ext/DelegatableDecoder
-sun/nio/cs/ext/JIS_X_0208_Decoder
-sun/nio/cs/ext/DoubleByteDecoder
-sun/nio/cs/ext/JIS_X_0201$Decoder
-sun/nio/cs/SingleByteDecoder
-java/lang/CharacterData00
-javax/swing/DefaultListModel
-javax/swing/event/ListDataEvent
-javax/sound/sampled/DataLine
-javax/sound/sampled/Line
-javax/sound/sampled/Line$Info
-javax/sound/sampled/DataLine$Info
-javax/sound/sampled/Control$Type
-javax/sound/sampled/FloatControl$Type
-javax/sound/sampled/LineUnavailableException
-javax/sound/sampled/UnsupportedAudioFileException
-javax/swing/JRadioButtonMenuItem
-javax/swing/JMenuItem$AccessibleJMenuItem
-javax/swing/AbstractButton$AccessibleAbstractButton
-javax/accessibility/AccessibleAction
-javax/accessibility/AccessibleValue
-javax/accessibility/AccessibleText
-javax/accessibility/AccessibleExtendedComponent
-javax/accessibility/AccessibleComponent
-javax/swing/JComponent$AccessibleJComponent
-java/awt/Container$AccessibleAWTContainer
-java/awt/Component$AccessibleAWTComponent
-javax/accessibility/AccessibleRelationSet
-javax/accessibility/AccessibleState
-javax/accessibility/AccessibleBundle
-javax/swing/plaf/basic/BasicCheckBoxMenuItemUI
-javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon
-javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem
-javax/swing/plaf/basic/BasicRadioButtonMenuItemUI
-javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon
-sun/awt/image/ImageDecoder$1
-javax/swing/JTabbedPane$Page
-java/net/DatagramSocket
-java/net/MulticastSocket
-java/net/DatagramPacket
-sun/net/InetAddressCachePolicy
-sun/net/InetAddressCachePolicy$1
-sun/net/InetAddressCachePolicy$2
-java/net/InetAddress$CacheEntry
-java/net/PlainDatagramSocketImpl
-java/net/DatagramSocketImpl
-java/net/NetworkInterface
-java/net/InterfaceAddress
-java/text/Collator
-java/text/spi/CollatorProvider
-sun/text/resources/CollationData
-sun/text/resources/CollationData_en
-sun/util/EmptyListResourceBundle
-java/text/RuleBasedCollator
-java/text/CollationRules
-java/text/RBCollationTables
-java/text/RBTableBuilder
-java/text/RBCollationTables$BuildAPI
-sun/text/IntHashtable
-sun/text/UCompactIntArray
-sun/text/normalizer/NormalizerImpl
-sun/text/normalizer/ICUData
-sun/text/normalizer/NormalizerDataReader
-sun/text/normalizer/ICUBinary$Authenticate
-sun/text/normalizer/ICUBinary
-sun/text/normalizer/NormalizerImpl$FCDTrieImpl
-sun/text/normalizer/Trie$DataManipulate
-sun/text/normalizer/NormalizerImpl$NormTrieImpl
-sun/text/normalizer/NormalizerImpl$AuxTrieImpl
-sun/text/normalizer/IntTrie
-sun/text/normalizer/Trie
-sun/text/normalizer/CharTrie
-sun/text/normalizer/CharTrie$FriendAgent
-sun/text/normalizer/UnicodeSet
-sun/text/normalizer/UnicodeMatcher
-sun/text/normalizer/NormalizerImpl$DecomposeArgs
-java/text/MergeCollation
-java/text/PatternEntry$Parser
-java/text/PatternEntry
-java/text/EntryPair
-sun/text/ComposedCharIter
-sun/text/normalizer/UTF16
-sun/net/www/protocol/http/Handler
-java/io/ObjectInputStream$BlockDataInputStream
-java/io/ObjectInputStream$PeekInputStream
-java/io/ObjectInputStream$HandleTable
-java/io/ObjectInputStream$ValidationList
-java/io/Bits
-java/io/ObjectStreamClass$Caches
-java/io/ObjectStreamClass$WeakClassKey
-java/io/ObjectStreamClass$EntryFuture
-java/io/ObjectStreamClass$2
-sun/reflect/SerializationConstructorAccessorImpl
-java/io/ObjectStreamClass$FieldReflectorKey
-java/io/ObjectStreamClass$FieldReflector
-java/io/ObjectStreamClass$1
-java/io/DataOutputStream
-java/io/ObjectStreamClass$MemberSignature
-java/io/ObjectStreamClass$3
-java/io/ObjectStreamClass$4
-java/io/ObjectStreamClass$5
-java/security/MessageDigest
-java/security/MessageDigestSpi
-sun/security/jca/GetInstance
-sun/security/jca/Providers
-sun/security/jca/ProviderList
-sun/security/jca/ProviderConfig
-sun/security/jca/ProviderList$3
-sun/security/jca/ProviderList$1
-sun/security/jca/ProviderList$2
-sun/security/jca/ProviderConfig$1
-sun/security/jca/ProviderConfig$3
-java/security/Provider$Service
-java/security/Provider$UString
-sun/security/provider/SHA
-sun/security/provider/DigestBase
-sun/security/jca/GetInstance$Instance
-java/security/MessageDigest$Delegate
-sun/security/provider/ByteArrayAccess
-java/io/ObjectStreamClass$ClassDataSlot
-java/io/ObjectInputStream$CallbackContext
-sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl
-java/security/SignatureException
-java/security/InvalidKeyException
-java/security/KeyException
-java/security/Signature
-java/security/SignatureSpi
-java/io/ObjectOutputStream$BlockDataOutputStream
-sun/security/provider/DSAPublicKey
-java/security/interfaces/DSAPublicKey
-java/security/interfaces/DSAKey
-java/security/PublicKey
-java/security/Key
-sun/security/x509/X509Key
-java/io/ObjectOutputStream$HandleTable
-java/io/ObjectOutputStream$ReplaceTable
-sun/security/x509/AlgorithmId
-sun/security/util/DerEncoder
-sun/security/util/BitArray
-sun/security/util/DerOutputStream
-sun/security/util/DerValue
-java/math/BigInteger
-java/security/interfaces/DSAParams
-sun/security/util/DerInputStream
-sun/security/util/DerInputBuffer
-sun/security/util/ObjectIdentifier
-java/security/AlgorithmParameters
-java/security/AlgorithmParametersSpi
-sun/security/provider/DSAParameters
-sun/security/util/ByteArrayLexOrder
-sun/security/util/ByteArrayTagOrder
-sun/security/util/DerIndefLenConverter
-java/io/InvalidClassException
-java/io/ObjectStreamException
-java/io/ObjectInputStream$GetFieldImpl
-java/io/ObjectInputStream$GetField
-sun/security/jca/ServiceId
-sun/security/jca/ProviderList$ServiceList
-sun/security/jca/ProviderList$ServiceList$1
-java/security/Signature$Delegate
-java/security/interfaces/DSAPrivateKey
-java/security/PrivateKey
-sun/security/provider/DSA$SHA1withDSA
-sun/security/provider/DSA
-java/security/spec/DSAParameterSpec
-java/security/spec/AlgorithmParameterSpec
-java/math/MutableBigInteger
-java/math/SignedMutableBigInteger
-java/awt/EventQueue$1AWTInvocationLock
-javax/swing/SystemEventQueueUtilities$RunnableCanvas
-javax/swing/SystemEventQueueUtilities$RunnableCanvasGraphics
-java/awt/Component$FlipBufferStrategy
-java/awt/SentEvent
-sun/awt/X11/XDestroyWindowEvent
-sun/awt/X11/XDropTargetRegistry
-sun/awt/X11/XEmbeddedFramePeer
-sun/awt/X11/XDragAndDropProtocols
-sun/awt/X11/XDropTargetContextPeer
-sun/awt/dnd/SunDropTargetContextPeer
-java/awt/dnd/peer/DropTargetContextPeer
-sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl
-sun/awt/X11/XDropTargetProtocolListener
-sun/awt/X11/XDnDDragSourceProtocol
-sun/awt/X11/XDragSourceProtocol
-sun/awt/X11/MotifDnDDragSourceProtocol
-sun/awt/X11/XDnDDropTargetProtocol
-sun/awt/X11/XDropTargetProtocol
-sun/awt/X11/MotifDnDDropTargetProtocol
-sun/awt/X11/XDnDConstants
-sun/awt/X11/MotifDnDConstants
-javax/swing/JTable$2
-javax/swing/JTable$Resizable3
-javax/swing/JTable$Resizable2
-javax/swing/JTable$5
-javax/swing/event/AncestorEvent
-sun/font/FontDesignMetrics$MetricsKey
-java/awt/geom/Line2D$Float
-java/awt/geom/Line2D
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel
-javax/swing/plaf/synth/SynthLookAndFeel
-javax/swing/plaf/synth/DefaultSynthStyleFactory
-javax/swing/plaf/synth/SynthStyleFactory
-sun/swing/BakedArrayList
-javax/swing/plaf/synth/SynthLookAndFeel$Handler
-javax/swing/plaf/synth/SynthDefaultLookup
-com/sun/java/swing/plaf/gtk/GTKEngine
-com/sun/java/swing/plaf/gtk/GTKDefaultEngine
-com/sun/java/swing/plaf/gtk/GTKEngine$Settings
-com/sun/java/swing/plaf/gtk/GTKStyleFactory
-com/sun/java/swing/plaf/gtk/PangoFonts
-sun/font/FontManager$FontConfigInfo
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$WeakPCL
-javax/swing/plaf/synth/Region
-javax/swing/plaf/synth/SynthLookAndFeel$AATextListener
-com/sun/java/swing/plaf/gtk/GTKNativeEngine
-com/sun/java/swing/plaf/gtk/GTKNativeEngine$WidgetType
-com/sun/java/swing/plaf/gtk/GTKRegion
-com/sun/java/swing/plaf/gtk/GTKDefaultStyle
-com/sun/java/swing/plaf/gtk/GTKStyle
-com/sun/java/swing/plaf/gtk/GTKConstants
-javax/swing/plaf/synth/SynthStyle
-javax/swing/plaf/synth/SynthGraphicsUtils
-com/sun/java/swing/plaf/gtk/GTKGraphicsUtils
-com/sun/java/swing/plaf/gtk/GTKStyle$GTKStockIcon
-sun/swing/plaf/synth/SynthIcon
-com/sun/java/swing/plaf/gtk/GTKColorType
-javax/swing/plaf/synth/ColorType
-com/sun/java/swing/plaf/gtk/resources/gtk
-com/sun/swing/internal/plaf/synth/resources/synth
-com/sun/java/swing/plaf/gtk/GTKStyle$GTKLazyValue
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$1FontLazyValue
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$2
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$3
-javax/swing/plaf/synth/SynthPanelUI
-javax/swing/plaf/synth/SynthConstants
-javax/swing/plaf/synth/SynthContext
-javax/swing/plaf/synth/SynthBorder
-javax/swing/plaf/synth/SynthRootPaneUI
-javax/swing/plaf/synth/SynthLabelUI
-javax/swing/plaf/synth/SynthButtonUI
-javax/swing/plaf/synth/SynthToggleButtonUI
-javax/swing/plaf/basic/BasicBorders$FieldBorder
-javax/swing/plaf/synth/SynthMenuBarUI
-javax/swing/plaf/synth/DefaultMenuLayout
-javax/swing/plaf/synth/SynthMenuUI
-javax/swing/plaf/synth/SynthUI
-com/sun/java/swing/plaf/gtk/GTKIconFactory
-com/sun/java/swing/plaf/gtk/GTKIconFactory$MenuArrowIcon
-com/sun/java/swing/plaf/gtk/GTKIconFactory$DelegatingIcon
-com/sun/java/swing/plaf/gtk/GTKConstants$ArrowType
-javax/swing/plaf/basic/BasicIconFactory
-javax/swing/plaf/basic/BasicIconFactory$MenuItemCheckIcon
-javax/swing/plaf/synth/SynthMenuItemUI
-javax/swing/plaf/synth/SynthPopupMenuUI
-javax/swing/plaf/synth/SynthSeparatorUI
-javax/swing/plaf/synth/SynthScrollBarUI
-javax/swing/plaf/synth/SynthArrowButton
-javax/swing/plaf/synth/SynthArrowButton$SynthArrowButtonUI
-javax/swing/plaf/synth/SynthComboBoxUI
-javax/swing/plaf/synth/SynthComboPopup
-javax/swing/plaf/synth/SynthListUI
-javax/swing/plaf/synth/SynthListUI$SynthListCellRenderer
-javax/swing/plaf/synth/SynthViewportUI
-javax/swing/plaf/synth/SynthScrollPaneUI
-javax/swing/plaf/synth/SynthScrollPaneUI$ViewportBorder
-javax/swing/plaf/synth/SynthComboBoxUI$SynthComboBoxRenderer
-javax/swing/plaf/synth/SynthComboBoxUI$SynthComboBoxEditor
-javax/swing/plaf/synth/SynthTextFieldUI
-javax/swing/plaf/synth/SynthToolBarUI
-javax/swing/plaf/synth/SynthToolBarUI$SynthToolBarLayoutManager
-com/sun/java/swing/plaf/gtk/GTKIconFactory$ToolBarHandleIcon
-com/sun/java/swing/plaf/gtk/GTKConstants$Orientation
-sun/awt/X11/XTranslateCoordinates
-com/sun/java/swing/plaf/gtk/GTKPainter
-javax/swing/plaf/synth/SynthPainter
-javax/swing/plaf/synth/SynthPainter$1
-com/sun/java/swing/plaf/gtk/GTKConstants$PositionType
-com/sun/java/swing/plaf/gtk/GTKConstants$ShadowType
-java/io/ObjectInputStream$HandleTable$HandleList
-sun/java2d/pipe/ShapeSpanIterator
-sun/java2d/pipe/SpanIterator
-sun/dc/path/PathConsumer
-sun/dc/pr/PathStroker
-sun/dc/pr/PathDasher
-java/awt/geom/LineIterator
-java/awt/geom/PathIterator
-sun/applet/Main
-sun/applet/AppletMessageHandler
-sun/applet/resources/MsgAppletViewer
-sun/applet/AppletSecurity
-sun/awt/AWTSecurityManager
-java/lang/SecurityManager
-java/security/DomainCombiner
-sun/applet/AppletSecurity$1
-java/lang/SecurityManager$1
-java/security/SecurityPermission
-java/util/PropertyPermission
-sun/applet/AppletViewer
-java/applet/AppletContext
-java/awt/print/Printable
-sun/security/util/SecurityConstants
-java/awt/AWTPermission
-java/net/NetPermission
-java/net/SocketPermission
-javax/security/auth/AuthPermission
-java/lang/Thread$1
-java/util/logging/LogManager$5
-java/util/logging/LogManager$6
-sun/applet/StdAppletViewerFactory
-sun/applet/AppletViewerFactory
-sun/applet/AppletViewer$UserActionListener
-sun/applet/AppletViewerPanel
-sun/applet/AppletPanel
-java/applet/AppletStub
-sun/misc/MessageUtils
-sun/applet/AppletPanel$10
-java/security/Policy$1
-sun/security/provider/PolicyFile$1
-sun/security/provider/PolicyInfo
-sun/security/provider/PolicyFile$3
-sun/security/util/PropertyExpander
-sun/security/provider/PolicyParser
-sun/security/util/PolicyUtil
-sun/security/provider/PolicyParser$GrantEntry
-sun/security/provider/PolicyParser$PermissionEntry
-sun/security/provider/PolicyFile$PolicyEntry
-sun/security/provider/PolicyFile$6
-sun/security/provider/PolicyFile$7
-sun/security/provider/SelfPermission
-java/net/SocketPermissionCollection
-java/util/PropertyPermissionCollection
-sun/applet/AppletPanel$9
-sun/applet/AppletClassLoader
-sun/applet/AppletClassLoader$4
-sun/applet/AppletThreadGroup
-sun/applet/AppContextCreator
-sun/applet/AppletPanel$1
-sun/awt/X11/XMenuBarPeer
-java/awt/peer/MenuBarPeer
-java/awt/peer/MenuComponentPeer
-sun/awt/X11/XBaseMenuWindow
-sun/awt/X11/XMenuPeer
-java/awt/peer/MenuPeer
-java/awt/peer/MenuItemPeer
-sun/awt/X11/XMenuItemPeer
-java/awt/MenuShortcut
-sun/awt/X11/XMenuWindow
-sun/awt/X11/XMenuBarPeer$1
-sun/awt/X11/XMenuItemPeer$TextMetrics
+javax/swing/text/JTextComponent$KeymapWrapper
+javax/swing/text/JTextComponent$MutableCaretEvent
+javax/swing/text/Keymap
+javax/swing/text/LayeredHighlighter
+javax/swing/text/LayeredHighlighter$LayerPainter
+javax/swing/text/MutableAttributeSet
+javax/swing/text/PlainDocument
+javax/swing/text/PlainView
+javax/swing/text/Position
+javax/swing/text/Position$Bias
+javax/swing/text/Segment
+javax/swing/text/SegmentCache
+javax/swing/text/SegmentCache$CachedSegment
+javax/swing/text/SimpleAttributeSet
+javax/swing/text/SimpleAttributeSet$EmptyAttributeSet
+javax/swing/text/Style
+javax/swing/text/StyleConstants
+javax/swing/text/StyleConstants$CharacterConstants
+javax/swing/text/StyleConstants$ColorConstants
+javax/swing/text/StyleConstants$FontConstants
+javax/swing/text/StyleConstants$ParagraphConstants
+javax/swing/text/StyleContext
+javax/swing/text/StyleContext$FontKey
+javax/swing/text/StyleContext$KeyEnumeration
+javax/swing/text/StyleContext$NamedStyle
+javax/swing/text/StyleContext$SmallAttributeSet
+javax/swing/text/TabExpander
+javax/swing/text/TextAction
+javax/swing/text/Utilities
+javax/swing/text/View
+javax/swing/text/ViewFactory
+javax/swing/tree/TreeNode
+javax/swing/undo/AbstractUndoableEdit
+javax/swing/undo/CompoundEdit
+javax/swing/undo/UndoableEdit
+sun/awt/AWTAccessor
+sun/awt/AWTAccessor$AWTEventAccessor
+sun/awt/AWTAccessor$ClientPropertyKeyAccessor
+sun/awt/AWTAccessor$ComponentAccessor
+sun/awt/AWTAccessor$ContainerAccessor
+sun/awt/AWTAccessor$CursorAccessor
+sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor
+sun/awt/AWTAccessor$EventQueueAccessor
+sun/awt/AWTAccessor$FrameAccessor
+sun/awt/AWTAccessor$InputEventAccessor
+sun/awt/AWTAccessor$KeyEventAccessor
+sun/awt/AWTAccessor$KeyboardFocusManagerAccessor
+sun/awt/AWTAccessor$ToolkitAccessor
+sun/awt/AWTAccessor$WindowAccessor
+sun/awt/AWTAutoShutdown
+sun/awt/AppContext
+sun/awt/AppContext$1
+sun/awt/AppContext$2
 sun/awt/AppContext$3
-sun/awt/MostRecentThreadAppContext
-sun/awt/X11/XMenuBarPeer$MappingData
-sun/awt/X11/XBaseMenuWindow$MappingData
-sun/applet/AppletViewer$1
-sun/applet/AppletViewer$1AppletEventListener
-sun/applet/AppletListener
-sun/applet/AppletEventMulticaster
-sun/misc/Queue
-sun/misc/QueueElement
-sun/applet/AppletEvent
-sun/applet/AppletClassLoader$1
-sun/awt/X11/XBaseMenuWindow$3
-java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent
+sun/awt/AppContext$6
+sun/awt/AppContext$State
+sun/awt/CGraphicsConfig
+sun/awt/CGraphicsDevice
+sun/awt/CGraphicsEnvironment
+sun/awt/CGraphicsEnvironment$1
+sun/awt/CGraphicsEnvironment$2
 sun/awt/CausedFocusEvent
-sun/awt/X11/XWindow$1
-java/net/URLClassLoader$4
-sun/applet/AppletClassLoader$2
-javax/swing/JApplet
-java/lang/ClassLoader$1
-sun/security/provider/PolicyFile$5
-java/security/PermissionsEnumerator
-java/util/Collections$1
-sun/applet/AppletPanel$11
-sun/applet/AppletPanel$8
-sun/applet/AppletPanel$2
-sun/applet/AppletPanel$3
-sun/applet/AppletPanel$6
-javax/swing/BufferStrategyPaintManager$1
-# f3ac8b467e7f8c49
+sun/awt/CausedFocusEvent$Cause
+sun/awt/ComponentFactory
+sun/awt/ConstrainableGraphics
+sun/awt/DisplayChangedListener
+sun/awt/EmbeddedFrame
+sun/awt/EventQueueDelegate
+sun/awt/EventQueueItem
+sun/awt/FontConfiguration
+sun/awt/FontDescriptor
+sun/awt/FullScreenCapable
+sun/awt/HeadlessToolkit
+sun/awt/InputMethodSupport
+sun/awt/KeyboardFocusManagerPeerImpl
+sun/awt/KeyboardFocusManagerPeerProvider
+sun/awt/LightweightFrame
+sun/awt/ModalExclude
+sun/awt/ModalityEvent
+sun/awt/ModalityListener
+sun/awt/MostRecentKeyValue
+sun/awt/Mutex
+sun/awt/NullComponentPeer
+sun/awt/OSInfo
+sun/awt/OSInfo$1
+sun/awt/OSInfo$OSType
+sun/awt/OSInfo$WindowsVersion
+sun/awt/PaintEventDispatcher
+sun/awt/PeerEvent
+sun/awt/PostEventQueue
+sun/awt/RepaintArea
+sun/awt/RequestFocusController
+sun/awt/SunDisplayChanger
+sun/awt/SunGraphicsCallback
+sun/awt/SunHints
+sun/awt/SunHints$Key
+sun/awt/SunHints$LCDContrastKey
+sun/awt/SunHints$Value
+sun/awt/SunToolkit
+sun/awt/SunToolkit$1
+sun/awt/SunToolkit$ModalityListenerList
+sun/awt/TimedWindowEvent
+sun/awt/WindowClosingListener
+sun/awt/WindowClosingSupport
+sun/awt/datatransfer/DataTransferer
+sun/awt/datatransfer/DataTransferer$1
+sun/awt/datatransfer/DataTransferer$CharsetComparator
+sun/awt/datatransfer/DataTransferer$IndexOrderComparator
+sun/awt/datatransfer/DataTransferer$IndexedComparator
+sun/awt/datatransfer/DataTransferer$RMI
+sun/awt/datatransfer/DataTransferer$StandardEncodingsHolder
+sun/awt/datatransfer/SunClipboard
+sun/awt/datatransfer/ToolkitThreadBlockedHandler
+sun/awt/datatransfer/TransferableProxy
+sun/awt/dnd/SunDragSourceContextPeer
+sun/awt/dnd/SunDropTargetEvent
+sun/awt/event/IgnorePaintEvent
+sun/awt/im/CompositionAreaHandler
+sun/awt/im/ExecutableInputMethodManager
+sun/awt/im/ExecutableInputMethodManager$3
+sun/awt/im/InputContext
+sun/awt/im/InputMethodAdapter
+sun/awt/im/InputMethodContext
+sun/awt/im/InputMethodLocator
+sun/awt/im/InputMethodManager
+sun/awt/im/InputMethodWindow
+sun/awt/image/BufImgSurfaceData
+sun/awt/image/BufImgSurfaceData$ICMColorData
+sun/awt/image/BufImgSurfaceManager
+sun/awt/image/BufferedImageGraphicsConfig
+sun/awt/image/ByteComponentRaster
+sun/awt/image/ByteInterleavedRaster
+sun/awt/image/BytePackedRaster
+sun/awt/image/FetcherInfo
+sun/awt/image/GifFrame
+sun/awt/image/GifImageDecoder
+sun/awt/image/ImageConsumerQueue
+sun/awt/image/ImageDecoder
+sun/awt/image/ImageFetchable
+sun/awt/image/ImageFetcher
+sun/awt/image/ImageFetcher$1
+sun/awt/image/ImageRepresentation
+sun/awt/image/ImageWatched
+sun/awt/image/ImageWatched$Link
+sun/awt/image/ImageWatched$WeakLink
+sun/awt/image/InputStreamImageSource
+sun/awt/image/IntegerComponentRaster
+sun/awt/image/IntegerInterleavedRaster
+sun/awt/image/NativeLibLoader
+sun/awt/image/NativeLibLoader$1
+sun/awt/image/OffScreenImage
+sun/awt/image/OffScreenImageSource
+sun/awt/image/PNGFilterInputStream
+sun/awt/image/PNGImageDecoder
+sun/awt/image/PixelConverter
+sun/awt/image/PixelConverter$Argb
+sun/awt/image/PixelConverter$ArgbBm
+sun/awt/image/PixelConverter$ArgbPre
+sun/awt/image/PixelConverter$Bgrx
+sun/awt/image/PixelConverter$ByteGray
+sun/awt/image/PixelConverter$Rgba
+sun/awt/image/PixelConverter$RgbaPre
+sun/awt/image/PixelConverter$Rgbx
+sun/awt/image/PixelConverter$Ushort4444Argb
+sun/awt/image/PixelConverter$Ushort555Rgb
+sun/awt/image/PixelConverter$Ushort555Rgbx
+sun/awt/image/PixelConverter$Ushort565Rgb
+sun/awt/image/PixelConverter$UshortGray
+sun/awt/image/PixelConverter$Xbgr
+sun/awt/image/PixelConverter$Xrgb
+sun/awt/image/SunVolatileImage
+sun/awt/image/SunWritableRaster
+sun/awt/image/SunWritableRaster$DataStealer
+sun/awt/image/SurfaceManager
+sun/awt/image/SurfaceManager$FlushableCacheData
+sun/awt/image/SurfaceManager$ImageAccessor
+sun/awt/image/SurfaceManager$ProxiedGraphicsConfig
+sun/awt/image/ToolkitImage
+sun/awt/image/URLImageSource
+sun/awt/image/VolatileSurfaceManager
+sun/awt/resources/awt
+sun/awt/resources/awtosx
+sun/awt/util/IdentityArrayList
+sun/awt/util/IdentityLinkedList
+sun/awt/util/IdentityLinkedList$Entry
+sun/awt/util/IdentityLinkedList$ListItr
+sun/dc/DuctusRenderingEngine
+sun/font/AttributeValues
+sun/font/CCharToGlyphMapper
+sun/font/CCharToGlyphMapper$Cache
+sun/font/CFont
+sun/font/CFontConfiguration
+sun/font/CFontManager
+sun/font/CFontManager$4
+sun/font/CStrike
+sun/font/CStrike$GlyphAdvanceCache
+sun/font/CStrike$GlyphInfoCache
+sun/font/CStrikeDisposer
+sun/font/CharToGlyphMapper
+sun/font/CompositeFont
+sun/font/CompositeFontDescriptor
+sun/font/CoreMetrics
+sun/font/EAttribute
+sun/font/FileFont
+sun/font/Font2D
+sun/font/Font2DHandle
+sun/font/FontAccess
+sun/font/FontDesignMetrics
+sun/font/FontDesignMetrics$KeyReference
+sun/font/FontDesignMetrics$MetricsKey
+sun/font/FontFamily
+sun/font/FontLineMetrics
+sun/font/FontManager
+sun/font/FontManagerFactory
+sun/font/FontManagerFactory$1
+sun/font/FontManagerForSGE
+sun/font/FontManagerNativeLibrary
+sun/font/FontManagerNativeLibrary$1
+sun/font/FontStrike
+sun/font/FontStrikeDesc
+sun/font/FontStrikeDisposer
+sun/font/FontUtilities
+sun/font/FontUtilities$1
+sun/font/GlyphList
+sun/font/PhysicalFont
+sun/font/PhysicalStrike
+sun/font/StandardGlyphVector
+sun/font/StandardGlyphVector$GlyphStrike
+sun/font/StrikeCache
+sun/font/StrikeCache$1
+sun/font/StrikeCache$DisposableStrike
+sun/font/StrikeCache$SoftDisposerRef
+sun/font/StrikeMetrics
+sun/font/SunFontManager
+sun/font/SunFontManager$1
+sun/font/SunFontManager$11
+sun/font/SunFontManager$2
+sun/font/SunFontManager$3
+sun/font/SunFontManager$FontRegistrationInfo
+sun/font/SunFontManager$T1Filter
+sun/font/SunFontManager$TTFilter
+sun/font/TrueTypeFont
+sun/font/TrueTypeFont$1
+sun/font/TrueTypeFont$DirectoryEntry
+sun/font/TrueTypeFont$TTDisposerRecord
+sun/font/Type1Font
+sun/java2d/DefaultDisposerRecord
+sun/java2d/DestSurfaceProvider
+sun/java2d/Disposer
+sun/java2d/Disposer$1
+sun/java2d/Disposer$2
+sun/java2d/Disposer$PollDisposable
+sun/java2d/DisposerRecord
+sun/java2d/DisposerTarget
+sun/java2d/FontSupport
+sun/java2d/InvalidPipeException
+sun/java2d/MacosxSurfaceManagerFactory
+sun/java2d/NullSurfaceData
+sun/java2d/StateTrackable
+sun/java2d/StateTrackable$State
+sun/java2d/StateTrackableDelegate
+sun/java2d/StateTrackableDelegate$1
+sun/java2d/StateTrackableDelegate$2
+sun/java2d/StateTracker
+sun/java2d/StateTracker$1
+sun/java2d/StateTracker$2
+sun/java2d/SunGraphics2D
+sun/java2d/SunGraphicsEnvironment
+sun/java2d/SunGraphicsEnvironment$1
+sun/java2d/Surface
+sun/java2d/SurfaceData
+sun/java2d/SurfaceData$PixelToPgramLoopConverter
+sun/java2d/SurfaceData$PixelToShapeLoopConverter
+sun/java2d/SurfaceDataProxy
+sun/java2d/SurfaceDataProxy$1
+sun/java2d/SurfaceManagerFactory
+sun/java2d/cmm/CMSManager
+sun/java2d/cmm/ProfileActivator
+sun/java2d/cmm/ProfileDeferralInfo
+sun/java2d/cmm/ProfileDeferralMgr
+sun/java2d/loops/Blit
+sun/java2d/loops/BlitBg
+sun/java2d/loops/CompositeType
+sun/java2d/loops/CustomComponent
+sun/java2d/loops/DrawGlyphList
+sun/java2d/loops/DrawGlyphListAA
+sun/java2d/loops/DrawGlyphListLCD
+sun/java2d/loops/DrawLine
+sun/java2d/loops/DrawParallelogram
+sun/java2d/loops/DrawPath
+sun/java2d/loops/DrawPolygons
+sun/java2d/loops/DrawRect
+sun/java2d/loops/FillParallelogram
+sun/java2d/loops/FillPath
+sun/java2d/loops/FillRect
+sun/java2d/loops/FillSpans
+sun/java2d/loops/FontInfo
+sun/java2d/loops/GeneralRenderer
+sun/java2d/loops/GraphicsPrimitive
+sun/java2d/loops/GraphicsPrimitiveMgr
+sun/java2d/loops/GraphicsPrimitiveMgr$1
+sun/java2d/loops/GraphicsPrimitiveMgr$2
+sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec
+sun/java2d/loops/GraphicsPrimitiveProxy
+sun/java2d/loops/MaskBlit
+sun/java2d/loops/MaskFill
+sun/java2d/loops/ProcessPath$DrawHandler
+sun/java2d/loops/RenderCache
+sun/java2d/loops/RenderCache$Entry
+sun/java2d/loops/RenderLoops
+sun/java2d/loops/ScaledBlit
+sun/java2d/loops/SurfaceType
+sun/java2d/loops/TransformBlit
+sun/java2d/loops/TransformHelper
+sun/java2d/loops/XORComposite
+sun/java2d/opengl/CGLGraphicsConfig
+sun/java2d/opengl/CGLGraphicsConfig$1
+sun/java2d/opengl/CGLGraphicsConfig$CGLGCDisposerRecord
+sun/java2d/opengl/CGLGraphicsConfig$CGLImageCaps
+sun/java2d/opengl/CGLLayer
+sun/java2d/opengl/CGLSurfaceData
+sun/java2d/opengl/CGLSurfaceData$CGLLayerSurfaceData
+sun/java2d/opengl/CGLSurfaceData$CGLOffScreenSurfaceData
+sun/java2d/opengl/CGLVolatileSurfaceManager
+sun/java2d/opengl/OGLAnyCompositeBlit
+sun/java2d/opengl/OGLBlitLoops
+sun/java2d/opengl/OGLContext
+sun/java2d/opengl/OGLContext$OGLContextCaps
+sun/java2d/opengl/OGLDrawImage
+sun/java2d/opengl/OGLGeneralBlit
+sun/java2d/opengl/OGLGraphicsConfig
+sun/java2d/opengl/OGLMaskBlit
+sun/java2d/opengl/OGLMaskFill
+sun/java2d/opengl/OGLRTTSurfaceToSurfaceBlit
+sun/java2d/opengl/OGLRTTSurfaceToSurfaceScale
+sun/java2d/opengl/OGLRTTSurfaceToSurfaceTransform
+sun/java2d/opengl/OGLRenderQueue
+sun/java2d/opengl/OGLRenderQueue$1
+sun/java2d/opengl/OGLRenderQueue$QueueFlusher
+sun/java2d/opengl/OGLRenderer
+sun/java2d/opengl/OGLSurfaceData
+sun/java2d/opengl/OGLSurfaceData$1
+sun/java2d/opengl/OGLSurfaceDataProxy
+sun/java2d/opengl/OGLSurfaceToSurfaceBlit
+sun/java2d/opengl/OGLSurfaceToSurfaceScale
+sun/java2d/opengl/OGLSurfaceToSurfaceTransform
+sun/java2d/opengl/OGLSurfaceToSwBlit
+sun/java2d/opengl/OGLSwToSurfaceBlit
+sun/java2d/opengl/OGLSwToSurfaceScale
+sun/java2d/opengl/OGLSwToSurfaceTransform
+sun/java2d/opengl/OGLSwToTextureBlit
+sun/java2d/opengl/OGLTextRenderer
+sun/java2d/opengl/OGLTextureToSurfaceBlit
+sun/java2d/opengl/OGLTextureToSurfaceScale
+sun/java2d/opengl/OGLTextureToSurfaceTransform
+sun/java2d/pipe/AAShapePipe
+sun/java2d/pipe/AATextRenderer
+sun/java2d/pipe/AlphaColorPipe
+sun/java2d/pipe/AlphaPaintPipe
+sun/java2d/pipe/BufferedContext
+sun/java2d/pipe/BufferedMaskBlit
+sun/java2d/pipe/BufferedMaskFill
+sun/java2d/pipe/BufferedPaints
+sun/java2d/pipe/BufferedRenderPipe
+sun/java2d/pipe/BufferedRenderPipe$AAParallelogramPipe
+sun/java2d/pipe/BufferedRenderPipe$BufferedDrawHandler
+sun/java2d/pipe/BufferedTextPipe
+sun/java2d/pipe/CompositePipe
+sun/java2d/pipe/DrawImage
+sun/java2d/pipe/DrawImagePipe
+sun/java2d/pipe/GeneralCompositePipe
+sun/java2d/pipe/GlyphListLoopPipe
+sun/java2d/pipe/GlyphListPipe
+sun/java2d/pipe/LCDTextRenderer
+sun/java2d/pipe/LoopBasedPipe
+sun/java2d/pipe/LoopPipe
+sun/java2d/pipe/NullPipe
+sun/java2d/pipe/OutlineTextRenderer
+sun/java2d/pipe/ParallelogramPipe
+sun/java2d/pipe/PixelDrawPipe
+sun/java2d/pipe/PixelFillPipe
+sun/java2d/pipe/PixelToParallelogramConverter
+sun/java2d/pipe/PixelToShapeConverter
+sun/java2d/pipe/Region
+sun/java2d/pipe/Region$ImmutableRegion
+sun/java2d/pipe/RegionIterator
+sun/java2d/pipe/RenderBuffer
+sun/java2d/pipe/RenderQueue
+sun/java2d/pipe/RenderingEngine
+sun/java2d/pipe/RenderingEngine$1
+sun/java2d/pipe/ShapeDrawPipe
+sun/java2d/pipe/SolidTextRenderer
+sun/java2d/pipe/SpanClipRenderer
+sun/java2d/pipe/SpanShapeRenderer
+sun/java2d/pipe/SpanShapeRenderer$Composite
+sun/java2d/pipe/TextPipe
+sun/java2d/pipe/TextRenderer
+sun/java2d/pipe/ValidatePipe
+sun/java2d/pipe/hw/AccelGraphicsConfig
+sun/java2d/pipe/hw/AccelSurface
+sun/java2d/pipe/hw/BufferedContextProvider
+sun/java2d/pipe/hw/ContextCapabilities
+sun/launcher/LauncherHelper
+sun/launcher/LauncherHelper$FXHelper
+sun/lwawt/LWCanvasPeer
+sun/lwawt/LWComponentPeer
+sun/lwawt/LWComponentPeer$1
+sun/lwawt/LWComponentPeer$2
+sun/lwawt/LWComponentPeer$3
+sun/lwawt/LWComponentPeer$DelegateContainer
+sun/lwawt/LWContainerPeer
+sun/lwawt/LWCursorManager
+sun/lwawt/LWCursorManager$1
+sun/lwawt/LWGraphicsConfig
+sun/lwawt/LWKeyboardFocusManagerPeer
+sun/lwawt/LWLabelPeer
+sun/lwawt/LWRepaintArea
+sun/lwawt/LWToolkit
+sun/lwawt/LWWindowPeer
+sun/lwawt/LWWindowPeer$PeerType
+sun/lwawt/PlatformComponent
+sun/lwawt/PlatformEventNotifier
+sun/lwawt/PlatformWindow
+sun/lwawt/macosx/CClipboard
+sun/lwawt/macosx/CCursorManager
+sun/lwawt/macosx/CCustomCursor
+sun/lwawt/macosx/CDataTransferer
+sun/lwawt/macosx/CDropTarget
+sun/lwawt/macosx/CFRetainedResource
+sun/lwawt/macosx/CImage
+sun/lwawt/macosx/CImage$Creator
+sun/lwawt/macosx/CInputMethod
+sun/lwawt/macosx/CInputMethodDescriptor
+sun/lwawt/macosx/CPlatformComponent
+sun/lwawt/macosx/CPlatformResponder
+sun/lwawt/macosx/CPlatformView
+sun/lwawt/macosx/CPlatformWindow
+sun/lwawt/macosx/CPlatformWindow$1
+sun/lwawt/macosx/CPlatformWindow$10
+sun/lwawt/macosx/CPlatformWindow$11
+sun/lwawt/macosx/CPlatformWindow$12
+sun/lwawt/macosx/CPlatformWindow$14
+sun/lwawt/macosx/CPlatformWindow$2
+sun/lwawt/macosx/CPlatformWindow$3
+sun/lwawt/macosx/CPlatformWindow$4
+sun/lwawt/macosx/CPlatformWindow$5
+sun/lwawt/macosx/CPlatformWindow$6
+sun/lwawt/macosx/CPlatformWindow$7
+sun/lwawt/macosx/CPlatformWindow$8
+sun/lwawt/macosx/CPlatformWindow$9
+sun/lwawt/macosx/CPrinterDialog
+sun/lwawt/macosx/CThreading
+sun/lwawt/macosx/CToolkitThreadBlockedHandler
+sun/lwawt/macosx/CWrapper$NSWindow
+sun/lwawt/macosx/LWCToolkit
+sun/lwawt/macosx/LWCToolkit$1
+sun/lwawt/macosx/LWCToolkit$2
+sun/lwawt/macosx/LWCToolkit$5
+sun/lwawt/macosx/LWCToolkit$AppleSpecificColor
+sun/lwawt/macosx/NamedCursor
+sun/lwawt/macosx/event/NSEvent
+sun/misc/ASCIICaseInsensitiveComparator
+sun/misc/Cleaner
+sun/misc/CompoundEnumeration
+sun/misc/ExtensionDependency
+sun/misc/FileURLMapper
+sun/misc/FloatingDecimal
+sun/misc/FloatingDecimal$1
+sun/misc/FloatingDecimal$ASCIIToBinaryConverter
+sun/misc/FloatingDecimal$BinaryToASCIIBuffer
+sun/misc/FloatingDecimal$BinaryToASCIIConverter
+sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer
+sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer
+sun/misc/IOUtils
+sun/misc/JarIndex
+sun/misc/JavaAWTAccess
+sun/misc/JavaIOFileDescriptorAccess
+sun/misc/JavaLangAccess
+sun/misc/JavaNetAccess
+sun/misc/JavaNioAccess
+sun/misc/JavaSecurityAccess
+sun/misc/JavaSecurityProtectionDomainAccess
+sun/misc/JavaUtilJarAccess
+sun/misc/JavaUtilZipFileAccess
+sun/misc/Launcher
+sun/misc/Launcher$AppClassLoader
+sun/misc/Launcher$AppClassLoader$1
+sun/misc/Launcher$BootClassPathHolder
+sun/misc/Launcher$BootClassPathHolder$1
+sun/misc/Launcher$ExtClassLoader
+sun/misc/Launcher$ExtClassLoader$1
+sun/misc/Launcher$Factory
+sun/misc/MetaIndex
+sun/misc/NativeSignalHandler
+sun/misc/OSEnvironment
+sun/misc/Perf
+sun/misc/Perf$GetPerfAction
+sun/misc/PerfCounter
+sun/misc/PerfCounter$CoreCounters
+sun/misc/PerformanceLogger
+sun/misc/PerformanceLogger$TimeData
+sun/misc/PostVMInitHook
+sun/misc/Resource
+sun/misc/SharedSecrets
+sun/misc/Signal
+sun/misc/SignalHandler
+sun/misc/SoftCache
+sun/misc/SoftCache$ValueCell
+sun/misc/URLClassPath
+sun/misc/URLClassPath$1
+sun/misc/URLClassPath$2
+sun/misc/URLClassPath$3
+sun/misc/URLClassPath$FileLoader
+sun/misc/URLClassPath$JarLoader
+sun/misc/URLClassPath$JarLoader$1
+sun/misc/URLClassPath$JarLoader$2
+sun/misc/URLClassPath$Loader
+sun/misc/Unsafe
+sun/misc/VM
+sun/misc/Version
+sun/net/DefaultProgressMeteringPolicy
+sun/net/NetHooks
+sun/net/NetHooks$Provider
+sun/net/NetProperties
+sun/net/NetProperties$1
+sun/net/ProgressMeteringPolicy
+sun/net/ProgressMonitor
+sun/net/sdp/SdpProvider
+sun/net/spi/DefaultProxySelector
+sun/net/spi/DefaultProxySelector$1
+sun/net/spi/DefaultProxySelector$3
+sun/net/spi/DefaultProxySelector$NonProxyInfo
+sun/net/spi/nameservice/NameService
+sun/net/util/IPAddressUtil
+sun/net/util/URLUtil
+sun/net/www/MessageHeader
+sun/net/www/ParseUtil
+sun/net/www/URLConnection
+sun/net/www/protocol/file/FileURLConnection
+sun/net/www/protocol/file/Handler
+sun/net/www/protocol/jar/Handler
+sun/net/www/protocol/jar/JarFileFactory
+sun/net/www/protocol/jar/JarURLConnection
+sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream
+sun/net/www/protocol/jar/URLJarFile
+sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController
+sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry
+sun/nio/ByteBuffered
+sun/nio/ch/DirectBuffer
+sun/nio/ch/FileChannelImpl
+sun/nio/ch/FileDispatcher
+sun/nio/ch/FileDispatcherImpl
+sun/nio/ch/IOStatus
+sun/nio/ch/IOUtil
+sun/nio/ch/IOUtil$1
+sun/nio/ch/Interruptible
+sun/nio/ch/NativeDispatcher
+sun/nio/ch/NativeThread
+sun/nio/ch/NativeThreadSet
+sun/nio/ch/Util
+sun/nio/ch/Util$1
+sun/nio/ch/Util$BufferCache
+sun/nio/cs/ArrayDecoder
+sun/nio/cs/ArrayEncoder
+sun/nio/cs/FastCharsetProvider
+sun/nio/cs/HistoricallyNamedCharset
+sun/nio/cs/ISO_8859_1
+sun/nio/cs/ISO_8859_1$Decoder
+sun/nio/cs/StandardCharsets
+sun/nio/cs/StandardCharsets$Aliases
+sun/nio/cs/StandardCharsets$Cache
+sun/nio/cs/StandardCharsets$Classes
+sun/nio/cs/StreamDecoder
+sun/nio/cs/StreamEncoder
+sun/nio/cs/US_ASCII
+sun/nio/cs/UTF_16
+sun/nio/cs/UTF_16$Decoder
+sun/nio/cs/UTF_16BE
+sun/nio/cs/UTF_16LE
+sun/nio/cs/UTF_8
+sun/nio/cs/UTF_8$Decoder
+sun/nio/cs/UTF_8$Encoder
+sun/nio/cs/Unicode
+sun/nio/cs/UnicodeDecoder
+sun/print/PrinterGraphicsConfig
+sun/reflect/AccessorGenerator
+sun/reflect/BootstrapConstructorAccessorImpl
+sun/reflect/ByteVector
+sun/reflect/ByteVectorFactory
+sun/reflect/ByteVectorImpl
+sun/reflect/CallerSensitive
+sun/reflect/ClassDefiner
+sun/reflect/ClassDefiner$1
+sun/reflect/ClassFileAssembler
+sun/reflect/ClassFileConstants
+sun/reflect/ConstantPool
+sun/reflect/ConstructorAccessor
+sun/reflect/ConstructorAccessorImpl
+sun/reflect/DelegatingClassLoader
+sun/reflect/DelegatingConstructorAccessorImpl
+sun/reflect/DelegatingMethodAccessorImpl
+sun/reflect/FieldAccessor
+sun/reflect/FieldAccessorImpl
+sun/reflect/Label
+sun/reflect/Label$PatchInfo
+sun/reflect/LangReflectAccess
+sun/reflect/MagicAccessorImpl
+sun/reflect/MethodAccessor
+sun/reflect/MethodAccessorGenerator
+sun/reflect/MethodAccessorGenerator$1
+sun/reflect/MethodAccessorImpl
+sun/reflect/NativeConstructorAccessorImpl
+sun/reflect/NativeMethodAccessorImpl
+sun/reflect/Reflection
+sun/reflect/ReflectionFactory
+sun/reflect/ReflectionFactory$1
+sun/reflect/ReflectionFactory$GetReflectionFactoryAction
+sun/reflect/SerializationConstructorAccessorImpl
+sun/reflect/UTF8
+sun/reflect/UnsafeBooleanFieldAccessorImpl
+sun/reflect/UnsafeFieldAccessorFactory
+sun/reflect/UnsafeFieldAccessorImpl
+sun/reflect/UnsafeObjectFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
+sun/reflect/UnsafeStaticFieldAccessorImpl
+sun/reflect/annotation/AnnotationType
+sun/reflect/generics/repository/AbstractRepository
+sun/reflect/generics/repository/ClassRepository
+sun/reflect/generics/repository/GenericDeclRepository
+sun/reflect/misc/MethodUtil
+sun/reflect/misc/MethodUtil$1
+sun/reflect/misc/ReflectUtil
+sun/security/action/GetBooleanAction
+sun/security/action/GetPropertyAction
+sun/security/util/Debug
+sun/security/util/ManifestEntryVerifier
+sun/swing/DefaultLookup
+sun/swing/JLightweightFrame
+sun/swing/MenuItemLayoutHelper
+sun/swing/StringUIClientPropertyKey
+sun/swing/SwingAccessor
+sun/swing/SwingAccessor$JTextComponentAccessor
+sun/swing/SwingLazyValue
+sun/swing/SwingLazyValue$1
+sun/swing/SwingUtilities2
+sun/swing/SwingUtilities2$2
+sun/swing/SwingUtilities2$AATextInfo
+sun/swing/SwingUtilities2$LSBCacheEntry
+sun/swing/UIAction
+sun/swing/UIClientPropertyKey
+sun/util/CoreResourceBundleControl
+sun/util/PreHashedMap
+sun/util/ResourceBundleEnumeration
+sun/util/calendar/AbstractCalendar
+sun/util/calendar/BaseCalendar
+sun/util/calendar/BaseCalendar$Date
+sun/util/calendar/CalendarDate
+sun/util/calendar/CalendarSystem
+sun/util/calendar/CalendarUtils
+sun/util/calendar/Gregorian
+sun/util/calendar/Gregorian$Date
+sun/util/calendar/ZoneInfo
+sun/util/calendar/ZoneInfoFile
+sun/util/calendar/ZoneInfoFile$1
+sun/util/calendar/ZoneInfoFile$Checksum
+sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule
+sun/util/locale/BaseLocale
+sun/util/locale/BaseLocale$Cache
+sun/util/locale/BaseLocale$Key
+sun/util/locale/LocaleObjectCache
+sun/util/locale/LocaleObjectCache$CacheEntry
+sun/util/locale/LocaleUtils
+sun/util/locale/provider/AuxLocaleProviderAdapter
+sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider
+sun/util/locale/provider/JRELocaleProviderAdapter
+sun/util/locale/provider/JRELocaleProviderAdapter$1
+sun/util/locale/provider/LocaleDataMetaInfo
+sun/util/locale/provider/LocaleProviderAdapter
+sun/util/locale/provider/LocaleProviderAdapter$1
+sun/util/locale/provider/LocaleProviderAdapter$Type
+sun/util/locale/provider/LocaleResources
+sun/util/locale/provider/LocaleResources$ResourceReference
+sun/util/locale/provider/LocaleServiceProviderPool
+sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter
+sun/util/locale/provider/ResourceBundleBasedAdapter
+sun/util/locale/provider/SPILocaleProviderAdapter
+sun/util/locale/provider/SPILocaleProviderAdapter$1
+sun/util/locale/provider/TimeZoneNameProviderImpl
+sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter
+sun/util/logging/LoggingProxy
+sun/util/logging/LoggingSupport
+sun/util/logging/LoggingSupport$1
+sun/util/logging/LoggingSupport$2
+sun/util/logging/PlatformLogger
+sun/util/logging/PlatformLogger$1
+sun/util/logging/PlatformLogger$DefaultLoggerProxy
+sun/util/logging/PlatformLogger$JavaLoggerProxy
+sun/util/logging/PlatformLogger$Level
+sun/util/logging/PlatformLogger$LoggerProxy
+sun/util/logging/resources/logging
+sun/util/resources/LocaleData
+sun/util/resources/LocaleData$1
+sun/util/resources/LocaleData$LocaleDataResourceBundleControl
+sun/util/resources/OpenListResourceBundle
+sun/util/resources/TimeZoneNames
+sun/util/resources/TimeZoneNamesBundle
+sun/util/resources/en/TimeZoneNames_en
+# 32aa76348b93579f
diff --git a/jdk/make/tools/sharing/classlist.solaris b/jdk/make/tools/sharing/classlist.solaris
index 8955d32..e5175dc 100644
--- a/jdk/make/tools/sharing/classlist.solaris
+++ b/jdk/make/tools/sharing/classlist.solaris
@@ -1,2419 +1,2644 @@
-java/lang/Object
-java/lang/String
-java/io/Serializable
-java/lang/Comparable
-java/lang/CharSequence
-java/lang/Class
-java/lang/reflect/GenericDeclaration
-java/lang/reflect/Type
-java/lang/reflect/AnnotatedElement
-java/lang/Cloneable
-java/lang/ClassLoader
-java/lang/System
-java/lang/Throwable
-java/lang/Error
-java/lang/ThreadDeath
-java/lang/Exception
-java/lang/RuntimeException
-java/security/ProtectionDomain
-java/security/AccessControlContext
-java/lang/ClassNotFoundException
-java/lang/NoClassDefFoundError
-java/lang/LinkageError
-java/lang/ClassCastException
-java/lang/ArrayStoreException
-java/lang/VirtualMachineError
-java/lang/OutOfMemoryError
-java/lang/StackOverflowError
-java/lang/IllegalMonitorStateException
-java/lang/ref/Reference
-java/lang/ref/SoftReference
-java/lang/ref/WeakReference
-java/lang/ref/FinalReference
-java/lang/ref/PhantomReference
-java/lang/ref/Finalizer
-java/lang/Thread
-java/lang/Runnable
-java/lang/ThreadGroup
-java/lang/Thread$UncaughtExceptionHandler
-java/util/Properties
-java/util/Hashtable
-java/util/Map
-java/util/Dictionary
-java/lang/reflect/AccessibleObject
-java/lang/reflect/Field
-java/lang/reflect/Member
-java/lang/reflect/Method
-java/lang/reflect/Constructor
-sun/reflect/MagicAccessorImpl
-sun/reflect/MethodAccessorImpl
-sun/reflect/MethodAccessor
-sun/reflect/ConstructorAccessorImpl
-sun/reflect/ConstructorAccessor
-sun/reflect/DelegatingClassLoader
-sun/reflect/ConstantPool
-sun/reflect/UnsafeStaticFieldAccessorImpl
-sun/reflect/UnsafeFieldAccessorImpl
-sun/reflect/FieldAccessorImpl
-sun/reflect/FieldAccessor
-java/util/Vector
-java/util/List
-java/util/Collection
-java/lang/Iterable
-java/util/RandomAccess
-java/util/AbstractList
-java/util/AbstractCollection
-java/lang/StringBuffer
-java/lang/AbstractStringBuilder
-java/lang/Appendable
-java/lang/StackTraceElement
-java/nio/Buffer
-java/lang/Boolean
-java/lang/Character
-java/lang/Float
-java/lang/Number
-java/lang/Double
-java/lang/Byte
-java/lang/Short
-java/lang/Integer
-java/lang/Long
-java/lang/NullPointerException
-java/lang/ArithmeticException
-java/io/ObjectStreamField
-java/lang/String$CaseInsensitiveComparator
-java/util/Comparator
-java/lang/RuntimePermission
-java/security/BasicPermission
-java/security/Permission
-java/security/Guard
-sun/misc/SoftCache
-java/util/AbstractMap
-java/lang/ref/ReferenceQueue
-java/lang/ref/ReferenceQueue$Null
-java/lang/ref/ReferenceQueue$Lock
-java/util/HashMap
-java/lang/annotation/Annotation
-java/util/HashMap$Entry
-java/util/Map$Entry
-java/security/AccessController
-java/lang/reflect/ReflectPermission
-sun/reflect/ReflectionFactory$GetReflectionFactoryAction
-java/security/PrivilegedAction
-java/util/Stack
-sun/reflect/ReflectionFactory
-java/lang/ref/Reference$Lock
-java/lang/ref/Reference$ReferenceHandler
-java/lang/ref/Finalizer$FinalizerThread
-java/util/Enumeration
-java/util/Iterator
-java/util/Hashtable$Entry
-java/nio/charset/Charset
-sun/nio/cs/StandardCharsets
-sun/nio/cs/FastCharsetProvider
-java/nio/charset/spi/CharsetProvider
-sun/nio/cs/StandardCharsets$Aliases
-sun/util/PreHashedMap
-sun/nio/cs/StandardCharsets$Classes
-sun/nio/cs/StandardCharsets$Cache
-java/lang/ThreadLocal
-java/util/concurrent/atomic/AtomicInteger
-sun/misc/Unsafe
-java/lang/NoSuchMethodError
-java/lang/IncompatibleClassChangeError
-sun/reflect/Reflection
-java/util/Collections
-java/util/Collections$EmptySet
-java/util/AbstractSet
-java/util/Set
-java/util/Collections$EmptyList
-java/util/Collections$EmptyMap
-java/util/Collections$ReverseComparator
-java/util/Collections$SynchronizedMap
-java/lang/Class$3
-java/lang/reflect/Modifier
-java/lang/reflect/ReflectAccess
-sun/reflect/LangReflectAccess
-java/util/Arrays
-java/lang/Math
-java/lang/StringBuilder
-sun/nio/cs/UTF_8
-sun/nio/cs/Unicode
-sun/nio/cs/HistoricallyNamedCharset
-java/lang/Class$1
-sun/reflect/ReflectionFactory$1
-sun/reflect/NativeConstructorAccessorImpl
-sun/reflect/DelegatingConstructorAccessorImpl
-sun/misc/VM
-java/lang/StringCoding
-java/lang/ThreadLocal$ThreadLocalMap
-java/lang/ThreadLocal$ThreadLocalMap$Entry
-java/lang/StringCoding$StringDecoder
-sun/nio/cs/UTF_8$Decoder
-java/nio/charset/CharsetDecoder
-java/nio/charset/CodingErrorAction
-sun/nio/cs/Surrogate$Generator
-sun/nio/cs/Surrogate
-java/nio/charset/CoderResult
-java/nio/charset/CoderResult$1
-java/nio/charset/CoderResult$Cache
-java/nio/charset/CoderResult$2
-java/nio/ByteBuffer
-java/nio/HeapByteBuffer
-java/nio/Bits
-java/nio/ByteOrder
-java/nio/CharBuffer
-java/lang/Readable
-java/nio/HeapCharBuffer
-sun/misc/Version
-java/io/FileInputStream
-java/io/InputStream
-java/io/Closeable
-java/io/FileDescriptor
-java/io/FileOutputStream
-java/io/OutputStream
-java/io/Flushable
-java/io/BufferedInputStream
-java/io/FilterInputStream
-java/util/concurrent/atomic/AtomicReferenceFieldUpdater
-java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
-sun/reflect/misc/ReflectUtil
-java/io/PrintStream
-java/io/FilterOutputStream
-java/io/BufferedOutputStream
-java/io/OutputStreamWriter
-java/io/Writer
-sun/nio/cs/StreamEncoder
-sun/security/action/GetPropertyAction
-sun/nio/cs/UTF_8$Encoder
-java/nio/charset/CharsetEncoder
-sun/nio/cs/Surrogate$Parser
-java/io/BufferedWriter
-java/lang/Runtime
-java/io/File
-java/io/FileSystem
-java/io/UnixFileSystem
-java/io/ExpiringCache
-java/io/ExpiringCache$1
-java/util/LinkedHashMap
-java/util/LinkedHashMap$Entry
-sun/misc/SharedSecrets
-java/lang/ClassLoader$3
-java/lang/StringCoding$StringEncoder
-java/io/ExpiringCache$Entry
-java/lang/ClassLoader$NativeLibrary
-java/lang/Terminator
-java/lang/Terminator$1
-sun/misc/SignalHandler
-sun/misc/Signal
-sun/misc/NativeSignalHandler
-java/io/Console
-java/io/Console$1
-sun/misc/JavaIOAccess
-java/lang/Shutdown
-java/util/ArrayList
-java/lang/Shutdown$Lock
-java/lang/ApplicationShutdownHooks
-java/util/IdentityHashMap
-sun/misc/OSEnvironment
-java/lang/System$2
-sun/misc/JavaLangAccess
-java/lang/Compiler
-java/lang/Compiler$1
-sun/misc/Launcher
-sun/misc/Launcher$Factory
-java/net/URLStreamHandlerFactory
-sun/misc/Launcher$ExtClassLoader
-java/net/URLClassLoader
-java/security/SecureClassLoader
-sun/security/util/Debug
-java/net/URLClassLoader$7
-sun/misc/JavaNetAccess
-java/util/StringTokenizer
-sun/misc/Launcher$ExtClassLoader$1
-java/security/PrivilegedExceptionAction
-sun/misc/MetaIndex
-java/io/BufferedReader
-java/io/Reader
-java/io/FileReader
-java/io/InputStreamReader
-sun/nio/cs/StreamDecoder
-java/lang/reflect/Array
-sun/net/www/ParseUtil
-java/util/BitSet
-java/io/ObjectStreamClass
-java/net/URL
-java/util/Locale
-java/util/concurrent/ConcurrentHashMap
-java/util/concurrent/ConcurrentMap
-java/util/concurrent/ConcurrentHashMap$Segment
-java/util/concurrent/locks/ReentrantLock
-java/util/concurrent/locks/Lock
-java/util/concurrent/locks/ReentrantLock$NonfairSync
-java/util/concurrent/locks/ReentrantLock$Sync
-java/util/concurrent/locks/AbstractQueuedSynchronizer
-java/util/concurrent/locks/AbstractOwnableSynchronizer
-java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
-java/util/concurrent/ConcurrentHashMap$HashEntry
-java/lang/CharacterDataLatin1
-java/net/Parts
-sun/net/www/protocol/file/Handler
-java/net/URLStreamHandler
-java/util/HashSet
-sun/misc/URLClassPath
-sun/net/www/protocol/jar/Handler
-sun/misc/Launcher$AppClassLoader
-sun/misc/Launcher$AppClassLoader$1
-java/lang/SystemClassLoaderAction
-java/net/URLClassLoader$1
-sun/misc/URLClassPath$3
-sun/misc/URLClassPath$JarLoader
-sun/misc/URLClassPath$Loader
-java/security/PrivilegedActionException
-sun/misc/URLClassPath$FileLoader
-sun/misc/URLClassPath$FileLoader$1
-sun/misc/Resource
-sun/nio/ByteBuffered
-java/security/CodeSource
-java/security/Permissions
-java/security/PermissionCollection
-sun/net/www/protocol/file/FileURLConnection
-sun/net/www/URLConnection
-java/net/URLConnection
-java/net/UnknownContentHandler
-java/net/ContentHandler
-sun/net/www/MessageHeader
-java/io/FilePermission
-java/io/FilePermission$1
-sun/security/provider/PolicyFile
-java/security/Policy
-java/security/Policy$UnsupportedEmptyCollection
-java/io/FilePermissionCollection
-java/security/AllPermission
-java/security/UnresolvedPermission
-java/security/BasicPermissionCollection
-java/security/Principal
-java/security/cert/Certificate
-java/util/AbstractList$Itr
-java/util/IdentityHashMap$KeySet
-java/util/IdentityHashMap$KeyIterator
-java/util/IdentityHashMap$IdentityHashMapIterator
-java/io/DeleteOnExitHook
-java/util/LinkedHashSet
-java/util/HashMap$KeySet
-java/util/LinkedHashMap$KeyIterator
-java/util/LinkedHashMap$LinkedHashIterator
-java/awt/Frame
-java/awt/MenuContainer
-java/awt/Window
-javax/accessibility/Accessible
-java/awt/Container
-java/awt/Component
-java/awt/image/ImageObserver
-java/lang/InterruptedException
-java/awt/Label
-java/util/logging/Logger
-java/util/logging/Handler
-java/util/logging/Level
-java/util/logging/LogManager
-java/util/logging/LogManager$1
-java/beans/PropertyChangeSupport
-java/util/logging/LogManager$LogNode
-java/util/logging/LoggingPermission
-java/util/logging/LogManager$Cleaner
-java/util/logging/LogManager$RootLogger
-java/util/logging/LogManager$2
-java/util/Properties$LineReader
-java/util/Hashtable$Enumerator
-java/beans/PropertyChangeEvent
-java/util/EventObject
-java/awt/Component$AWTTreeLock
-sun/awt/NativeLibLoader
-sun/security/action/LoadLibraryAction
-java/awt/GraphicsEnvironment
-java/awt/GraphicsEnvironment$1
-java/lang/ProcessEnvironment
-java/lang/ProcessEnvironment$Variable
-java/lang/ProcessEnvironment$ExternalData
-java/lang/ProcessEnvironment$Value
-java/lang/ProcessEnvironment$StringEnvironment
-java/util/Collections$UnmodifiableMap
-java/awt/Toolkit
-java/awt/Toolkit$3
-sun/util/CoreResourceBundleControl
-java/util/ResourceBundle$Control
-java/util/Arrays$ArrayList
-java/util/Collections$UnmodifiableRandomAccessList
-java/util/Collections$UnmodifiableList
-java/util/Collections$UnmodifiableCollection
-java/util/ResourceBundle
-java/util/ResourceBundle$1
-java/util/ResourceBundle$RBClassLoader
-java/util/ResourceBundle$RBClassLoader$1
-java/util/ResourceBundle$CacheKey
-java/util/ResourceBundle$LoaderReference
-java/util/ResourceBundle$CacheKeyReference
-java/util/ResourceBundle$SingleFormatControl
-sun/awt/resources/awt
-java/util/ListResourceBundle
-java/awt/Toolkit$1
-java/io/FileNotFoundException
-java/io/IOException
-java/awt/event/KeyEvent
-java/awt/event/InputEvent
-java/awt/event/ComponentEvent
+com/sun/java/swing/SwingUtilities3
+com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI
+com/sun/swing/internal/plaf/basic/resources/basic
+com/sun/swing/internal/plaf/metal/resources/metal
+java/applet/Applet
 java/awt/AWTEvent
-java/awt/event/NativeLibLoader
-java/util/WeakHashMap
-java/util/WeakHashMap$Entry
-java/awt/Component$DummyRequestFocusController
-sun/awt/RequestFocusController
-java/awt/LayoutManager
-java/awt/LightweightDispatcher
-java/awt/event/AWTEventListener
-java/util/EventListener
-java/awt/Dimension
-java/awt/geom/Dimension2D
-java/util/concurrent/atomic/AtomicBoolean
-java/awt/ComponentOrientation
-java/awt/Component$2
-java/lang/NoSuchMethodException
-sun/awt/AppContext
-sun/awt/AppContext$1
-sun/awt/AppContext$2
-sun/awt/MostRecentKeyValue
-java/awt/Cursor
-sun/awt/X11GraphicsEnvironment
-sun/java2d/SunGraphicsEnvironment
-sun/java2d/FontSupport
-sun/awt/DisplayChangedListener
-java/io/FilenameFilter
-sun/awt/X11GraphicsEnvironment$1
-sun/awt/SunToolkit
-sun/awt/WindowClosingSupport
-sun/awt/WindowClosingListener
-sun/awt/ComponentFactory
-sun/awt/InputMethodSupport
-java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
-java/util/concurrent/locks/Condition
-sun/awt/AWTAutoShutdown
-sun/awt/SunToolkit$6
-java/awt/Dialog$ModalExclusionType
-java/lang/Enum
-java/awt/Dialog
-java/awt/Dialog$ModalityType
-java/awt/ModalEventFilter
-java/awt/EventFilter
-sun/reflect/UnsafeFieldAccessorFactory
-sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
-sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl
-sun/awt/SunDisplayChanger
-sun/java2d/SunGraphicsEnvironment$1
-sun/font/FontManager
-sun/font/FileFont
-sun/font/PhysicalFont
-sun/font/Font2D
-sun/font/CompositeFont
-java/util/HashMap$Values
-java/util/HashMap$ValueIterator
-java/util/HashMap$HashIterator
-java/awt/Font
-java/awt/geom/AffineTransform
-sun/font/AttributeValues
-sun/font/EAttribute
-java/text/AttributedCharacterIterator$Attribute
-java/lang/Class$4
-sun/reflect/NativeMethodAccessorImpl
-sun/reflect/DelegatingMethodAccessorImpl
-java/awt/font/TextAttribute
-java/lang/Integer$IntegerCache
-sun/font/TrueTypeFont
-java/awt/font/FontRenderContext
-java/awt/RenderingHints
-sun/awt/SunHints
-sun/awt/SunHints$Key
-java/awt/RenderingHints$Key
-sun/awt/SunHints$Value
-sun/awt/SunHints$LCDContrastKey
-sun/font/Type1Font
-java/awt/geom/Point2D$Float
-java/awt/geom/Point2D
-sun/font/StrikeMetrics
-java/awt/geom/Rectangle2D$Float
-java/awt/geom/Rectangle2D
-java/awt/geom/RectangularShape
-java/awt/Shape
-java/awt/geom/GeneralPath
-java/awt/geom/Path2D$Float
-java/awt/geom/Path2D
-sun/font/CharToGlyphMapper
-sun/font/PhysicalStrike
-sun/font/FontStrike
-sun/font/GlyphList
-sun/font/StrikeCache
-sun/java2d/Disposer
-sun/java2d/Disposer$1
-sun/font/StrikeCache$1
-sun/awt/motif/MFontConfiguration
-sun/awt/FontConfiguration
-sun/awt/FontDescriptor
-java/io/DataInputStream
-java/io/DataInput
-java/lang/Short$ShortCache
-java/util/HashMap$KeyIterator
-sun/font/CompositeFontDescriptor
-sun/font/Font2DHandle
-sun/font/FontFamily
-java/awt/GraphicsDevice
-sun/awt/X11GraphicsDevice
-sun/awt/X11GraphicsConfig
-java/awt/GraphicsConfiguration
-java/awt/ImageCapabilities
-sun/java2d/x11/X11SurfaceData
-sun/java2d/SurfaceData
-java/awt/Transparency
-sun/java2d/DisposerTarget
-sun/java2d/InvalidPipeException
-java/lang/IllegalStateException
-sun/java2d/NullSurfaceData
-sun/java2d/loops/SurfaceType
-sun/awt/image/PixelConverter
-sun/awt/image/PixelConverter$Xrgb
-sun/awt/image/PixelConverter$Argb
-sun/awt/image/PixelConverter$ArgbPre
-sun/awt/image/PixelConverter$Xbgr
-sun/awt/image/PixelConverter$Rgba
-sun/awt/image/PixelConverter$RgbaPre
-sun/awt/image/PixelConverter$Ushort565Rgb
-sun/awt/image/PixelConverter$Ushort555Rgb
-sun/awt/image/PixelConverter$Ushort555Rgbx
-sun/awt/image/PixelConverter$Ushort4444Argb
-sun/awt/image/PixelConverter$ByteGray
-sun/awt/image/PixelConverter$UshortGray
-sun/awt/image/PixelConverter$Rgbx
-sun/awt/image/PixelConverter$Bgrx
-sun/awt/image/PixelConverter$ArgbBm
-java/awt/image/ColorModel
-java/awt/image/DirectColorModel
-java/awt/image/PackedColorModel
-java/awt/color/ColorSpace
-java/awt/color/ICC_Profile
-java/awt/color/ICC_ProfileRGB
-java/awt/color/ICC_Profile$1
-java/awt/color/ICC_ColorSpace
-sun/java2d/pipe/NullPipe
-sun/java2d/pipe/PixelDrawPipe
-sun/java2d/pipe/PixelFillPipe
-sun/java2d/pipe/ShapeDrawPipe
-sun/java2d/pipe/TextPipe
-sun/java2d/pipe/DrawImagePipe
-java/awt/image/IndexColorModel
-sun/java2d/pipe/LoopPipe
-sun/java2d/pipe/OutlineTextRenderer
-sun/java2d/pipe/SolidTextRenderer
-sun/java2d/pipe/GlyphListLoopPipe
-sun/java2d/pipe/GlyphListPipe
-sun/java2d/pipe/AATextRenderer
-sun/java2d/pipe/LCDTextRenderer
-sun/java2d/pipe/AlphaColorPipe
-sun/java2d/pipe/CompositePipe
-sun/java2d/pipe/PixelToShapeConverter
-sun/java2d/pipe/TextRenderer
-sun/java2d/pipe/SpanClipRenderer
-sun/java2d/pipe/Region
-sun/java2d/pipe/RegionIterator
-sun/java2d/pipe/AlphaPaintPipe
-sun/java2d/pipe/SpanShapeRenderer$Composite
-sun/java2d/pipe/SpanShapeRenderer
-sun/java2d/pipe/GeneralCompositePipe
-sun/java2d/pipe/DrawImage
-sun/java2d/loops/RenderCache
-sun/java2d/loops/RenderCache$Entry
-sun/java2d/loops/XORComposite
-java/awt/Composite
-sun/font/X11TextRenderer
-sun/java2d/loops/GraphicsPrimitive
-sun/java2d/x11/X11PMBlitLoops
-sun/java2d/loops/Blit
-sun/java2d/loops/GraphicsPrimitiveMgr
-sun/java2d/loops/CompositeType
-sun/java2d/SunGraphics2D
-sun/awt/ConstrainableGraphics
-java/awt/Graphics2D
-java/awt/Graphics
-java/awt/Color
-java/awt/Paint
-java/awt/AlphaComposite
-sun/java2d/loops/BlitBg
-sun/java2d/loops/ScaledBlit
-sun/java2d/loops/FillRect
-sun/java2d/loops/FillSpans
-sun/java2d/loops/DrawLine
-sun/java2d/loops/DrawRect
-sun/java2d/loops/DrawPolygons
-sun/java2d/loops/DrawPath
-sun/java2d/loops/FillPath
-sun/java2d/loops/MaskBlit
-sun/java2d/loops/MaskFill
-sun/java2d/loops/DrawGlyphList
-sun/java2d/loops/DrawGlyphListAA
-sun/java2d/loops/DrawGlyphListLCD
-sun/java2d/loops/TransformHelper
-java/awt/BasicStroke
-java/awt/Stroke
-sun/misc/PerformanceLogger
-sun/misc/PerformanceLogger$TimeData
-sun/java2d/pipe/ValidatePipe
-sun/java2d/loops/CustomComponent
-sun/java2d/loops/GraphicsPrimitiveProxy
-sun/java2d/loops/GeneralRenderer
-sun/java2d/loops/GraphicsPrimitiveMgr$1
-sun/java2d/loops/GraphicsPrimitiveMgr$2
-sun/java2d/x11/X11PMBlitLoops$DelegateBlitLoop
-sun/java2d/x11/X11PMBlitBgLoops
-sun/java2d/x11/X11SurfaceData$LazyPipe
-sun/awt/X11GraphicsConfig$X11GCDisposerRecord
-sun/java2d/DisposerRecord
-java/awt/BorderLayout
-java/awt/LayoutManager2
-java/awt/Rectangle
-java/awt/Toolkit$2
-sun/awt/X11/XToolkit
-sun/awt/X11/XConstants
-sun/awt/UNIXToolkit
-java/util/TreeMap
-java/util/NavigableMap
-java/util/SortedMap
-sun/awt/X11/XlibWrapper
-sun/awt/X11/XUtilConstants
-sun/awt/X11/XProtocolConstants
-sun/awt/X11/XCursorFontConstants
-sun/awt/X11/XlibWrapper$1
-sun/awt/X11/XToolkit$4
-sun/awt/X11/XModifierKeymap
-sun/awt/X11/XWrapperBase
-sun/awt/X11/Native
-sun/awt/X11/Native$1
-java/awt/EventQueue
-java/util/EmptyStackException
-java/lang/reflect/InvocationTargetException
-java/awt/EventDispatchThread
-java/awt/event/PaintEvent
-java/awt/event/MouseEvent
-sun/awt/PeerEvent
-java/awt/event/InvocationEvent
-java/awt/ActiveEvent
-sun/awt/X11/XToolkit$1
-sun/awt/X11/XEventDispatcher
-sun/awt/SunToolkit$ModalityListenerList
-sun/awt/ModalityListener
-sun/awt/SunToolkit$1
-java/util/MissingResourceException
-java/awt/Queue
-sun/awt/PostEventQueue
-java/util/LinkedList
-java/util/Deque
-java/util/Queue
-java/util/AbstractSequentialList
-sun/awt/X11/AwtScreenData
-sun/awt/X11/XWM
-sun/awt/X11/MWMConstants
-sun/awt/X11/XAtom
-java/awt/Insets
-sun/awt/X11/XWM$1
-sun/awt/X11/XSetWindowAttributes
-sun/awt/X11/XErrorEvent
-sun/awt/X11/XNETProtocol
-sun/awt/X11/XStateProtocol
-sun/awt/X11/XLayerProtocol
-sun/awt/X11/XProtocol
-java/lang/Long$LongCache
-sun/awt/X11/WindowPropertyGetter
-sun/awt/X11/UnsafeXDisposerRecord
-sun/awt/X11/XPropertyCache
-sun/awt/X11/XWINProtocol
-sun/awt/X11/XAtomList
-sun/awt/X11/XToolkit$3
-java/awt/Window$WindowDisposerRecord
-sun/awt/X11/XAnyEvent
-java/awt/KeyboardFocusManager
-java/awt/KeyEventDispatcher
-java/awt/KeyEventPostProcessor
+java/awt/AWTEvent$1
+java/awt/AWTEventMulticaster
 java/awt/AWTKeyStroke
 java/awt/AWTKeyStroke$1
-java/awt/DefaultKeyboardFocusManager
-java/awt/DefaultFocusTraversalPolicy
+java/awt/ActiveEvent
+java/awt/Adjustable
+java/awt/AlphaComposite
+java/awt/BasicStroke
+java/awt/BorderLayout
+java/awt/BufferCapabilities
+java/awt/Canvas
+java/awt/CardLayout
+java/awt/CardLayout$Card
+java/awt/Color
+java/awt/Component
+java/awt/Component$1
+java/awt/Component$3
+java/awt/Component$AWTTreeLock
+java/awt/Component$AccessibleAWTComponent
+java/awt/Component$BaselineResizeBehavior
+java/awt/Component$BltBufferStrategy
+java/awt/Component$BltSubRegionBufferStrategy
+java/awt/Component$DummyRequestFocusController
+java/awt/Component$FlipBufferStrategy
+java/awt/ComponentOrientation
+java/awt/Composite
+java/awt/Conditional
+java/awt/Container
+java/awt/Container$1
+java/awt/Container$AccessibleAWTContainer
 java/awt/ContainerOrderFocusTraversalPolicy
+java/awt/Cursor
+java/awt/Cursor$1
+java/awt/DefaultFocusTraversalPolicy
+java/awt/DefaultKeyboardFocusManager
+java/awt/DefaultKeyboardFocusManager$1
+java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent
+java/awt/DefaultKeyboardFocusManager$TypeAheadMarker
+java/awt/Dialog
+java/awt/Dialog$ModalExclusionType
+java/awt/Dialog$ModalityType
+java/awt/Dimension
+java/awt/Event
+java/awt/EventDispatchThread
+java/awt/EventDispatchThread$1
+java/awt/EventDispatchThread$HierarchyEventFilter
+java/awt/EventFilter
+java/awt/EventFilter$FilterAction
+java/awt/EventQueue
+java/awt/EventQueue$1
+java/awt/EventQueue$1AWTInvocationLock
+java/awt/EventQueue$2
+java/awt/EventQueue$3
+java/awt/EventQueue$4
+java/awt/EventQueue$5
+java/awt/FlowLayout
 java/awt/FocusTraversalPolicy
-java/util/Collections$UnmodifiableSet
-sun/awt/HeadlessToolkit
-sun/awt/X11/XKeyboardFocusManagerPeer
-java/awt/peer/KeyboardFocusManagerPeer
-sun/awt/X11/XKeyboardFocusManagerPeer$1
-sun/awt/X11/XFramePeer
-java/awt/peer/FramePeer
-java/awt/peer/WindowPeer
-java/awt/peer/ContainerPeer
-java/awt/peer/ComponentPeer
-sun/awt/X11/XDecoratedPeer
-sun/awt/X11/XWindowPeer
-sun/awt/X11/XPanelPeer
-java/awt/peer/PanelPeer
-sun/awt/X11/XCanvasPeer
-java/awt/peer/CanvasPeer
-sun/awt/X11/XComponentPeer
-java/awt/dnd/peer/DropTargetPeer
-sun/awt/X11/XWindow
-sun/awt/X11ComponentPeer
-sun/awt/X11/XBaseWindow
-sun/awt/X11/XCreateWindowParams
-sun/awt/X11/XBaseWindow$InitialiseState
-sun/awt/X11/XBaseWindow$StateLock
-sun/awt/X11/AwtGraphicsConfigData
-sun/awt/X11/XVisualInfo
-java/awt/SystemColor
-sun/awt/X11/MotifColorUtilities
-java/util/concurrent/locks/LockSupport
-sun/nio/ch/Interruptible
-java/lang/StringIndexOutOfBoundsException
-java/lang/IndexOutOfBoundsException
-java/lang/StrictMath
-sun/awt/X11/XRepaintArea
-sun/awt/RepaintArea
-sun/awt/X11/XWindowAttributesData
-sun/awt/X11/WindowDimensions
+java/awt/Font
+java/awt/Font$FontAccessImpl
+java/awt/FontFormatException
+java/awt/FontMetrics
+java/awt/Frame
+java/awt/Frame$1
+java/awt/Graphics
+java/awt/Graphics2D
+java/awt/GraphicsCallback
+java/awt/GraphicsCallback$PaintCallback
+java/awt/GraphicsConfiguration
+java/awt/GraphicsDevice
+java/awt/GraphicsEnvironment
+java/awt/GraphicsEnvironment$1
+java/awt/GridLayout
+java/awt/Image
+java/awt/Image$1
+java/awt/ImageCapabilities
+java/awt/ImageMediaEntry
+java/awt/Insets
+java/awt/ItemSelectable
+java/awt/KeyEventDispatcher
+java/awt/KeyEventPostProcessor
+java/awt/KeyboardFocusManager
+java/awt/KeyboardFocusManager$1
+java/awt/KeyboardFocusManager$3
+java/awt/KeyboardFocusManager$HeavyweightFocusRequest
+java/awt/KeyboardFocusManager$LightweightFocusRequest
+java/awt/Label
+java/awt/LayoutManager
+java/awt/LayoutManager2
+java/awt/LightweightDispatcher
+java/awt/LightweightDispatcher$2
+java/awt/MediaEntry
+java/awt/MediaTracker
+java/awt/MenuBar
+java/awt/MenuComponent
+java/awt/MenuContainer
+java/awt/ModalEventFilter
+java/awt/Paint
+java/awt/Panel
 java/awt/Point
-java/util/TreeMap$Entry
-sun/awt/X11/XRootWindow
-sun/nio/cs/ISO_8859_1
-sun/nio/cs/ISO_8859_1$Encoder
-sun/nio/cs/ISO_8859_1$Decoder
-sun/awt/X11/XPropertyEvent
-sun/awt/X11/XDropTargetEventProcessor
-sun/awt/X11/XDragSourceContextPeer
-sun/awt/X11/XDragSourceProtocolListener
-sun/awt/dnd/SunDragSourceContextPeer
-java/awt/dnd/peer/DragSourceContextPeer
-sun/awt/X11/XAwtState
-sun/awt/X11/XBaseWindow$1
-sun/java2d/x11/X11SurfaceData$X11WindowSurfaceData
-sun/java2d/loops/RenderLoops
-sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec
-sun/java2d/DefaultDisposerRecord
-sun/java2d/x11/X11Renderer
-sun/awt/X11/XGlobalCursorManager
-sun/awt/GlobalCursorManager
-java/awt/Cursor$CursorDisposer
-java/awt/AWTException
-java/awt/HeadlessException
-java/lang/UnsupportedOperationException
-sun/reflect/UnsafeLongFieldAccessorImpl
-sun/reflect/UnsafeIntegerFieldAccessorImpl
-sun/awt/X11/XClientMessageEvent
-sun/awt/X11/XIconInfo
-sun/awt/X11/XAWTIcon32_java_icon16_png
-sun/awt/X11/XAWTIcon32_java_icon24_png
-sun/awt/X11/XAWTIcon32_java_icon32_png
-sun/awt/X11/XAWTIcon32_java_icon48_png
-sun/awt/X11/XSizeHints
-sun/awt/X11/XContentWindow
-sun/awt/X11/XFocusProxyWindow
-sun/awt/X11/XWMHints
-java/util/LinkedList$ListItr
-java/util/ListIterator
-sun/awt/SunToolkit$2
-java/awt/image/BufferStrategy
+java/awt/PrintGraphics
+java/awt/Queue
+java/awt/Rectangle
+java/awt/RenderingHints
+java/awt/RenderingHints$Key
+java/awt/SentEvent
+java/awt/SequencedEvent
+java/awt/SequencedEvent$1
+java/awt/Shape
+java/awt/SplashScreen
+java/awt/Stroke
+java/awt/SystemColor
+java/awt/Toolkit
+java/awt/Toolkit$1
+java/awt/Toolkit$2
+java/awt/Toolkit$3
+java/awt/Toolkit$4
+java/awt/Toolkit$5
+java/awt/Toolkit$DesktopPropertyChangeSupport
+java/awt/Toolkit$DesktopPropertyChangeSupport$1
+java/awt/Toolkit$SelectiveAWTEventListener
+java/awt/Toolkit$ToolkitEventMulticaster
+java/awt/Transparency
+java/awt/TrayIcon
+java/awt/VKCollection
+java/awt/Window
+java/awt/Window$1
+java/awt/Window$1DisposeAction
+java/awt/Window$Type
+java/awt/Window$WindowDisposerRecord
+java/awt/color/ColorSpace
+java/awt/color/ICC_ColorSpace
+java/awt/color/ICC_Profile
+java/awt/color/ICC_Profile$1
+java/awt/color/ICC_ProfileRGB
+java/awt/datatransfer/Clipboard
+java/awt/datatransfer/ClipboardOwner
+java/awt/datatransfer/FlavorMap
+java/awt/datatransfer/FlavorTable
+java/awt/datatransfer/SystemFlavorMap
+java/awt/datatransfer/Transferable
 java/awt/dnd/DropTarget
+java/awt/dnd/DropTargetContext
 java/awt/dnd/DropTargetListener
+java/awt/dnd/peer/DragSourceContextPeer
+java/awt/dnd/peer/DropTargetContextPeer
+java/awt/dnd/peer/DropTargetPeer
+java/awt/event/AWTEventListener
+java/awt/event/AWTEventListenerProxy
+java/awt/event/ActionEvent
+java/awt/event/ActionListener
+java/awt/event/AdjustmentEvent
+java/awt/event/AdjustmentListener
+java/awt/event/ComponentAdapter
+java/awt/event/ComponentEvent
 java/awt/event/ComponentListener
+java/awt/event/ContainerEvent
+java/awt/event/ContainerListener
+java/awt/event/FocusAdapter
+java/awt/event/FocusEvent
 java/awt/event/FocusListener
-java/awt/event/HierarchyListener
 java/awt/event/HierarchyBoundsListener
+java/awt/event/HierarchyListener
+java/awt/event/InputEvent
+java/awt/event/InputEvent$1
+java/awt/event/InputMethodEvent
+java/awt/event/InputMethodListener
+java/awt/event/InvocationEvent
+java/awt/event/InvocationEvent$1
+java/awt/event/ItemEvent
+java/awt/event/ItemListener
+java/awt/event/KeyAdapter
+java/awt/event/KeyEvent
+java/awt/event/KeyEvent$1
 java/awt/event/KeyListener
+java/awt/event/MouseAdapter
+java/awt/event/MouseEvent
 java/awt/event/MouseListener
+java/awt/event/MouseMotionAdapter
 java/awt/event/MouseMotionListener
 java/awt/event/MouseWheelListener
-java/awt/event/InputMethodListener
-java/awt/event/ContainerListener
-javax/accessibility/AccessibleContext
-sun/reflect/UnsafeObjectFieldAccessorImpl
-java/awt/peer/LightweightPeer
-sun/awt/X11/XLabelPeer
+java/awt/event/NativeLibLoader
+java/awt/event/NativeLibLoader$1
+java/awt/event/PaintEvent
+java/awt/event/TextListener
+java/awt/event/WindowAdapter
+java/awt/event/WindowEvent
+java/awt/event/WindowFocusListener
+java/awt/event/WindowListener
+java/awt/event/WindowStateListener
+java/awt/font/FontRenderContext
+java/awt/font/GlyphVector
+java/awt/font/LineMetrics
+java/awt/font/TextAttribute
+java/awt/geom/AffineTransform
+java/awt/geom/Dimension2D
+java/awt/geom/GeneralPath
+java/awt/geom/Path2D
+java/awt/geom/Path2D$Float
+java/awt/geom/Path2D$Float$CopyIterator
+java/awt/geom/Path2D$Iterator
+java/awt/geom/PathIterator
+java/awt/geom/Point2D
+java/awt/geom/Point2D$Float
+java/awt/geom/RectIterator
+java/awt/geom/Rectangle2D
+java/awt/geom/Rectangle2D$Float
+java/awt/geom/RectangularShape
+java/awt/im/InputContext
+java/awt/im/InputMethodRequests
+java/awt/im/spi/InputMethod
+java/awt/im/spi/InputMethodContext
+java/awt/im/spi/InputMethodDescriptor
+java/awt/image/BufferStrategy
+java/awt/image/BufferedImage
+java/awt/image/BufferedImage$1
+java/awt/image/ColorModel
+java/awt/image/ColorModel$1
+java/awt/image/ComponentSampleModel
+java/awt/image/DataBuffer
+java/awt/image/DataBuffer$1
+java/awt/image/DataBufferByte
+java/awt/image/DataBufferInt
+java/awt/image/DirectColorModel
+java/awt/image/FilteredImageSource
+java/awt/image/ImageConsumer
+java/awt/image/ImageFilter
+java/awt/image/ImageObserver
+java/awt/image/ImageProducer
+java/awt/image/IndexColorModel
+java/awt/image/PackedColorModel
+java/awt/image/PixelInterleavedSampleModel
+java/awt/image/RGBImageFilter
+java/awt/image/Raster
+java/awt/image/RenderedImage
+java/awt/image/SampleModel
+java/awt/image/SinglePixelPackedSampleModel
+java/awt/image/VolatileImage
+java/awt/image/WritableRaster
+java/awt/image/WritableRenderedImage
+java/awt/peer/CanvasPeer
+java/awt/peer/ComponentPeer
+java/awt/peer/ContainerPeer
+java/awt/peer/FramePeer
+java/awt/peer/KeyboardFocusManagerPeer
 java/awt/peer/LabelPeer
-sun/awt/X11/XQueryTree
-sun/awt/X11/XMapEvent
-sun/awt/X11/XConfigureEvent
-sun/awt/X11/PropMwmHints
-sun/awt/GlobalCursorManager$NativeUpdater
-javax/swing/JFrame
-javax/swing/WindowConstants
-javax/swing/RootPaneContainer
-javax/swing/TransferHandler$HasGetTransferHandler
-javax/swing/JLabel
-javax/swing/SwingConstants
-javax/swing/JComponent
-javax/swing/JComponent$1
-javax/swing/SwingUtilities
-javax/swing/JRootPane
-sun/security/action/GetBooleanAction
-javax/swing/event/EventListenerList
-javax/swing/JPanel
-java/awt/FlowLayout
-javax/swing/UIManager
-javax/swing/UIManager$LookAndFeelInfo
-sun/swing/SwingUtilities2
-sun/swing/SwingUtilities2$LSBCacheEntry
-javax/swing/UIManager$LAFState
-javax/swing/UIDefaults
-javax/swing/MultiUIDefaults
-javax/swing/UIManager$1
-javax/swing/plaf/metal/MetalLookAndFeel
-javax/swing/plaf/basic/BasicLookAndFeel
-javax/swing/LookAndFeel
-sun/swing/DefaultLookup
-javax/swing/plaf/metal/OceanTheme
-javax/swing/plaf/metal/DefaultMetalTheme
-javax/swing/plaf/metal/MetalTheme
-javax/swing/plaf/ColorUIResource
-javax/swing/plaf/UIResource
-sun/swing/PrintColorUIResource
-javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate
-javax/swing/plaf/FontUIResource
-sun/swing/SwingLazyValue
-javax/swing/UIDefaults$LazyValue
-javax/swing/UIDefaults$ActiveValue
-javax/swing/plaf/InsetsUIResource
-sun/swing/SwingUtilities2$2
-javax/swing/plaf/basic/BasicLookAndFeel$2
-javax/swing/plaf/DimensionUIResource
-javax/swing/UIDefaults$LazyInputMap
-java/lang/Character$CharacterCache
-javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue
-javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue
-java/awt/print/PrinterJob
-sun/swing/SwingUtilities2$AATextInfo
-sun/awt/X11/XAWTXSettings
-sun/awt/X11/XMSelectionListener
-sun/awt/XSettings
-sun/awt/X11/XMSelection
-sun/awt/X11/XMSelection$1
-sun/awt/X11/XMSelection$3
-sun/awt/XSettings$Update
-java/util/HashMap$EntrySet
-java/util/HashMap$EntryIterator
-javax/swing/plaf/metal/MetalLookAndFeel$AATextListener
+java/awt/peer/LightweightPeer
+java/awt/peer/PanelPeer
+java/awt/peer/SystemTrayPeer
+java/awt/peer/WindowPeer
+java/awt/print/PrinterGraphics
+java/beans/ChangeListenerMap
+java/beans/PropertyChangeEvent
 java/beans/PropertyChangeListener
 java/beans/PropertyChangeListenerProxy
+java/beans/PropertyChangeSupport
+java/beans/PropertyChangeSupport$PropertyChangeListenerMap
+java/beans/VetoableChangeListener
+java/io/Bits
+java/io/BufferedInputStream
+java/io/BufferedOutputStream
+java/io/BufferedReader
+java/io/BufferedWriter
+java/io/ByteArrayInputStream
+java/io/ByteArrayOutputStream
+java/io/Closeable
+java/io/DataInput
+java/io/DataInputStream
+java/io/DataOutput
+java/io/DataOutputStream
+java/io/DefaultFileSystem
+java/io/EOFException
+java/io/ExpiringCache
+java/io/ExpiringCache$1
+java/io/ExpiringCache$Entry
+java/io/Externalizable
+java/io/File
+java/io/File$PathStatus
+java/io/FileDescriptor
+java/io/FileDescriptor$1
+java/io/FileInputStream
+java/io/FileInputStream$1
+java/io/FileNotFoundException
+java/io/FileOutputStream
+java/io/FileOutputStream$1
+java/io/FilePermission
+java/io/FilePermission$1
+java/io/FilePermissionCollection
+java/io/FileReader
+java/io/FileSystem
+java/io/FileWriter
+java/io/FilenameFilter
+java/io/FilterInputStream
+java/io/FilterOutputStream
+java/io/FilterReader
+java/io/Flushable
+java/io/IOException
+java/io/InputStream
+java/io/InputStreamReader
+java/io/InterruptedIOException
+java/io/NotSerializableException
+java/io/ObjectInput
+java/io/ObjectInputStream
+java/io/ObjectInputStream$BlockDataInputStream
+java/io/ObjectInputStream$GetField
+java/io/ObjectInputStream$GetFieldImpl
+java/io/ObjectInputStream$HandleTable
+java/io/ObjectInputStream$HandleTable$HandleList
+java/io/ObjectInputStream$PeekInputStream
+java/io/ObjectInputStream$ValidationList
+java/io/ObjectOutput
+java/io/ObjectOutputStream
+java/io/ObjectOutputStream$BlockDataOutputStream
+java/io/ObjectOutputStream$HandleTable
+java/io/ObjectOutputStream$ReplaceTable
+java/io/ObjectStreamClass
+java/io/ObjectStreamClass$1
+java/io/ObjectStreamClass$2
+java/io/ObjectStreamClass$3
+java/io/ObjectStreamClass$4
+java/io/ObjectStreamClass$5
+java/io/ObjectStreamClass$Caches
+java/io/ObjectStreamClass$ClassDataSlot
+java/io/ObjectStreamClass$EntryFuture
+java/io/ObjectStreamClass$ExceptionInfo
+java/io/ObjectStreamClass$FieldReflector
+java/io/ObjectStreamClass$FieldReflectorKey
+java/io/ObjectStreamClass$MemberSignature
+java/io/ObjectStreamClass$WeakClassKey
+java/io/ObjectStreamConstants
+java/io/ObjectStreamException
+java/io/ObjectStreamField
+java/io/OutputStream
+java/io/OutputStreamWriter
+java/io/PrintStream
+java/io/PushbackInputStream
+java/io/RandomAccessFile
+java/io/RandomAccessFile$1
+java/io/Reader
+java/io/SerialCallbackContext
+java/io/Serializable
+java/io/StreamTokenizer
+java/io/StringReader
+java/io/StringWriter
+java/io/UnixFileSystem
+java/io/UnsupportedEncodingException
+java/io/Writer
+java/lang/AbstractStringBuilder
+java/lang/Appendable
+java/lang/ApplicationShutdownHooks
+java/lang/ApplicationShutdownHooks$1
+java/lang/ArithmeticException
+java/lang/ArrayIndexOutOfBoundsException
+java/lang/ArrayStoreException
+java/lang/AssertionError
+java/lang/AutoCloseable
+java/lang/Boolean
+java/lang/BootstrapMethodError
+java/lang/Byte
+java/lang/CharSequence
+java/lang/Character
+java/lang/Character$CharacterCache
+java/lang/CharacterData
+java/lang/CharacterData00
+java/lang/CharacterDataLatin1
+java/lang/Class
+java/lang/Class$1
+java/lang/Class$3
+java/lang/Class$4
+java/lang/Class$AnnotationData
+java/lang/Class$Atomic
+java/lang/Class$ReflectionData
+java/lang/ClassCastException
+java/lang/ClassFormatError
+java/lang/ClassLoader
+java/lang/ClassLoader$2
+java/lang/ClassLoader$3
+java/lang/ClassLoader$NativeLibrary
+java/lang/ClassLoader$ParallelLoaders
+java/lang/ClassLoaderHelper
+java/lang/ClassNotFoundException
+java/lang/ClassValue$ClassValueMap
+java/lang/CloneNotSupportedException
+java/lang/Cloneable
+java/lang/Comparable
+java/lang/Compiler
+java/lang/Compiler$1
+java/lang/Double
+java/lang/Enum
+java/lang/Error
+java/lang/Exception
+java/lang/ExceptionInInitializerError
+java/lang/Float
+java/lang/IllegalAccessError
+java/lang/IllegalAccessException
+java/lang/IllegalArgumentException
+java/lang/IllegalMonitorStateException
+java/lang/IllegalStateException
+java/lang/IncompatibleClassChangeError
+java/lang/IndexOutOfBoundsException
+java/lang/InheritableThreadLocal
+java/lang/InstantiationException
+java/lang/Integer
+java/lang/Integer$IntegerCache
+java/lang/InternalError
+java/lang/InterruptedException
+java/lang/Iterable
+java/lang/LinkageError
+java/lang/Long
+java/lang/Long$LongCache
+java/lang/Math
+java/lang/NoClassDefFoundError
+java/lang/NoSuchFieldException
+java/lang/NoSuchMethodError
+java/lang/NoSuchMethodException
+java/lang/NullPointerException
+java/lang/Number
+java/lang/NumberFormatException
+java/lang/Object
+java/lang/OutOfMemoryError
+java/lang/Package
+java/lang/Process
+java/lang/ProcessBuilder
+java/lang/ProcessEnvironment
+java/lang/ProcessEnvironment$ExternalData
+java/lang/ProcessEnvironment$StringEnvironment
+java/lang/ProcessEnvironment$Value
+java/lang/ProcessEnvironment$Variable
+java/lang/ProcessImpl
+java/lang/Readable
+java/lang/ReflectiveOperationException
+java/lang/Runnable
+java/lang/Runtime
+java/lang/RuntimeException
+java/lang/RuntimePermission
+java/lang/SecurityException
+java/lang/SecurityManager
+java/lang/Short
+java/lang/Short$ShortCache
+java/lang/Shutdown
+java/lang/Shutdown$Lock
+java/lang/StackOverflowError
+java/lang/StackTraceElement
+java/lang/StrictMath
+java/lang/String
+java/lang/String$CaseInsensitiveComparator
+java/lang/StringBuffer
+java/lang/StringBuilder
+java/lang/StringCoding
+java/lang/StringCoding$StringDecoder
+java/lang/StringCoding$StringEncoder
+java/lang/StringIndexOutOfBoundsException
+java/lang/System
+java/lang/System$2
+java/lang/SystemClassLoaderAction
+java/lang/Terminator
+java/lang/Terminator$1
+java/lang/Thread
+java/lang/Thread$State
+java/lang/Thread$UncaughtExceptionHandler
+java/lang/ThreadDeath
+java/lang/ThreadGroup
+java/lang/ThreadLocal
+java/lang/ThreadLocal$ThreadLocalMap
+java/lang/ThreadLocal$ThreadLocalMap$Entry
+java/lang/Throwable
+java/lang/Throwable$PrintStreamOrWriter
+java/lang/Throwable$WrappedPrintStream
+java/lang/UNIXProcess
+java/lang/UNIXProcess$1
+java/lang/UNIXProcess$2
+java/lang/UNIXProcess$3
+java/lang/UNIXProcess$3$1
+java/lang/UNIXProcess$DeferredCloseInputStream
+java/lang/UNIXProcess$LaunchMechanism
+java/lang/UnsatisfiedLinkError
+java/lang/UnsupportedOperationException
+java/lang/VirtualMachineError
+java/lang/Void
+java/lang/annotation/Annotation
+java/lang/invoke/CallSite
+java/lang/invoke/ConstantCallSite
+java/lang/invoke/DirectMethodHandle
+java/lang/invoke/Invokers
+java/lang/invoke/LambdaForm
+java/lang/invoke/LambdaForm$NamedFunction
+java/lang/invoke/MemberName
+java/lang/invoke/MemberName$Factory
+java/lang/invoke/MethodHandle
+java/lang/invoke/MethodHandleImpl
+java/lang/invoke/MethodHandleNatives
+java/lang/invoke/MethodHandleStatics
+java/lang/invoke/MethodHandleStatics$1
+java/lang/invoke/MethodType
+java/lang/invoke/MethodType$ConcurrentWeakInternSet
+java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry
+java/lang/invoke/MethodTypeForm
+java/lang/invoke/MutableCallSite
+java/lang/invoke/VolatileCallSite
+java/lang/ref/FinalReference
+java/lang/ref/Finalizer
+java/lang/ref/Finalizer$FinalizerThread
+java/lang/ref/PhantomReference
+java/lang/ref/Reference
+java/lang/ref/Reference$Lock
+java/lang/ref/Reference$ReferenceHandler
+java/lang/ref/ReferenceQueue
+java/lang/ref/ReferenceQueue$Lock
+java/lang/ref/ReferenceQueue$Null
+java/lang/ref/SoftReference
+java/lang/ref/WeakReference
+java/lang/reflect/AccessibleObject
+java/lang/reflect/AnnotatedElement
+java/lang/reflect/Array
+java/lang/reflect/Constructor
+java/lang/reflect/Executable
+java/lang/reflect/Field
+java/lang/reflect/GenericDeclaration
+java/lang/reflect/InvocationHandler
+java/lang/reflect/InvocationTargetException
+java/lang/reflect/Member
+java/lang/reflect/Method
+java/lang/reflect/Modifier
+java/lang/reflect/Parameter
+java/lang/reflect/Proxy
+java/lang/reflect/Proxy$KeyFactory
+java/lang/reflect/Proxy$ProxyClassFactory
+java/lang/reflect/ReflectAccess
+java/lang/reflect/ReflectPermission
+java/lang/reflect/Type
+java/lang/reflect/WeakCache
+java/math/BigInteger
+java/math/BigInteger$UnsafeHolder
+java/math/MutableBigInteger
+java/math/RoundingMode
+java/net/AbstractPlainDatagramSocketImpl
+java/net/AbstractPlainDatagramSocketImpl$1
+java/net/AbstractPlainSocketImpl
+java/net/AbstractPlainSocketImpl$1
+java/net/Authenticator
+java/net/BindException
+java/net/ConnectException
+java/net/DatagramPacket
+java/net/DatagramPacket$1
+java/net/DatagramSocket
+java/net/DatagramSocket$1
+java/net/DatagramSocketImpl
+java/net/DefaultDatagramSocketImplFactory
+java/net/DefaultInterface
+java/net/FileNameMap
+java/net/HttpURLConnection
+java/net/Inet4Address
+java/net/Inet4AddressImpl
+java/net/Inet6Address
+java/net/Inet6Address$Inet6AddressHolder
+java/net/Inet6AddressImpl
+java/net/InetAddress
+java/net/InetAddress$1
+java/net/InetAddress$2
+java/net/InetAddress$Cache
+java/net/InetAddress$Cache$Type
+java/net/InetAddress$CacheEntry
+java/net/InetAddress$InetAddressHolder
+java/net/InetAddressImpl
+java/net/InetAddressImplFactory
+java/net/InetSocketAddress
+java/net/InetSocketAddress$InetSocketAddressHolder
+java/net/InterfaceAddress
+java/net/JarURLConnection
+java/net/MalformedURLException
+java/net/MulticastSocket
+java/net/NetworkInterface
+java/net/NetworkInterface$1
+java/net/NetworkInterface$2
+java/net/NoRouteToHostException
+java/net/Parts
+java/net/PlainDatagramSocketImpl
+java/net/PlainSocketImpl
+java/net/Proxy
+java/net/Proxy$Type
+java/net/ProxySelector
+java/net/ServerSocket
+java/net/Socket
+java/net/SocketAddress
+java/net/SocketException
+java/net/SocketImpl
+java/net/SocketImplFactory
+java/net/SocketOptions
+java/net/SocksConsts
+java/net/SocksSocketImpl
+java/net/SocksSocketImpl$3
+java/net/URI
+java/net/URI$Parser
+java/net/URL
+java/net/URLClassLoader
+java/net/URLClassLoader$1
+java/net/URLClassLoader$2
+java/net/URLClassLoader$3
+java/net/URLClassLoader$3$1
+java/net/URLClassLoader$7
+java/net/URLConnection
+java/net/URLConnection$1
+java/net/URLStreamHandler
+java/net/URLStreamHandlerFactory
+java/net/UnknownHostException
+java/nio/Bits
+java/nio/Bits$1
+java/nio/Buffer
+java/nio/BufferUnderflowException
+java/nio/ByteBuffer
+java/nio/ByteBufferAsIntBufferB
+java/nio/ByteBufferAsShortBufferB
+java/nio/ByteOrder
+java/nio/CharBuffer
+java/nio/DirectByteBuffer
+java/nio/DirectByteBuffer$Deallocator
+java/nio/DirectByteBufferR
+java/nio/DirectLongBufferU
+java/nio/HeapByteBuffer
+java/nio/HeapCharBuffer
+java/nio/IntBuffer
+java/nio/LongBuffer
+java/nio/MappedByteBuffer
+java/nio/ShortBuffer
+java/nio/channels/ByteChannel
+java/nio/channels/Channel
+java/nio/channels/FileChannel
+java/nio/channels/FileChannel$MapMode
+java/nio/channels/GatheringByteChannel
+java/nio/channels/InterruptibleChannel
+java/nio/channels/NetworkChannel
+java/nio/channels/ReadableByteChannel
+java/nio/channels/ScatteringByteChannel
+java/nio/channels/SeekableByteChannel
+java/nio/channels/SelectableChannel
+java/nio/channels/SocketChannel
+java/nio/channels/WritableByteChannel
+java/nio/channels/spi/AbstractInterruptibleChannel
+java/nio/channels/spi/AbstractInterruptibleChannel$1
+java/nio/channels/spi/AbstractSelectableChannel
+java/nio/charset/Charset
+java/nio/charset/Charset$ExtendedProviderHolder
+java/nio/charset/Charset$ExtendedProviderHolder$1
+java/nio/charset/CharsetDecoder
+java/nio/charset/CharsetEncoder
+java/nio/charset/CoderResult
+java/nio/charset/CoderResult$1
+java/nio/charset/CoderResult$2
+java/nio/charset/CoderResult$Cache
+java/nio/charset/CodingErrorAction
+java/nio/charset/StandardCharsets
+java/nio/charset/spi/CharsetProvider
+java/nio/file/Path
+java/nio/file/Watchable
+java/nio/file/attribute/FileAttribute
+java/security/AccessControlContext
+java/security/AccessControlException
+java/security/AccessController
+java/security/AlgorithmParameters
+java/security/AlgorithmParametersSpi
+java/security/AllPermission
+java/security/AllPermissionCollection
+java/security/AuthProvider
+java/security/BasicPermission
+java/security/BasicPermissionCollection
+java/security/CodeSigner
+java/security/CodeSource
+java/security/DigestException
+java/security/GeneralSecurityException
+java/security/Guard
+java/security/InvalidAlgorithmParameterException
+java/security/InvalidKeyException
+java/security/InvalidParameterException
+java/security/Key
+java/security/KeyException
+java/security/KeyFactory
+java/security/KeyFactorySpi
+java/security/MessageDigest
+java/security/MessageDigest$Delegate
+java/security/MessageDigestSpi
+java/security/NoSuchAlgorithmException
+java/security/Permission
+java/security/PermissionCollection
+java/security/Permissions
+java/security/Principal
+java/security/PrivateKey
+java/security/PrivilegedAction
+java/security/PrivilegedActionException
+java/security/PrivilegedExceptionAction
+java/security/ProtectionDomain
+java/security/ProtectionDomain$1
+java/security/ProtectionDomain$3
+java/security/ProtectionDomain$Key
+java/security/Provider
+java/security/Provider$EngineDescription
+java/security/Provider$Service
+java/security/Provider$ServiceKey
+java/security/Provider$UString
+java/security/ProviderException
+java/security/PublicKey
+java/security/SecureClassLoader
+java/security/SecureRandomSpi
+java/security/Security
+java/security/Security$1
+java/security/SecurityPermission
+java/security/Signature
+java/security/Signature$Delegate
+java/security/SignatureException
+java/security/SignatureSpi
+java/security/UnresolvedPermission
+java/security/cert/CertPath
+java/security/cert/Certificate
+java/security/cert/CertificateFactory
+java/security/cert/CertificateFactorySpi
+java/security/cert/Extension
+java/security/cert/X509Certificate
+java/security/cert/X509Extension
+java/security/interfaces/DSAKey
+java/security/interfaces/DSAParams
+java/security/interfaces/DSAPrivateKey
+java/security/interfaces/DSAPublicKey
+java/security/interfaces/RSAKey
+java/security/interfaces/RSAPrivateCrtKey
+java/security/interfaces/RSAPrivateKey
+java/security/interfaces/RSAPublicKey
+java/security/spec/AlgorithmParameterSpec
+java/security/spec/DSAParameterSpec
+java/security/spec/DSAPublicKeySpec
+java/security/spec/EncodedKeySpec
+java/security/spec/InvalidKeySpecException
+java/security/spec/KeySpec
+java/security/spec/PKCS8EncodedKeySpec
+java/security/spec/RSAPrivateCrtKeySpec
+java/security/spec/RSAPrivateKeySpec
+java/security/spec/RSAPublicKeySpec
+java/security/spec/X509EncodedKeySpec
+java/text/AttributedCharacterIterator$Attribute
+java/text/CharacterIterator
+java/text/Collator
+java/text/DateFormat
+java/text/DateFormat$Field
+java/text/DateFormatSymbols
+java/text/DecimalFormat
+java/text/DecimalFormatSymbols
+java/text/DigitList
+java/text/DontCareFieldPosition
+java/text/DontCareFieldPosition$1
+java/text/EntryPair
+java/text/FieldPosition
+java/text/Format
+java/text/Format$Field
+java/text/Format$FieldDelegate
+java/text/MergeCollation
+java/text/MessageFormat
+java/text/MessageFormat$Field
+java/text/Normalizer
+java/text/Normalizer$Form
+java/text/NumberFormat
+java/text/NumberFormat$Field
+java/text/ParseException
+java/text/PatternEntry
+java/text/PatternEntry$Parser
+java/text/RBCollationTables
+java/text/RBCollationTables$BuildAPI
+java/text/RBTableBuilder
+java/text/RuleBasedCollator
+java/text/SimpleDateFormat
+java/text/spi/BreakIteratorProvider
+java/text/spi/CollatorProvider
+java/text/spi/DateFormatProvider
+java/text/spi/DateFormatSymbolsProvider
+java/text/spi/DecimalFormatSymbolsProvider
+java/text/spi/NumberFormatProvider
+java/util/AbstractCollection
+java/util/AbstractList
+java/util/AbstractList$Itr
+java/util/AbstractList$ListItr
+java/util/AbstractMap
+java/util/AbstractQueue
+java/util/AbstractSequentialList
+java/util/AbstractSet
+java/util/ArrayDeque
+java/util/ArrayList
+java/util/ArrayList$1
+java/util/ArrayList$Itr
+java/util/ArrayList$ListItr
+java/util/ArrayList$SubList
+java/util/ArrayList$SubList$1
+java/util/Arrays
+java/util/Arrays$ArrayList
+java/util/Arrays$LegacyMergeSort
+java/util/Base64
+java/util/Base64$Decoder
+java/util/Base64$Encoder
+java/util/BitSet
+java/util/Calendar
+java/util/Calendar$Builder
+java/util/Collection
+java/util/Collections
+java/util/Collections$3
+java/util/Collections$EmptyEnumeration
+java/util/Collections$EmptyIterator
+java/util/Collections$EmptyList
+java/util/Collections$EmptyMap
+java/util/Collections$EmptySet
+java/util/Collections$SetFromMap
+java/util/Collections$SynchronizedCollection
+java/util/Collections$SynchronizedMap
+java/util/Collections$SynchronizedSet
+java/util/Collections$SynchronizedSortedSet
+java/util/Collections$UnmodifiableCollection
+java/util/Collections$UnmodifiableCollection$1
+java/util/Collections$UnmodifiableList
+java/util/Collections$UnmodifiableList$1
+java/util/Collections$UnmodifiableMap
+java/util/Collections$UnmodifiableRandomAccessList
+java/util/Collections$UnmodifiableSet
+java/util/ComparableTimSort
+java/util/Comparator
+java/util/Currency
+java/util/Currency$1
+java/util/Currency$CurrencyNameGetter
+java/util/Date
+java/util/Deque
+java/util/Dictionary
+java/util/Enumeration
+java/util/EventListener
 java/util/EventListenerProxy
-sun/awt/EventListenerAggregate
-javax/swing/UIDefaults$ProxyLazyValue
+java/util/EventObject
+java/util/GregorianCalendar
+java/util/HashMap
+java/util/HashMap$EntryIterator
+java/util/HashMap$EntrySet
+java/util/HashMap$HashIterator
+java/util/HashMap$KeyIterator
+java/util/HashMap$KeySet
+java/util/HashMap$Node
+java/util/HashMap$TreeNode
+java/util/HashMap$ValueIterator
+java/util/HashMap$Values
+java/util/HashSet
+java/util/Hashtable
+java/util/Hashtable$Entry
+java/util/Hashtable$EntrySet
+java/util/Hashtable$Enumerator
+java/util/Hashtable$ValueCollection
+java/util/IdentityHashMap
+java/util/IdentityHashMap$IdentityHashMapIterator
+java/util/IdentityHashMap$KeyIterator
+java/util/IdentityHashMap$KeySet
+java/util/IdentityHashMap$ValueIterator
+java/util/IdentityHashMap$Values
+java/util/Iterator
+java/util/LinkedHashMap
+java/util/LinkedHashMap$Entry
+java/util/LinkedHashMap$LinkedEntryIterator
+java/util/LinkedHashMap$LinkedEntrySet
+java/util/LinkedHashMap$LinkedHashIterator
+java/util/LinkedHashMap$LinkedKeyIterator
+java/util/LinkedHashMap$LinkedKeySet
+java/util/LinkedList
+java/util/LinkedList$ListItr
+java/util/LinkedList$Node
+java/util/List
+java/util/ListIterator
+java/util/ListResourceBundle
+java/util/Locale
+java/util/Locale$1
+java/util/Locale$Cache
+java/util/Locale$Category
+java/util/Locale$LocaleKey
+java/util/Map
+java/util/Map$Entry
+java/util/MissingResourceException
+java/util/NavigableMap
+java/util/NavigableSet
+java/util/Objects
+java/util/PriorityQueue
+java/util/Properties
+java/util/Properties$LineReader
+java/util/PropertyResourceBundle
+java/util/Queue
+java/util/Random
+java/util/RandomAccess
+java/util/ResourceBundle
+java/util/ResourceBundle$1
+java/util/ResourceBundle$BundleReference
+java/util/ResourceBundle$CacheKey
+java/util/ResourceBundle$CacheKeyReference
+java/util/ResourceBundle$Control
+java/util/ResourceBundle$Control$1
+java/util/ResourceBundle$Control$CandidateListCache
+java/util/ResourceBundle$LoaderReference
+java/util/ResourceBundle$RBClassLoader
+java/util/ResourceBundle$RBClassLoader$1
+java/util/ResourceBundle$SingleFormatControl
+java/util/ServiceLoader
+java/util/ServiceLoader$1
+java/util/ServiceLoader$LazyIterator
+java/util/Set
+java/util/SortedMap
+java/util/SortedSet
+java/util/Stack
+java/util/StringTokenizer
+java/util/TimSort
+java/util/TimeZone
+java/util/TimeZone$1
+java/util/TreeMap
+java/util/TreeMap$Entry
+java/util/TreeSet
+java/util/Vector
+java/util/Vector$1
+java/util/Vector$Itr
+java/util/Vector$ListItr
+java/util/WeakHashMap
+java/util/WeakHashMap$Entry
+java/util/WeakHashMap$KeySet
+java/util/concurrent/BlockingQueue
+java/util/concurrent/ConcurrentHashMap
+java/util/concurrent/ConcurrentHashMap$BaseIterator
+java/util/concurrent/ConcurrentHashMap$CollectionView
+java/util/concurrent/ConcurrentHashMap$CounterCell
+java/util/concurrent/ConcurrentHashMap$EntrySetView
+java/util/concurrent/ConcurrentHashMap$ForwardingNode
+java/util/concurrent/ConcurrentHashMap$KeyIterator
+java/util/concurrent/ConcurrentHashMap$KeySetView
+java/util/concurrent/ConcurrentHashMap$Node
+java/util/concurrent/ConcurrentHashMap$Segment
+java/util/concurrent/ConcurrentHashMap$Traverser
+java/util/concurrent/ConcurrentHashMap$ValueIterator
+java/util/concurrent/ConcurrentHashMap$ValuesView
+java/util/concurrent/ConcurrentMap
+java/util/concurrent/ConcurrentNavigableMap
+java/util/concurrent/ConcurrentSkipListMap
+java/util/concurrent/ConcurrentSkipListMap$EntrySet
+java/util/concurrent/ConcurrentSkipListMap$HeadIndex
+java/util/concurrent/ConcurrentSkipListMap$Index
+java/util/concurrent/ConcurrentSkipListMap$KeySet
+java/util/concurrent/ConcurrentSkipListMap$Node
+java/util/concurrent/ConcurrentSkipListMap$Values
+java/util/concurrent/ConcurrentSkipListSet
+java/util/concurrent/CopyOnWriteArrayList
+java/util/concurrent/DelayQueue
+java/util/concurrent/Delayed
+java/util/concurrent/ThreadLocalRandom
+java/util/concurrent/TimeUnit
+java/util/concurrent/TimeUnit$1
+java/util/concurrent/TimeUnit$2
+java/util/concurrent/TimeUnit$3
+java/util/concurrent/TimeUnit$4
+java/util/concurrent/TimeUnit$5
+java/util/concurrent/TimeUnit$6
+java/util/concurrent/TimeUnit$7
+java/util/concurrent/atomic/AtomicBoolean
+java/util/concurrent/atomic/AtomicInteger
+java/util/concurrent/atomic/AtomicLong
+java/util/concurrent/atomic/AtomicMarkableReference
+java/util/concurrent/atomic/AtomicMarkableReference$Pair
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1
+java/util/concurrent/locks/AbstractOwnableSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
+java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
+java/util/concurrent/locks/Condition
+java/util/concurrent/locks/Lock
+java/util/concurrent/locks/LockSupport
+java/util/concurrent/locks/ReentrantLock
+java/util/concurrent/locks/ReentrantLock$NonfairSync
+java/util/concurrent/locks/ReentrantLock$Sync
+java/util/function/BiFunction
+java/util/jar/Attributes
+java/util/jar/Attributes$Name
+java/util/jar/JarEntry
+java/util/jar/JarFile
+java/util/jar/JarFile$JarEntryIterator
+java/util/jar/JarFile$JarFileEntry
+java/util/jar/JarVerifier
+java/util/jar/JarVerifier$3
+java/util/jar/JarVerifier$VerifierStream
+java/util/jar/JavaUtilJarAccessImpl
+java/util/jar/Manifest
+java/util/jar/Manifest$FastInputStream
+java/util/logging/Handler
+java/util/logging/Level
+java/util/logging/Level$KnownLevel
+java/util/logging/LogManager
+java/util/logging/LogManager$1
+java/util/logging/LogManager$2
+java/util/logging/LogManager$3
+java/util/logging/LogManager$5
+java/util/logging/LogManager$Cleaner
+java/util/logging/LogManager$LogNode
+java/util/logging/LogManager$LoggerContext
+java/util/logging/LogManager$LoggerContext$1
+java/util/logging/LogManager$LoggerWeakRef
+java/util/logging/LogManager$RootLogger
+java/util/logging/LogManager$SystemLoggerContext
+java/util/logging/Logger
+java/util/logging/Logger$1
+java/util/logging/LoggingPermission
+java/util/logging/LoggingProxyImpl
+java/util/regex/MatchResult
+java/util/regex/Matcher
+java/util/regex/Pattern
+java/util/regex/Pattern$4
+java/util/regex/Pattern$BnM
+java/util/regex/Pattern$GroupHead
+java/util/regex/Pattern$LastNode
+java/util/regex/Pattern$Node
+java/util/regex/Pattern$Slice
+java/util/regex/Pattern$SliceNode
+java/util/regex/Pattern$Start
+java/util/regex/Pattern$TreeInfo
+java/util/spi/CalendarDataProvider
+java/util/spi/CurrencyNameProvider
+java/util/spi/LocaleNameProvider
+java/util/spi/LocaleServiceProvider
+java/util/spi/ResourceBundleControlProvider
+java/util/spi/TimeZoneNameProvider
+java/util/zip/CRC32
+java/util/zip/Checksum
+java/util/zip/DeflaterOutputStream
+java/util/zip/GZIPInputStream
+java/util/zip/Inflater
+java/util/zip/InflaterInputStream
+java/util/zip/ZStreamRef
+java/util/zip/ZipCoder
+java/util/zip/ZipConstants
+java/util/zip/ZipEntry
+java/util/zip/ZipFile
+java/util/zip/ZipFile$1
+java/util/zip/ZipFile$ZipEntryIterator
+java/util/zip/ZipFile$ZipFileInflaterInputStream
+java/util/zip/ZipFile$ZipFileInputStream
+java/util/zip/ZipInputStream
+java/util/zip/ZipUtils
+javax/accessibility/Accessible
+javax/accessibility/AccessibleAction
+javax/accessibility/AccessibleBundle
+javax/accessibility/AccessibleComponent
+javax/accessibility/AccessibleContext
+javax/accessibility/AccessibleExtendedComponent
+javax/accessibility/AccessibleRelationSet
+javax/accessibility/AccessibleState
+javax/accessibility/AccessibleText
+javax/accessibility/AccessibleValue
+javax/crypto/SecretKey
+javax/security/auth/Destroyable
+javax/security/auth/login/FailedLoginException
+javax/security/auth/login/LoginException
+javax/security/auth/x500/X500Principal
+javax/sound/sampled/Control$Type
+javax/sound/sampled/DataLine
+javax/sound/sampled/DataLine$Info
+javax/sound/sampled/FloatControl$Type
+javax/sound/sampled/Line
+javax/sound/sampled/Line$Info
+javax/sound/sampled/LineUnavailableException
+javax/sound/sampled/UnsupportedAudioFileException
+javax/swing/AbstractAction
+javax/swing/AbstractButton
+javax/swing/AbstractButton$AccessibleAbstractButton
+javax/swing/AbstractButton$Handler
+javax/swing/AbstractCellEditor
+javax/swing/AbstractListModel
+javax/swing/Action
+javax/swing/ActionMap
+javax/swing/AncestorNotifier
+javax/swing/ArrayTable
+javax/swing/BorderFactory
+javax/swing/BoundedRangeModel
+javax/swing/Box
+javax/swing/Box$Filler
+javax/swing/BoxLayout
+javax/swing/BufferStrategyPaintManager
+javax/swing/BufferStrategyPaintManager$BufferInfo
+javax/swing/ButtonGroup
+javax/swing/ButtonModel
+javax/swing/CellEditor
+javax/swing/CellRendererPane
+javax/swing/ClientPropertyKey
+javax/swing/ClientPropertyKey$1
+javax/swing/ComboBoxEditor
+javax/swing/ComboBoxModel
+javax/swing/ComponentInputMap
+javax/swing/DefaultBoundedRangeModel
+javax/swing/DefaultButtonModel
+javax/swing/DefaultCellEditor
+javax/swing/DefaultCellEditor$1
+javax/swing/DefaultCellEditor$EditorDelegate
+javax/swing/DefaultComboBoxModel
+javax/swing/DefaultListCellRenderer
+javax/swing/DefaultListCellRenderer$UIResource
+javax/swing/DefaultListModel
+javax/swing/DefaultListSelectionModel
+javax/swing/DefaultSingleSelectionModel
+javax/swing/DropMode
+javax/swing/FocusManager
+javax/swing/GrayFilter
+javax/swing/Icon
+javax/swing/ImageIcon
+javax/swing/ImageIcon$1
+javax/swing/ImageIcon$2
+javax/swing/ImageIcon$2$1
+javax/swing/ImageIcon$3
+javax/swing/InputMap
+javax/swing/InternalFrameFocusTraversalPolicy
+javax/swing/JButton
+javax/swing/JCheckBox
+javax/swing/JCheckBoxMenuItem
+javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem
+javax/swing/JComboBox
+javax/swing/JComboBox$1
+javax/swing/JComboBox$KeySelectionManager
+javax/swing/JComponent
+javax/swing/JComponent$1
+javax/swing/JComponent$2
+javax/swing/JComponent$AccessibleJComponent
+javax/swing/JDialog
+javax/swing/JEditorPane
+javax/swing/JFrame
+javax/swing/JInternalFrame
+javax/swing/JLabel
+javax/swing/JLayer
+javax/swing/JLayeredPane
+javax/swing/JList
+javax/swing/JList$3
+javax/swing/JList$ListSelectionHandler
+javax/swing/JMenu
+javax/swing/JMenu$MenuChangeListener
+javax/swing/JMenu$WinListener
+javax/swing/JMenuBar
+javax/swing/JMenuItem
+javax/swing/JMenuItem$AccessibleJMenuItem
+javax/swing/JMenuItem$MenuItemFocusListener
+javax/swing/JPanel
+javax/swing/JPopupMenu
+javax/swing/JPopupMenu$Separator
+javax/swing/JProgressBar
+javax/swing/JProgressBar$ModelListener
+javax/swing/JRadioButton
+javax/swing/JRadioButtonMenuItem
+javax/swing/JRootPane
+javax/swing/JRootPane$1
+javax/swing/JRootPane$RootLayout
+javax/swing/JScrollBar
+javax/swing/JScrollBar$ModelListener
+javax/swing/JScrollPane
+javax/swing/JScrollPane$ScrollBar
+javax/swing/JSeparator
+javax/swing/JSlider
+javax/swing/JSlider$ModelListener
+javax/swing/JSplitPane
+javax/swing/JTabbedPane
+javax/swing/JTabbedPane$ModelListener
+javax/swing/JTabbedPane$Page
+javax/swing/JTable
+javax/swing/JTable$2
+javax/swing/JTable$5
+javax/swing/JTable$Resizable2
+javax/swing/JTable$Resizable3
+javax/swing/JTextArea
+javax/swing/JTextField
+javax/swing/JTextField$NotifyAction
+javax/swing/JTextField$ScrollRepainter
+javax/swing/JToggleButton
+javax/swing/JToggleButton$ToggleButtonModel
+javax/swing/JToolBar
+javax/swing/JToolBar$DefaultToolBarLayout
+javax/swing/JToolBar$Separator
+javax/swing/JToolTip
+javax/swing/JTree
+javax/swing/JTree$TreeModelHandler
+javax/swing/JTree$TreeSelectionRedirector
+javax/swing/JViewport
+javax/swing/JViewport$ViewListener
+javax/swing/JWindow
+javax/swing/KeyStroke
+javax/swing/KeyboardManager
+javax/swing/KeyboardManager$ComponentKeyStrokePair
+javax/swing/LayoutComparator
+javax/swing/LayoutFocusTraversalPolicy
+javax/swing/ListCellRenderer
+javax/swing/ListModel
+javax/swing/ListSelectionModel
+javax/swing/LookAndFeel
+javax/swing/MenuElement
+javax/swing/MenuSelectionManager
+javax/swing/MultiUIDefaults
+javax/swing/MutableComboBoxModel
+javax/swing/RepaintManager
+javax/swing/RepaintManager$2
+javax/swing/RepaintManager$3
+javax/swing/RepaintManager$DisplayChangedHandler
+javax/swing/RepaintManager$PaintManager
+javax/swing/RepaintManager$ProcessingRunnable
+javax/swing/RootPaneContainer
+javax/swing/ScrollPaneConstants
+javax/swing/ScrollPaneLayout
+javax/swing/ScrollPaneLayout$UIResource
+javax/swing/Scrollable
+javax/swing/SingleSelectionModel
+javax/swing/SizeRequirements
+javax/swing/SortingFocusTraversalPolicy
+javax/swing/SwingConstants
+javax/swing/SwingContainerOrderFocusTraversalPolicy
+javax/swing/SwingDefaultFocusTraversalPolicy
+javax/swing/SwingPaintEventDispatcher
+javax/swing/SwingUtilities
+javax/swing/SwingUtilities$SharedOwnerFrame
+javax/swing/Timer
+javax/swing/Timer$DoPostEvent
+javax/swing/TimerQueue
+javax/swing/TimerQueue$1
+javax/swing/TimerQueue$DelayedTimer
+javax/swing/ToolTipManager
+javax/swing/ToolTipManager$AccessibilityKeyListener
+javax/swing/ToolTipManager$MoveBeforeEnterListener
+javax/swing/ToolTipManager$insideTimerAction
+javax/swing/ToolTipManager$outsideTimerAction
+javax/swing/ToolTipManager$stillInsideTimerAction
+javax/swing/TransferHandler
+javax/swing/TransferHandler$DropHandler
+javax/swing/TransferHandler$HasGetTransferHandler
+javax/swing/TransferHandler$SwingDropTarget
+javax/swing/TransferHandler$TransferAction
+javax/swing/TransferHandler$TransferSupport
+javax/swing/UIDefaults
+javax/swing/UIDefaults$ActiveValue
+javax/swing/UIDefaults$LazyInputMap
+javax/swing/UIDefaults$LazyValue
+javax/swing/UIDefaults$TextAndMnemonicHashMap
+javax/swing/UIManager
+javax/swing/UIManager$1
+javax/swing/UIManager$2
+javax/swing/UIManager$LAFState
+javax/swing/UIManager$LookAndFeelInfo
+javax/swing/UnsupportedLookAndFeelException
+javax/swing/ViewportLayout
+javax/swing/WindowConstants
+javax/swing/border/AbstractBorder
+javax/swing/border/BevelBorder
+javax/swing/border/Border
+javax/swing/border/CompoundBorder
+javax/swing/border/EmptyBorder
+javax/swing/border/EtchedBorder
+javax/swing/border/LineBorder
+javax/swing/border/MatteBorder
+javax/swing/border/TitledBorder
+javax/swing/event/AncestorEvent
+javax/swing/event/AncestorListener
+javax/swing/event/CaretEvent
+javax/swing/event/CaretListener
+javax/swing/event/CellEditorListener
+javax/swing/event/ChangeEvent
+javax/swing/event/ChangeListener
+javax/swing/event/DocumentEvent
+javax/swing/event/DocumentEvent$ElementChange
+javax/swing/event/DocumentEvent$EventType
+javax/swing/event/DocumentListener
+javax/swing/event/EventListenerList
+javax/swing/event/ListDataEvent
+javax/swing/event/ListDataListener
+javax/swing/event/ListSelectionEvent
+javax/swing/event/ListSelectionListener
+javax/swing/event/MenuDragMouseListener
+javax/swing/event/MenuEvent
+javax/swing/event/MenuKeyListener
+javax/swing/event/MenuListener
+javax/swing/event/MouseInputAdapter
+javax/swing/event/MouseInputListener
+javax/swing/event/PopupMenuListener
+javax/swing/event/RowSorterListener
+javax/swing/event/SwingPropertyChangeSupport
+javax/swing/event/TableColumnModelEvent
+javax/swing/event/TableColumnModelListener
+javax/swing/event/TableModelEvent
+javax/swing/event/TableModelListener
+javax/swing/event/TreeExpansionListener
+javax/swing/event/TreeModelEvent
+javax/swing/event/TreeModelListener
+javax/swing/event/TreeSelectionEvent
+javax/swing/event/TreeSelectionListener
+javax/swing/event/UndoableEditEvent
+javax/swing/event/UndoableEditListener
+javax/swing/filechooser/FileFilter
+javax/swing/plaf/ActionMapUIResource
+javax/swing/plaf/BorderUIResource
+javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
+javax/swing/plaf/BorderUIResource$EmptyBorderUIResource
+javax/swing/plaf/BorderUIResource$LineBorderUIResource
+javax/swing/plaf/ButtonUI
+javax/swing/plaf/ColorUIResource
+javax/swing/plaf/ComboBoxUI
+javax/swing/plaf/ComponentInputMapUIResource
+javax/swing/plaf/ComponentUI
+javax/swing/plaf/DimensionUIResource
+javax/swing/plaf/FontUIResource
+javax/swing/plaf/InputMapUIResource
+javax/swing/plaf/InsetsUIResource
+javax/swing/plaf/LabelUI
+javax/swing/plaf/ListUI
+javax/swing/plaf/MenuBarUI
+javax/swing/plaf/MenuItemUI
+javax/swing/plaf/PanelUI
+javax/swing/plaf/PopupMenuUI
+javax/swing/plaf/ProgressBarUI
+javax/swing/plaf/RootPaneUI
+javax/swing/plaf/ScrollBarUI
+javax/swing/plaf/ScrollPaneUI
+javax/swing/plaf/SeparatorUI
+javax/swing/plaf/SliderUI
+javax/swing/plaf/SplitPaneUI
+javax/swing/plaf/TabbedPaneUI
+javax/swing/plaf/TableHeaderUI
+javax/swing/plaf/TableUI
+javax/swing/plaf/TextUI
+javax/swing/plaf/ToolBarUI
+javax/swing/plaf/TreeUI
+javax/swing/plaf/UIResource
+javax/swing/plaf/ViewportUI
+javax/swing/plaf/basic/BasicArrowButton
+javax/swing/plaf/basic/BasicBorders
+javax/swing/plaf/basic/BasicBorders$ButtonBorder
+javax/swing/plaf/basic/BasicBorders$MarginBorder
+javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
+javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder
+javax/swing/plaf/basic/BasicBorders$SplitPaneBorder
+javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder
+javax/swing/plaf/basic/BasicButtonListener
+javax/swing/plaf/basic/BasicButtonUI
+javax/swing/plaf/basic/BasicCheckBoxMenuItemUI
+javax/swing/plaf/basic/BasicComboBoxEditor
+javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField
+javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
+javax/swing/plaf/basic/BasicComboBoxRenderer
+javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource
+javax/swing/plaf/basic/BasicComboBoxUI
+javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
+javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager
+javax/swing/plaf/basic/BasicComboBoxUI$Handler
+javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicComboPopup
+javax/swing/plaf/basic/BasicComboPopup$1
+javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass
+javax/swing/plaf/basic/BasicComboPopup$Handler
+javax/swing/plaf/basic/BasicGraphicsUtils
+javax/swing/plaf/basic/BasicHTML
+javax/swing/plaf/basic/BasicLabelUI
+javax/swing/plaf/basic/BasicListUI
+javax/swing/plaf/basic/BasicListUI$Handler
+javax/swing/plaf/basic/BasicListUI$ListTransferHandler
+javax/swing/plaf/basic/BasicLookAndFeel
+javax/swing/plaf/basic/BasicLookAndFeel$1
+javax/swing/plaf/basic/BasicLookAndFeel$2
+javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper
+javax/swing/plaf/basic/BasicMenuBarUI
+javax/swing/plaf/basic/BasicMenuBarUI$Handler
+javax/swing/plaf/basic/BasicMenuItemUI
+javax/swing/plaf/basic/BasicMenuItemUI$Handler
+javax/swing/plaf/basic/BasicMenuUI
+javax/swing/plaf/basic/BasicMenuUI$Handler
+javax/swing/plaf/basic/BasicPanelUI
+javax/swing/plaf/basic/BasicPopupMenuUI
+javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener
+javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
+javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper
+javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1
+javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber
+javax/swing/plaf/basic/BasicProgressBarUI
+javax/swing/plaf/basic/BasicProgressBarUI$Handler
+javax/swing/plaf/basic/BasicRadioButtonMenuItemUI
+javax/swing/plaf/basic/BasicRadioButtonUI
+javax/swing/plaf/basic/BasicRootPaneUI
+javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap
+javax/swing/plaf/basic/BasicScrollBarUI
+javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
+javax/swing/plaf/basic/BasicScrollBarUI$Handler
+javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
+javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
+javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
+javax/swing/plaf/basic/BasicScrollPaneUI
+javax/swing/plaf/basic/BasicScrollPaneUI$Handler
+javax/swing/plaf/basic/BasicSeparatorUI
+javax/swing/plaf/basic/BasicSliderUI
+javax/swing/plaf/basic/BasicSliderUI$Actions
+javax/swing/plaf/basic/BasicSliderUI$Handler
+javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicSliderUI$ScrollListener
+javax/swing/plaf/basic/BasicSliderUI$TrackListener
+javax/swing/plaf/basic/BasicSplitPaneDivider
+javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout
+javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler
+javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler
+javax/swing/plaf/basic/BasicSplitPaneUI
+javax/swing/plaf/basic/BasicSplitPaneUI$1
+javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager
+javax/swing/plaf/basic/BasicSplitPaneUI$Handler
+javax/swing/plaf/basic/BasicTabbedPaneUI
+javax/swing/plaf/basic/BasicTabbedPaneUI$Handler
+javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout
+javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout
+javax/swing/plaf/basic/BasicTableHeaderUI
+javax/swing/plaf/basic/BasicTableHeaderUI$1
+javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler
+javax/swing/plaf/basic/BasicTableUI
+javax/swing/plaf/basic/BasicTableUI$Handler
+javax/swing/plaf/basic/BasicTableUI$TableTransferHandler
+javax/swing/plaf/basic/BasicTextAreaUI
+javax/swing/plaf/basic/BasicTextFieldUI
+javax/swing/plaf/basic/BasicTextUI
+javax/swing/plaf/basic/BasicTextUI$BasicCaret
+javax/swing/plaf/basic/BasicTextUI$BasicCursor
+javax/swing/plaf/basic/BasicTextUI$BasicHighlighter
+javax/swing/plaf/basic/BasicTextUI$DragListener
+javax/swing/plaf/basic/BasicTextUI$FocusAction
+javax/swing/plaf/basic/BasicTextUI$RootView
+javax/swing/plaf/basic/BasicTextUI$TextActionWrapper
+javax/swing/plaf/basic/BasicTextUI$TextTransferHandler
+javax/swing/plaf/basic/BasicTextUI$UpdateHandler
+javax/swing/plaf/basic/BasicToggleButtonUI
+javax/swing/plaf/basic/BasicToolBarSeparatorUI
+javax/swing/plaf/basic/BasicToolBarUI
+javax/swing/plaf/basic/BasicToolBarUI$DockingListener
+javax/swing/plaf/basic/BasicToolBarUI$Handler
+javax/swing/plaf/basic/BasicTreeUI
+javax/swing/plaf/basic/BasicTreeUI$Actions
+javax/swing/plaf/basic/BasicTreeUI$Handler
+javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler
+javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler
+javax/swing/plaf/basic/BasicViewportUI
+javax/swing/plaf/basic/ComboPopup
+javax/swing/plaf/basic/DefaultMenuLayout
+javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag
+javax/swing/plaf/basic/LazyActionMap
+javax/swing/plaf/metal/DefaultMetalTheme
+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate
+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1
+javax/swing/plaf/metal/MetalBorders
+javax/swing/plaf/metal/MetalBorders$ButtonBorder
+javax/swing/plaf/metal/MetalBorders$Flush3DBorder
+javax/swing/plaf/metal/MetalBorders$MenuBarBorder
+javax/swing/plaf/metal/MetalBorders$MenuItemBorder
+javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
+javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder
+javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder
+javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
+javax/swing/plaf/metal/MetalBorders$TextFieldBorder
+javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder
+javax/swing/plaf/metal/MetalBorders$ToolBarBorder
+javax/swing/plaf/metal/MetalBumps
+javax/swing/plaf/metal/MetalButtonUI
+javax/swing/plaf/metal/MetalCheckBoxUI
+javax/swing/plaf/metal/MetalComboBoxButton
+javax/swing/plaf/metal/MetalComboBoxButton$1
+javax/swing/plaf/metal/MetalComboBoxEditor
+javax/swing/plaf/metal/MetalComboBoxEditor$1
+javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder
+javax/swing/plaf/metal/MetalComboBoxEditor$UIResource
+javax/swing/plaf/metal/MetalComboBoxIcon
+javax/swing/plaf/metal/MetalComboBoxUI
+javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager
+javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
+javax/swing/plaf/metal/MetalIconFactory
+javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon
+javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon
+javax/swing/plaf/metal/MetalIconFactory$FolderIcon16
+javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon
+javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon
+javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon
+javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon
+javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon
+javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon
+javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon
+javax/swing/plaf/metal/MetalLabelUI
+javax/swing/plaf/metal/MetalLookAndFeel
+javax/swing/plaf/metal/MetalLookAndFeel$AATextListener
+javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue
+javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue
+javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1
+javax/swing/plaf/metal/MetalPopupMenuSeparatorUI
+javax/swing/plaf/metal/MetalProgressBarUI
+javax/swing/plaf/metal/MetalRadioButtonUI
+javax/swing/plaf/metal/MetalRootPaneUI
+javax/swing/plaf/metal/MetalScrollBarUI
+javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener
+javax/swing/plaf/metal/MetalScrollButton
+javax/swing/plaf/metal/MetalScrollPaneUI
+javax/swing/plaf/metal/MetalScrollPaneUI$1
+javax/swing/plaf/metal/MetalSeparatorUI
+javax/swing/plaf/metal/MetalSliderUI
+javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener
+javax/swing/plaf/metal/MetalSplitPaneDivider
+javax/swing/plaf/metal/MetalSplitPaneDivider$1
+javax/swing/plaf/metal/MetalSplitPaneDivider$2
+javax/swing/plaf/metal/MetalSplitPaneUI
+javax/swing/plaf/metal/MetalTabbedPaneUI
+javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout
+javax/swing/plaf/metal/MetalTextFieldUI
+javax/swing/plaf/metal/MetalTheme
+javax/swing/plaf/metal/MetalToggleButtonUI
+javax/swing/plaf/metal/MetalToolBarUI
+javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener
+javax/swing/plaf/metal/MetalTreeUI
+javax/swing/plaf/metal/MetalTreeUI$LineListener
+javax/swing/plaf/metal/OceanTheme
 javax/swing/plaf/metal/OceanTheme$1
 javax/swing/plaf/metal/OceanTheme$2
 javax/swing/plaf/metal/OceanTheme$3
 javax/swing/plaf/metal/OceanTheme$4
 javax/swing/plaf/metal/OceanTheme$5
 javax/swing/plaf/metal/OceanTheme$6
-javax/swing/RepaintManager
-javax/swing/RepaintManager$DisplayChangedHandler
-javax/swing/SwingPaintEventDispatcher
-sun/awt/PaintEventDispatcher
-javax/swing/UIManager$2
-java/awt/PopupMenu
-java/awt/Menu
-java/awt/MenuItem
-java/awt/MenuComponent
-java/io/ObjectOutputStream
-java/io/ObjectOutput
-java/io/DataOutput
-java/io/ObjectStreamConstants
-java/io/PrintWriter
-java/io/ObjectInputStream
-java/io/ObjectInput
-java/awt/Event
-java/awt/im/InputContext
-java/awt/event/MouseWheelEvent
-java/awt/BufferCapabilities
-sun/awt/CausedFocusEvent$Cause
-java/awt/PointerInfo
-java/awt/Component$BaselineResizeBehavior
-java/awt/FontMetrics
-java/awt/Image
-java/awt/image/ImageProducer
-java/awt/image/VolatileImage
-java/awt/im/InputMethodRequests
-java/awt/event/FocusEvent
-java/awt/event/InputMethodEvent
-java/awt/event/HierarchyEvent
-javax/accessibility/AccessibleStateSet
-com/sun/swing/internal/plaf/metal/resources/metal
-sun/util/ResourceBundleEnumeration
-com/sun/swing/internal/plaf/basic/resources/basic
-javax/swing/plaf/basic/BasicPanelUI
-javax/swing/plaf/PanelUI
-javax/swing/plaf/ComponentUI
-sun/reflect/misc/MethodUtil
-sun/reflect/misc/MethodUtil$1
-sun/misc/Launcher$1
-sun/misc/URLClassPath$JarLoader$1
-sun/misc/FileURLMapper
-java/util/jar/JarFile
-java/util/zip/ZipFile
-java/util/zip/ZipConstants
-java/util/jar/JavaUtilJarAccessImpl
-sun/misc/JavaUtilJarAccess
-sun/misc/JarIndex
-java/util/zip/ZipEntry
-java/util/jar/JarFile$JarFileEntry
-java/util/jar/JarEntry
-sun/misc/URLClassPath$JarLoader$2
-sun/net/www/protocol/jar/JarURLConnection
-java/net/JarURLConnection
-sun/net/www/protocol/jar/JarFileFactory
-sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController
-java/net/HttpURLConnection
-sun/net/www/protocol/jar/URLJarFile
-sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry
-sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream
-java/util/zip/ZipFile$ZipFileInputStream
-java/security/AllPermissionCollection
-java/lang/IllegalAccessException
-javax/swing/JPasswordField
-javax/swing/JTextField
-javax/swing/text/JTextComponent
-javax/swing/Scrollable
-javax/swing/JLayeredPane
-javax/swing/JRootPane$1
-javax/swing/ArrayTable
-javax/swing/JInternalFrame
-javax/swing/JRootPane$RootLayout
-javax/swing/BufferStrategyPaintManager
-javax/swing/RepaintManager$PaintManager
-javax/swing/plaf/metal/MetalRootPaneUI
-javax/swing/plaf/basic/BasicRootPaneUI
-javax/swing/plaf/RootPaneUI
-javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap
-javax/swing/plaf/ComponentInputMapUIResource
-javax/swing/ComponentInputMap
-javax/swing/InputMap
-javax/swing/plaf/InputMapUIResource
-javax/swing/KeyStroke
-java/awt/VKCollection
-sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl
-javax/swing/plaf/basic/LazyActionMap
-javax/swing/plaf/ActionMapUIResource
-javax/swing/ActionMap
-javax/swing/LayoutFocusTraversalPolicy
-javax/swing/SortingFocusTraversalPolicy
-javax/swing/InternalFrameFocusTraversalPolicy
-javax/swing/SwingContainerOrderFocusTraversalPolicy
-javax/swing/SwingDefaultFocusTraversalPolicy
-javax/swing/LayoutComparator
-javax/swing/plaf/metal/MetalLabelUI
-javax/swing/plaf/basic/BasicLabelUI
-javax/swing/plaf/LabelUI
-javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1
-javax/swing/plaf/basic/BasicHTML
-sun/awt/NullComponentPeer
-java/awt/event/WindowEvent
-java/awt/EventQueue$1
-java/awt/EventDispatchThread$1
-java/awt/Conditional
-java/awt/EventDispatchThread$HierarchyEventFilter
-java/awt/EventFilter$FilterAction
-sun/awt/dnd/SunDropTargetEvent
-java/awt/event/ActionEvent
-sun/awt/X11/XReparentEvent
-sun/awt/X11/XWindowAttributes
-sun/awt/EventQueueItem
-sun/awt/SunToolkit$3
-java/applet/Applet
-java/awt/Panel
-com/sun/awt/AWTUtilities
-sun/awt/X11/XExposeEvent
-java/util/jar/Manifest
-java/io/ByteArrayInputStream
-java/util/jar/Attributes
-java/util/jar/Manifest$FastInputStream
-java/util/jar/Attributes$Name
-sun/misc/ASCIICaseInsensitiveComparator
-java/util/jar/JarVerifier
-java/io/ByteArrayOutputStream
-sun/misc/ExtensionDependency
-java/lang/Package
-sun/security/util/ManifestEntryVerifier
-java/security/Provider
-java/security/Provider$ServiceKey
-java/security/Provider$EngineDescription
-java/security/Security
-java/security/Security$1
-sun/misc/FloatingDecimal
-sun/misc/FloatingDecimal$1
-java/util/regex/Pattern
-java/util/regex/Pattern$Node
-java/util/regex/Pattern$LastNode
-java/util/regex/Pattern$GroupHead
-java/util/regex/Pattern$GroupTail
-java/util/regex/Pattern$BitClass
-java/util/regex/Pattern$BmpCharProperty
-java/util/regex/Pattern$CharProperty
-java/util/regex/Pattern$Ques
-java/util/regex/Pattern$BranchConn
-java/util/regex/Pattern$Branch
-java/util/regex/Pattern$5
-java/util/regex/Pattern$CharPropertyNames
-java/util/regex/Pattern$CharPropertyNames$1
-java/util/regex/Pattern$CharPropertyNames$CharPropertyFactory
-java/util/regex/Pattern$CharPropertyNames$2
-java/util/regex/Pattern$CharPropertyNames$5
-java/util/regex/Pattern$CharPropertyNames$3
-java/util/regex/Pattern$CharPropertyNames$6
-java/util/regex/Pattern$CharPropertyNames$CloneableProperty
-java/util/regex/Pattern$CharPropertyNames$4
-java/util/regex/Pattern$CharPropertyNames$7
-java/util/regex/Pattern$CharPropertyNames$8
-java/util/regex/Pattern$CharPropertyNames$9
-java/util/regex/Pattern$CharPropertyNames$10
-java/util/regex/Pattern$CharPropertyNames$11
-java/util/regex/Pattern$CharPropertyNames$12
-java/util/regex/Pattern$CharPropertyNames$13
-java/util/regex/Pattern$CharPropertyNames$14
-java/util/regex/Pattern$CharPropertyNames$15
-java/util/regex/Pattern$CharPropertyNames$16
-java/util/regex/Pattern$CharPropertyNames$17
-java/util/regex/Pattern$CharPropertyNames$18
-java/util/regex/Pattern$CharPropertyNames$19
-java/util/regex/Pattern$CharPropertyNames$20
-java/util/regex/Pattern$CharPropertyNames$21
-java/util/regex/Pattern$Ctype
-java/util/regex/Pattern$Curly
-java/util/regex/Pattern$6
-java/util/regex/Pattern$Slice
-java/util/regex/Pattern$Begin
-java/util/regex/Pattern$First
-java/util/regex/Pattern$Start
-java/util/regex/Pattern$TreeInfo
-sun/security/provider/NativePRNG
-java/security/SecureRandomSpi
-sun/security/provider/NativePRNG$1
-sun/security/provider/NativePRNG$RandomIO
-sun/misc/BASE64Decoder
-sun/misc/CharacterDecoder
-sun/security/util/SignatureFileVerifier
-java/awt/event/KeyAdapter
-java/lang/NumberFormatException
-java/lang/IllegalArgumentException
-java/io/FileWriter
-java/net/Authenticator
-java/net/MalformedURLException
-javax/swing/text/Element
-javax/swing/text/Document
-javax/swing/text/PlainDocument
+javax/swing/plaf/synth/SynthConstants
+javax/swing/plaf/synth/SynthUI
+javax/swing/table/AbstractTableModel
+javax/swing/table/DefaultTableCellRenderer
+javax/swing/table/DefaultTableColumnModel
+javax/swing/table/DefaultTableModel
+javax/swing/table/JTableHeader
+javax/swing/table/TableCellEditor
+javax/swing/table/TableCellRenderer
+javax/swing/table/TableColumn
+javax/swing/table/TableColumnModel
+javax/swing/table/TableModel
 javax/swing/text/AbstractDocument
-javax/swing/text/GapContent
-javax/swing/text/AbstractDocument$Content
-javax/swing/text/GapVector
-javax/swing/text/GapContent$MarkVector
-javax/swing/text/GapContent$MarkData
-javax/swing/text/StyleContext
+javax/swing/text/AbstractDocument$1
+javax/swing/text/AbstractDocument$AbstractElement
 javax/swing/text/AbstractDocument$AttributeContext
-javax/swing/text/StyleConstants
-javax/swing/text/StyleConstants$CharacterConstants
-javax/swing/text/AttributeSet$CharacterAttribute
-javax/swing/text/StyleConstants$FontConstants
-javax/swing/text/AttributeSet$FontAttribute
-javax/swing/text/StyleConstants$ColorConstants
-javax/swing/text/AttributeSet$ColorAttribute
-javax/swing/text/StyleConstants$ParagraphConstants
-javax/swing/text/AttributeSet$ParagraphAttribute
-javax/swing/text/StyleContext$FontKey
-javax/swing/text/SimpleAttributeSet
-javax/swing/text/MutableAttributeSet
-javax/swing/text/AttributeSet
-javax/swing/text/SimpleAttributeSet$EmptyAttributeSet
-javax/swing/text/StyleContext$NamedStyle
-javax/swing/text/Style
-javax/swing/text/StyleContext$SmallAttributeSet
+javax/swing/text/AbstractDocument$BidiElement
 javax/swing/text/AbstractDocument$BidiRootElement
 javax/swing/text/AbstractDocument$BranchElement
-javax/swing/text/AbstractDocument$AbstractElement
-javax/swing/tree/TreeNode
-javax/swing/text/AbstractDocument$1
-javax/swing/text/AbstractDocument$BidiElement
-javax/swing/text/AbstractDocument$LeafElement
-javax/swing/text/GapContent$StickyPosition
-javax/swing/text/Position
-javax/swing/text/StyleContext$KeyEnumeration
-javax/swing/text/GapContent$InsertUndo
-javax/swing/undo/AbstractUndoableEdit
-javax/swing/undo/UndoableEdit
+javax/swing/text/AbstractDocument$Content
 javax/swing/text/AbstractDocument$DefaultDocumentEvent
-javax/swing/event/DocumentEvent
-javax/swing/undo/CompoundEdit
-javax/swing/event/DocumentEvent$EventType
-javax/swing/text/Segment
-java/text/CharacterIterator
-javax/swing/text/Utilities
-javax/swing/text/SegmentCache
-javax/swing/text/SegmentCache$CachedSegment
-javax/swing/event/UndoableEditEvent
 javax/swing/text/AbstractDocument$ElementEdit
-javax/swing/event/DocumentEvent$ElementChange
-java/net/Socket
-java/net/InetAddress
-java/net/InetAddress$Cache
-java/net/InetAddress$Cache$Type
-java/net/InetAddressImplFactory
-java/net/Inet6AddressImpl
-java/net/InetAddressImpl
-java/net/InetAddress$1
-sun/net/spi/nameservice/NameService
-sun/net/util/IPAddressUtil
-java/util/regex/Matcher
-java/util/regex/MatchResult
-java/util/RandomAccessSubList
-java/util/SubList
-java/util/SubList$1
-java/util/AbstractList$ListItr
-java/net/Inet4Address
-java/net/InetSocketAddress
-java/net/SocketAddress
-java/net/Inet4AddressImpl
-java/net/SocksSocketImpl
-java/net/SocksConsts
-java/net/PlainSocketImpl
-java/net/SocketImpl
-java/net/SocketOptions
-java/net/SocketException
-java/net/SocksSocketImpl$5
-java/net/ProxySelector
-sun/net/spi/DefaultProxySelector
-sun/net/spi/DefaultProxySelector$1
-sun/net/NetProperties
-sun/net/NetProperties$1
-sun/net/spi/DefaultProxySelector$NonProxyInfo
-java/util/regex/ASCII
-java/util/regex/Pattern$GroupCurly
-java/net/Inet6Address
-java/net/URI
-java/net/URI$Parser
-java/net/Proxy
-java/net/Proxy$Type
-java/net/ConnectException
-javax/swing/JMenu
-javax/swing/MenuElement
-javax/swing/JMenuItem
-javax/swing/AbstractButton
-java/awt/ItemSelectable
-javax/swing/event/MenuListener
-javax/swing/JCheckBoxMenuItem
-javax/swing/Icon
-javax/swing/JButton
-java/awt/event/WindowListener
-java/net/URLClassLoader$2
-javax/swing/ImageIcon
-javax/swing/ImageIcon$1
-java/awt/MediaTracker
-sun/misc/SoftCache$ValueCell
-sun/awt/image/URLImageSource
-sun/awt/image/InputStreamImageSource
-sun/awt/image/ImageFetchable
-sun/awt/image/ToolkitImage
-java/awt/Image$1
-sun/awt/image/SurfaceManager$ImageAccessor
-sun/awt/image/SurfaceManager
-sun/awt/image/NativeLibLoader
-java/awt/ImageMediaEntry
-java/awt/MediaEntry
-sun/awt/image/ImageRepresentation
-java/awt/image/ImageConsumer
-sun/awt/image/ImageWatched
-sun/awt/image/ImageWatched$Link
-sun/awt/image/ImageWatched$WeakLink
-sun/awt/image/ImageConsumerQueue
-sun/awt/image/ImageFetcher
-sun/awt/image/FetcherInfo
-sun/awt/image/ImageFetcher$1
-sun/awt/image/GifImageDecoder
-sun/awt/image/ImageDecoder
-sun/awt/image/GifFrame
-java/awt/image/Raster
-java/awt/image/DataBufferByte
-java/awt/image/DataBuffer
-java/awt/image/PixelInterleavedSampleModel
-java/awt/image/ComponentSampleModel
-java/awt/image/SampleModel
-sun/awt/image/ByteInterleavedRaster
-sun/awt/image/ByteComponentRaster
-sun/awt/image/SunWritableRaster
-java/awt/image/WritableRaster
-java/awt/image/BufferedImage
-java/awt/image/WritableRenderedImage
-java/awt/image/RenderedImage
-sun/awt/image/IntegerComponentRaster
-sun/awt/image/BytePackedRaster
-java/awt/Canvas
-sun/font/FontDesignMetrics
-sun/font/FontStrikeDesc
-sun/font/CompositeStrike
-sun/font/FontStrikeDisposer
-sun/font/StrikeCache$SoftDisposerRef
-sun/font/StrikeCache$DisposableStrike
-sun/font/TrueTypeFont$TTDisposerRecord
-sun/font/TrueTypeFont$1
-java/io/RandomAccessFile
-sun/nio/ch/FileChannelImpl
-java/nio/channels/FileChannel
-java/nio/channels/ByteChannel
-java/nio/channels/ReadableByteChannel
-java/nio/channels/Channel
-java/nio/channels/WritableByteChannel
-java/nio/channels/GatheringByteChannel
-java/nio/channels/ScatteringByteChannel
-java/nio/channels/spi/AbstractInterruptibleChannel
-java/nio/channels/InterruptibleChannel
-sun/nio/ch/Util
-sun/nio/ch/IOUtil
-sun/nio/ch/FileDispatcher
-sun/nio/ch/NativeDispatcher
-sun/nio/ch/Reflect
-java/nio/MappedByteBuffer
-sun/nio/ch/Reflect$1
-sun/nio/ch/NativeThreadSet
-java/nio/channels/spi/AbstractInterruptibleChannel$1
-sun/nio/ch/NativeThread
-sun/nio/ch/IOStatus
-sun/nio/ch/DirectBuffer
-java/nio/DirectByteBuffer
-java/nio/DirectByteBuffer$Deallocator
-sun/misc/Cleaner
-java/nio/ByteBufferAsIntBufferB
-java/nio/IntBuffer
-sun/font/TrueTypeFont$DirectoryEntry
-java/nio/ByteBufferAsShortBufferB
-java/nio/ShortBuffer
-sun/nio/cs/UTF_16
-sun/nio/cs/UTF_16$Decoder
-sun/nio/cs/UnicodeDecoder
-sun/font/FileFontStrike
-sun/font/TrueTypeGlyphMapper
-sun/font/CMap
-sun/font/CMap$NullCMapClass
-sun/font/CMap$CMapFormat4
-java/nio/ByteBufferAsCharBufferB
-sun/font/CMap$CMapFormat12
-java/awt/FontFormatException
-sun/java2d/HeadlessGraphicsEnvironment
-java/nio/charset/Charset$3
-sun/nio/cs/AbstractCharsetProvider
-sun/font/NativeFont
-java/lang/CharacterData00
-sun/font/CMap$CMapFormat2
-sun/font/FontDesignMetrics$KeyReference
-sun/awt/image/PNGImageDecoder
-sun/awt/image/PNGFilterInputStream
-java/util/zip/InflaterInputStream
-java/util/zip/Inflater
-sun/reflect/UnsafeBooleanFieldAccessorImpl
-sun/awt/event/IgnorePaintEvent
-java/awt/image/DataBufferInt
-java/awt/image/SinglePixelPackedSampleModel
-sun/awt/image/IntegerInterleavedRaster
-sun/awt/image/OffScreenImage
-sun/awt/image/BufImgSurfaceData
-sun/java2d/opengl/GLXGraphicsConfig
-sun/java2d/opengl/OGLGraphicsConfig
-sun/java2d/x11/X11SurfaceData$X11PixmapSurfaceData
-sun/awt/image/WritableRasterNative
-sun/awt/image/DataBufferNative
-sun/java2d/SurfaceManagerFactory
-sun/java2d/opengl/GLXSurfaceData
-sun/java2d/opengl/OGLSurfaceData
-sun/font/CompositeGlyphMapper
-sun/java2d/loops/FontInfo
-java/util/Date
-sun/util/calendar/CalendarSystem
-sun/util/calendar/Gregorian
-sun/util/calendar/BaseCalendar
-sun/util/calendar/AbstractCalendar
-java/util/TimeZone
-java/lang/InheritableThreadLocal
-sun/util/calendar/ZoneInfo
-sun/util/calendar/ZoneInfoFile
-sun/util/calendar/ZoneInfoFile$1
-java/util/TimeZone$1
-sun/util/calendar/Gregorian$Date
-sun/util/calendar/BaseCalendar$Date
-sun/util/calendar/CalendarDate
-sun/util/calendar/CalendarUtils
-java/util/TimeZone$DisplayNames
-sun/util/TimeZoneNameUtility
-sun/util/resources/LocaleData
-sun/util/resources/LocaleData$1
-sun/util/resources/LocaleData$LocaleDataResourceBundleControl
-sun/util/LocaleDataMetaInfo
-sun/util/resources/TimeZoneNames
-sun/util/resources/TimeZoneNamesBundle
-sun/util/resources/OpenListResourceBundle
-java/util/ResourceBundle$BundleReference
-sun/util/resources/TimeZoneNames_en
-java/util/spi/TimeZoneNameProvider
-java/util/spi/LocaleServiceProvider
-sun/util/LocaleServiceProviderPool
-sun/util/LocaleServiceProviderPool$1
-java/util/ServiceLoader
-java/util/ServiceLoader$LazyIterator
-java/util/ServiceLoader$1
-java/util/LinkedHashMap$EntryIterator
-sun/misc/URLClassPath$2
-java/lang/ClassLoader$2
-sun/misc/URLClassPath$1
-java/net/URLClassLoader$3
-sun/misc/CompoundEnumeration
-java/net/URLClassLoader$3$1
-java/lang/ProcessBuilder
-java/lang/ProcessImpl
-java/lang/UNIXProcess
-java/lang/Process
-java/lang/UNIXProcess$1
-java/lang/UNIXProcess$DeferredCloseInputStream
-java/lang/UNIXProcess$2
-java/lang/UNIXProcess$2$1
-java/net/ServerSocket
-java/util/Random
-java/util/concurrent/atomic/AtomicLong
-java/lang/InternalError
-java/io/StringReader
-java/lang/SecurityException
-java/io/FilterReader
-java/lang/reflect/Proxy
-java/lang/reflect/InvocationHandler
-java/lang/NoSuchFieldException
-java/lang/InstantiationException
-java/lang/ArrayIndexOutOfBoundsException
-javax/swing/JDialog
-sun/awt/X11/XClipboard
-sun/awt/datatransfer/SunClipboard
-java/awt/datatransfer/Clipboard
-java/awt/datatransfer/SystemFlavorMap
-java/awt/datatransfer/FlavorMap
-java/awt/datatransfer/FlavorTable
-java/awt/datatransfer/SystemFlavorMap$1
-sun/net/ProgressMonitor
-sun/net/DefaultProgressMeteringPolicy
-sun/net/ProgressMeteringPolicy
-java/awt/datatransfer/SystemFlavorMap$2
-java/awt/datatransfer/MimeType
-java/io/Externalizable
-java/awt/datatransfer/MimeTypeParameterList
-sun/awt/datatransfer/DataTransferer
-java/util/Collections$SynchronizedSet
-java/util/Collections$SynchronizedCollection
-java/awt/datatransfer/DataFlavor
-java/awt/datatransfer/DataFlavor$1
-sun/awt/datatransfer/DataTransferer$CharsetComparator
-sun/awt/datatransfer/DataTransferer$IndexedComparator
-sun/nio/cs/UTF_16LE
-sun/nio/cs/UTF_16BE
-sun/nio/cs/US_ASCII
-sun/awt/datatransfer/DataTransferer$DataFlavorComparator
-java/rmi/Remote
-sun/awt/datatransfer/DataTransferer$1
-sun/awt/X11/XDataTransferer
-sun/awt/datatransfer/ToolkitThreadBlockedHandler
-javax/imageio/ImageTypeSpecifier
-sun/awt/X11/XSelection
-sun/security/action/GetIntegerAction
-sun/awt/X11/XSelection$IncrementalTransferHandler
-sun/awt/X11/XSelection$SelectionEventHandler
-java/awt/datatransfer/Transferable
-java/io/EOFException
-java/util/Vector$1
-java/util/zip/ZipFile$1
-java/util/zip/ZipFile$2
-java/util/jar/JarFile$1
-java/util/PropertyResourceBundle
-java/util/ResourceBundle$Control$1
-java/util/Hashtable$EntrySet
-java/lang/IllegalAccessError
-java/text/MessageFormat
-java/text/Format
-java/text/FieldPosition
-java/text/MessageFormat$Field
-java/text/Format$Field
-java/lang/CloneNotSupportedException
-sun/reflect/MethodAccessorGenerator
-sun/reflect/AccessorGenerator
-sun/reflect/ClassFileConstants
-java/lang/Void
-sun/reflect/ByteVectorFactory
-sun/reflect/ByteVectorImpl
-sun/reflect/ByteVector
-sun/reflect/ClassFileAssembler
-sun/reflect/UTF8
-sun/reflect/Label
-sun/reflect/Label$PatchInfo
-sun/reflect/MethodAccessorGenerator$1
-sun/reflect/ClassDefiner
-sun/reflect/ClassDefiner$1
-sun/reflect/BootstrapConstructorAccessorImpl
-java/awt/event/ActionListener
-javax/swing/Timer
-javax/swing/Timer$DoPostEvent
-javax/swing/TimerQueue
-javax/swing/TimerQueue$1
-javax/swing/ToolTipManager
-java/awt/event/MouseAdapter
-javax/swing/ToolTipManager$insideTimerAction
-javax/swing/ToolTipManager$outsideTimerAction
-javax/swing/ToolTipManager$stillInsideTimerAction
-sun/swing/UIAction
-javax/swing/Action
-javax/swing/ToolTipManager$MoveBeforeEnterListener
-java/awt/event/MouseMotionAdapter
-java/util/Hashtable$ValueCollection
-javax/swing/event/CaretListener
-javax/swing/JToolBar
-javax/swing/JSplitPane
-javax/swing/border/Border
-javax/swing/JToggleButton
-javax/swing/border/EmptyBorder
-javax/swing/border/AbstractBorder
-javax/swing/DefaultButtonModel
-javax/swing/ButtonModel
-javax/swing/AbstractButton$Handler
-javax/swing/event/ChangeListener
-java/awt/event/ItemListener
-javax/swing/plaf/metal/MetalButtonUI
-javax/swing/plaf/basic/BasicButtonUI
-javax/swing/plaf/ButtonUI
-javax/swing/plaf/metal/MetalBorders
-javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
-javax/swing/border/CompoundBorder
-javax/swing/plaf/metal/MetalBorders$ButtonBorder
-javax/swing/plaf/basic/BasicBorders$MarginBorder
-javax/swing/plaf/basic/BasicButtonListener
-java/awt/AWTEventMulticaster
-java/awt/event/WindowFocusListener
-java/awt/event/WindowStateListener
-java/awt/event/AdjustmentListener
-java/awt/event/TextListener
-javax/swing/event/AncestorListener
-java/beans/VetoableChangeListener
-javax/swing/ButtonGroup
-javax/swing/JToggleButton$ToggleButtonModel
-javax/swing/plaf/metal/MetalToggleButtonUI
-javax/swing/plaf/basic/BasicToggleButtonUI
-javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder
-java/awt/CardLayout
-javax/swing/Box
-javax/swing/plaf/metal/MetalBorders$TextFieldBorder
-javax/swing/plaf/metal/MetalBorders$Flush3DBorder
-javax/swing/BoxLayout
-javax/swing/JMenuBar
-javax/swing/DefaultSingleSelectionModel
-javax/swing/SingleSelectionModel
-javax/swing/plaf/basic/BasicMenuBarUI
-javax/swing/plaf/MenuBarUI
-javax/swing/plaf/basic/DefaultMenuLayout
-javax/swing/plaf/metal/MetalBorders$MenuBarBorder
-javax/swing/plaf/basic/BasicMenuBarUI$Handler
-javax/swing/KeyboardManager
-javax/swing/event/MenuEvent
-javax/swing/JMenu$MenuChangeListener
-javax/swing/JMenuItem$MenuItemFocusListener
-javax/swing/plaf/basic/BasicMenuUI
-javax/swing/plaf/basic/BasicMenuItemUI
-javax/swing/plaf/MenuItemUI
-javax/swing/plaf/metal/MetalBorders$MenuItemBorder
-javax/swing/plaf/metal/MetalIconFactory
-javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon
-javax/swing/plaf/basic/BasicMenuUI$Handler
-javax/swing/event/MenuKeyListener
-javax/swing/plaf/basic/BasicMenuItemUI$Handler
-javax/swing/event/MenuDragMouseListener
-javax/swing/event/MouseInputListener
-javax/swing/event/ChangeEvent
-java/awt/event/ContainerEvent
-javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon
-javax/swing/JPopupMenu
-javax/swing/plaf/basic/BasicPopupMenuUI
-javax/swing/plaf/PopupMenuUI
-javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper
-java/awt/event/AWTEventListenerProxy
-java/awt/Toolkit$SelectiveAWTEventListener
-java/awt/Toolkit$ToolkitEventMulticaster
-javax/swing/plaf/basic/BasicLookAndFeel$1
-javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
-javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
-javax/swing/event/PopupMenuListener
-javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener
-javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber
-javax/swing/MenuSelectionManager
-javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper
-javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1
-java/awt/event/FocusAdapter
-javax/swing/JMenu$WinListener
-java/awt/event/WindowAdapter
-javax/swing/JPopupMenu$Separator
-javax/swing/JSeparator
-javax/swing/plaf/metal/MetalPopupMenuSeparatorUI
-javax/swing/plaf/metal/MetalSeparatorUI
-javax/swing/plaf/basic/BasicSeparatorUI
-javax/swing/plaf/SeparatorUI
-javax/swing/JComboBox
-javax/swing/event/ListDataListener
-javax/swing/event/CaretEvent
-javax/swing/text/TabExpander
-javax/swing/JScrollBar
-java/awt/Adjustable
-javax/swing/event/MouseInputAdapter
-javax/swing/JScrollBar$ModelListener
-javax/swing/DefaultBoundedRangeModel
-javax/swing/BoundedRangeModel
-javax/swing/plaf/metal/MetalScrollBarUI
-javax/swing/plaf/basic/BasicScrollBarUI
-javax/swing/plaf/ScrollBarUI
-javax/swing/plaf/metal/MetalBumps
-javax/swing/plaf/metal/MetalScrollButton
-javax/swing/plaf/basic/BasicArrowButton
-javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
-javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
-javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
-javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener
-javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
-javax/swing/plaf/basic/BasicScrollBarUI$Handler
-javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
-javax/swing/CellRendererPane
-javax/swing/border/MatteBorder
-sun/font/StandardGlyphVector
-java/awt/font/GlyphVector
-sun/font/StandardGlyphVector$GlyphStrike
-sun/font/CoreMetrics
-sun/font/FontLineMetrics
-java/awt/font/LineMetrics
-javax/swing/ComboBoxModel
-javax/swing/ListModel
-javax/swing/ListCellRenderer
-javax/swing/DefaultComboBoxModel
-javax/swing/MutableComboBoxModel
-javax/swing/AbstractListModel
-javax/swing/JComboBox$1
-javax/swing/AncestorNotifier
-javax/swing/plaf/metal/MetalComboBoxUI
-javax/swing/plaf/basic/BasicComboBoxUI
-javax/swing/plaf/ComboBoxUI
-javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager
-javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
-javax/swing/plaf/basic/BasicComboPopup
-javax/swing/plaf/basic/ComboPopup
-javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass
-javax/swing/border/LineBorder
-javax/swing/plaf/basic/BasicComboPopup$1
-javax/swing/JList
-javax/swing/DropMode
-javax/swing/DefaultListSelectionModel
-javax/swing/ListSelectionModel
-javax/swing/plaf/basic/BasicListUI
-javax/swing/plaf/ListUI
-javax/swing/plaf/basic/BasicListUI$ListTransferHandler
-javax/swing/TransferHandler
-javax/swing/TransferHandler$TransferAction
-javax/swing/DefaultListCellRenderer$UIResource
-javax/swing/DefaultListCellRenderer
-javax/swing/TransferHandler$SwingDropTarget
-java/awt/dnd/DropTargetContext
-javax/swing/TransferHandler$DropHandler
-javax/swing/TransferHandler$TransferSupport
-javax/swing/plaf/basic/BasicListUI$Handler
-javax/swing/event/ListSelectionListener
-javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag
-javax/swing/plaf/basic/BasicComboPopup$Handler
-javax/swing/JScrollPane
-javax/swing/ScrollPaneConstants
-javax/swing/ScrollPaneLayout$UIResource
-javax/swing/ScrollPaneLayout
-javax/swing/JViewport
-javax/swing/ViewportLayout
-javax/swing/plaf/basic/BasicViewportUI
-javax/swing/plaf/ViewportUI
-javax/swing/JScrollPane$ScrollBar
-javax/swing/JViewport$ViewListener
-java/awt/event/ComponentAdapter
-javax/swing/plaf/metal/MetalScrollPaneUI
-javax/swing/plaf/basic/BasicScrollPaneUI
-javax/swing/plaf/ScrollPaneUI
-javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
-javax/swing/plaf/basic/BasicScrollPaneUI$Handler
-javax/swing/plaf/metal/MetalScrollPaneUI$1
-javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource
-javax/swing/plaf/basic/BasicComboBoxRenderer
-javax/swing/plaf/metal/MetalComboBoxEditor$UIResource
-javax/swing/plaf/metal/MetalComboBoxEditor
-javax/swing/plaf/basic/BasicComboBoxEditor
-javax/swing/ComboBoxEditor
-javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField
-javax/swing/JTextField$NotifyAction
-javax/swing/text/TextAction
-javax/swing/AbstractAction
-javax/swing/text/JTextComponent$MutableCaretEvent
-javax/swing/plaf/metal/MetalTextFieldUI
-javax/swing/plaf/basic/BasicTextFieldUI
-javax/swing/plaf/basic/BasicTextUI
-javax/swing/text/ViewFactory
-javax/swing/plaf/TextUI
-javax/swing/plaf/basic/BasicTextUI$BasicCursor
+javax/swing/text/AbstractDocument$InsertStringResult
+javax/swing/text/AbstractDocument$LeafElement
+javax/swing/text/AttributeSet
+javax/swing/text/AttributeSet$CharacterAttribute
+javax/swing/text/AttributeSet$ColorAttribute
+javax/swing/text/AttributeSet$FontAttribute
+javax/swing/text/AttributeSet$ParagraphAttribute
+javax/swing/text/Caret
+javax/swing/text/DefaultCaret
+javax/swing/text/DefaultCaret$Handler
 javax/swing/text/DefaultEditorKit
-javax/swing/text/EditorKit
-javax/swing/text/DefaultEditorKit$InsertContentAction
-javax/swing/text/DefaultEditorKit$DeletePrevCharAction
-javax/swing/text/DefaultEditorKit$DeleteNextCharAction
-javax/swing/text/DefaultEditorKit$ReadOnlyAction
-javax/swing/text/DefaultEditorKit$DeleteWordAction
-javax/swing/text/DefaultEditorKit$WritableAction
-javax/swing/text/DefaultEditorKit$CutAction
-javax/swing/text/DefaultEditorKit$CopyAction
-javax/swing/text/DefaultEditorKit$PasteAction
-javax/swing/text/DefaultEditorKit$VerticalPageAction
-javax/swing/text/DefaultEditorKit$PageAction
-javax/swing/text/DefaultEditorKit$InsertBreakAction
 javax/swing/text/DefaultEditorKit$BeepAction
-javax/swing/text/DefaultEditorKit$NextVisualPositionAction
-javax/swing/text/DefaultEditorKit$BeginWordAction
-javax/swing/text/DefaultEditorKit$EndWordAction
-javax/swing/text/DefaultEditorKit$PreviousWordAction
-javax/swing/text/DefaultEditorKit$NextWordAction
-javax/swing/text/DefaultEditorKit$BeginLineAction
-javax/swing/text/DefaultEditorKit$EndLineAction
-javax/swing/text/DefaultEditorKit$BeginParagraphAction
-javax/swing/text/DefaultEditorKit$EndParagraphAction
 javax/swing/text/DefaultEditorKit$BeginAction
-javax/swing/text/DefaultEditorKit$EndAction
+javax/swing/text/DefaultEditorKit$BeginLineAction
+javax/swing/text/DefaultEditorKit$BeginParagraphAction
+javax/swing/text/DefaultEditorKit$BeginWordAction
+javax/swing/text/DefaultEditorKit$CopyAction
+javax/swing/text/DefaultEditorKit$CutAction
 javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction
+javax/swing/text/DefaultEditorKit$DeleteNextCharAction
+javax/swing/text/DefaultEditorKit$DeletePrevCharAction
+javax/swing/text/DefaultEditorKit$DeleteWordAction
+javax/swing/text/DefaultEditorKit$DumpModelAction
+javax/swing/text/DefaultEditorKit$EndAction
+javax/swing/text/DefaultEditorKit$EndLineAction
+javax/swing/text/DefaultEditorKit$EndParagraphAction
+javax/swing/text/DefaultEditorKit$EndWordAction
+javax/swing/text/DefaultEditorKit$InsertBreakAction
+javax/swing/text/DefaultEditorKit$InsertContentAction
 javax/swing/text/DefaultEditorKit$InsertTabAction
-javax/swing/text/DefaultEditorKit$SelectWordAction
+javax/swing/text/DefaultEditorKit$NextVisualPositionAction
+javax/swing/text/DefaultEditorKit$NextWordAction
+javax/swing/text/DefaultEditorKit$PageAction
+javax/swing/text/DefaultEditorKit$PasteAction
+javax/swing/text/DefaultEditorKit$PreviousWordAction
+javax/swing/text/DefaultEditorKit$ReadOnlyAction
+javax/swing/text/DefaultEditorKit$SelectAllAction
 javax/swing/text/DefaultEditorKit$SelectLineAction
 javax/swing/text/DefaultEditorKit$SelectParagraphAction
-javax/swing/text/DefaultEditorKit$SelectAllAction
-javax/swing/text/DefaultEditorKit$UnselectAction
+javax/swing/text/DefaultEditorKit$SelectWordAction
 javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction
-javax/swing/text/DefaultEditorKit$DumpModelAction
-javax/swing/plaf/basic/BasicTextUI$TextTransferHandler
-javax/swing/text/Position$Bias
-javax/swing/plaf/basic/BasicTextUI$RootView
-javax/swing/text/View
-javax/swing/plaf/basic/BasicTextUI$UpdateHandler
-javax/swing/event/DocumentListener
-javax/swing/plaf/basic/BasicTextUI$DragListener
-javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
-javax/swing/plaf/basic/BasicTextUI$BasicCaret
-javax/swing/text/DefaultCaret
-javax/swing/text/Caret
-javax/swing/text/DefaultCaret$Handler
-java/awt/datatransfer/ClipboardOwner
-javax/swing/plaf/basic/BasicTextUI$BasicHighlighter
+javax/swing/text/DefaultEditorKit$UnselectAction
+javax/swing/text/DefaultEditorKit$VerticalPageAction
+javax/swing/text/DefaultEditorKit$WritableAction
 javax/swing/text/DefaultHighlighter
-javax/swing/text/LayeredHighlighter
+javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
+javax/swing/text/DefaultHighlighter$SafeDamager
+javax/swing/text/Document
+javax/swing/text/EditorKit
+javax/swing/text/Element
+javax/swing/text/FieldView
+javax/swing/text/GapContent
+javax/swing/text/GapContent$InsertUndo
+javax/swing/text/GapContent$MarkData
+javax/swing/text/GapContent$MarkVector
+javax/swing/text/GapContent$StickyPosition
+javax/swing/text/GapVector
 javax/swing/text/Highlighter
 javax/swing/text/Highlighter$Highlight
-javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
-javax/swing/text/LayeredHighlighter$LayerPainter
 javax/swing/text/Highlighter$HighlightPainter
-javax/swing/text/DefaultHighlighter$SafeDamager
-javax/swing/text/FieldView
-javax/swing/text/PlainView
+javax/swing/text/JTextComponent
+javax/swing/text/JTextComponent$1
 javax/swing/text/JTextComponent$DefaultKeymap
-javax/swing/text/Keymap
-javax/swing/text/JTextComponent$KeymapWrapper
 javax/swing/text/JTextComponent$KeymapActionMap
-javax/swing/plaf/basic/BasicTextUI$FocusAction
-javax/swing/plaf/basic/BasicTextUI$TextActionWrapper
-javax/swing/JTextArea
-javax/swing/JEditorPane
-javax/swing/JTextField$ScrollRepainter
-javax/swing/plaf/metal/MetalComboBoxEditor$1
-javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder
-javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
-javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler
-javax/swing/plaf/basic/BasicComboBoxUI$Handler
-javax/swing/plaf/metal/MetalComboBoxButton
-javax/swing/plaf/metal/MetalComboBoxIcon
-javax/swing/plaf/metal/MetalComboBoxButton$1
-javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager
-javax/swing/JComboBox$KeySelectionManager
-javax/swing/JToolBar$DefaultToolBarLayout
-javax/swing/plaf/metal/MetalToolBarUI
-javax/swing/plaf/basic/BasicToolBarUI
-javax/swing/plaf/ToolBarUI
-javax/swing/plaf/metal/MetalBorders$ToolBarBorder
-javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1
-javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder
-javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder
-javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
-javax/swing/plaf/basic/BasicBorders$ButtonBorder
-javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder
-javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener
-javax/swing/plaf/basic/BasicToolBarUI$DockingListener
-javax/swing/plaf/basic/BasicToolBarUI$Handler
-javax/swing/border/EtchedBorder
-javax/swing/JToolBar$Separator
-javax/swing/plaf/basic/BasicToolBarSeparatorUI
-sun/font/FontDesignMetrics$MetricsKey
-javax/swing/KeyboardManager$ComponentKeyStrokePair
-sun/awt/EmbeddedFrame
-sun/awt/im/InputMethodContext
-java/awt/im/spi/InputMethodContext
-sun/awt/im/InputContext
-sun/awt/im/InputMethodManager
-sun/awt/im/ExecutableInputMethodManager
-sun/awt/X11/XInputMethodDescriptor
-sun/awt/X11InputMethodDescriptor
-java/awt/im/spi/InputMethodDescriptor
-sun/awt/im/InputMethodLocator
-sun/awt/im/ExecutableInputMethodManager$2
-sun/misc/Service
-sun/misc/Service$LazyIterator
-java/util/TreeSet
-java/util/NavigableSet
-java/util/SortedSet
-javax/swing/SizeRequirements
-javax/swing/plaf/basic/BasicGraphicsUtils
-java/awt/event/AdjustmentEvent
-java/awt/MenuBar
-sun/awt/X11/XComponentPeer$2
-java/awt/SequencedEvent
-java/beans/PropertyVetoException
-java/awt/DefaultKeyboardFocusManager$TypeAheadMarker
-java/awt/KeyboardFocusManager$HeavyweightFocusRequest
-java/awt/KeyboardFocusManager$LightweightFocusRequest
-sun/awt/X11/XFocusChangeEvent
-sun/awt/X11/XComponentPeer$1
-sun/awt/X11/XTranslateCoordinates
-sun/awt/KeyboardFocusManagerPeerImpl
-sun/awt/SunToolkit$7
-java/awt/Window$1DisposeAction
-java/awt/LightweightDispatcher$2
-sun/awt/X11/XUnmapEvent
-java/io/StringWriter
-javax/swing/JWindow
-java/io/UnsupportedEncodingException
-java/net/UnknownHostException
-java/nio/channels/SocketChannel
-java/nio/channels/spi/AbstractSelectableChannel
-java/nio/channels/SelectableChannel
-java/net/SocketImplFactory
-javax/swing/UnsupportedLookAndFeelException
-java/lang/UnsatisfiedLinkError
-javax/swing/Box$Filler
-javax/swing/JComponent$2
-sun/net/www/MimeTable
-java/net/FileNameMap
-sun/net/www/MimeTable$1
-sun/net/www/MimeEntry
-java/net/URLConnection$1
-java/text/SimpleDateFormat
-java/text/DateFormat
-java/text/DateFormat$Field
-java/util/Calendar
-java/util/GregorianCalendar
-sun/util/resources/CalendarData
-sun/util/resources/LocaleNamesBundle
-sun/util/resources/CalendarData_en
-java/text/DateFormatSymbols
-java/text/spi/DateFormatSymbolsProvider
-sun/text/resources/FormatData
-sun/text/resources/FormatData_en
-sun/text/resources/FormatData_en_US
-java/text/NumberFormat
-java/text/spi/NumberFormatProvider
-java/text/DecimalFormatSymbols
-java/text/spi/DecimalFormatSymbolsProvider
-java/util/Currency
-java/util/Currency$1
-java/util/spi/CurrencyNameProvider
-sun/util/resources/CurrencyNames
-sun/util/resources/CurrencyNames_en_US
-java/text/DecimalFormat
-java/text/DigitList
-java/math/RoundingMode
-java/text/DontCareFieldPosition
-java/text/DontCareFieldPosition$1
-java/text/Format$FieldDelegate
-javax/swing/plaf/BorderUIResource
-javax/swing/BorderFactory
-javax/swing/border/BevelBorder
-javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon
-javax/swing/plaf/metal/MetalIconFactory$FolderIcon16
-java/util/zip/ZipInputStream
-java/io/PushbackInputStream
-java/util/zip/CRC32
-java/util/zip/Checksum
-java/lang/Thread$State
-javax/swing/SwingUtilities$SharedOwnerFrame
-javax/swing/JTable
-javax/swing/event/TableModelListener
-javax/swing/event/TableColumnModelListener
-javax/swing/event/CellEditorListener
-javax/swing/event/RowSorterListener
-java/awt/GraphicsCallback$PaintCallback
-java/awt/GraphicsCallback
-sun/awt/SunGraphicsCallback
-javax/swing/BufferStrategyPaintManager$BufferInfo
-java/awt/Component$BltSubRegionBufferStrategy
-sun/awt/SubRegionShowable
-java/awt/Component$BltBufferStrategy
-sun/awt/image/SunVolatileImage
-sun/awt/image/BufferedImageGraphicsConfig
-sun/print/PrinterGraphicsConfig
-sun/awt/image/VolatileSurfaceManager
-javax/swing/JRadioButton
-java/lang/ClassFormatError
-java/awt/print/PrinterGraphics
-java/awt/PrintGraphics
-javax/swing/JTabbedPane
-javax/swing/JTabbedPane$ModelListener
-javax/swing/plaf/metal/MetalTabbedPaneUI
-javax/swing/plaf/basic/BasicTabbedPaneUI
-javax/swing/plaf/TabbedPaneUI
-javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$Handler
-sun/swing/ImageIconUIResource
-javax/swing/GrayFilter
-java/awt/image/RGBImageFilter
-java/awt/image/ImageFilter
-java/awt/image/FilteredImageSource
-org/w3c/dom/Node
-org/xml/sax/SAXException
-javax/xml/parsers/ParserConfigurationException
-org/xml/sax/EntityResolver
-java/security/NoSuchAlgorithmException
-java/security/GeneralSecurityException
-java/util/zip/GZIPInputStream
-java/util/zip/DeflaterOutputStream
-org/xml/sax/InputSource
-javax/xml/parsers/DocumentBuilderFactory
-javax/xml/parsers/FactoryFinder
-javax/xml/parsers/SecuritySupport
-javax/xml/parsers/SecuritySupport$2
-javax/xml/parsers/SecuritySupport$5
-javax/xml/parsers/SecuritySupport$1
-javax/xml/parsers/SecuritySupport$4
-javax/xml/parsers/DocumentBuilder
-org/w3c/dom/Document
-org/xml/sax/helpers/DefaultHandler
-org/xml/sax/DTDHandler
-org/xml/sax/ContentHandler
-org/xml/sax/ErrorHandler
-org/xml/sax/SAXNotSupportedException
-org/xml/sax/Locator
-org/xml/sax/SAXNotRecognizedException
-org/xml/sax/SAXParseException
-org/w3c/dom/NodeList
-org/w3c/dom/events/EventTarget
-org/w3c/dom/traversal/DocumentTraversal
-org/w3c/dom/events/DocumentEvent
-org/w3c/dom/ranges/DocumentRange
-org/w3c/dom/Entity
-org/w3c/dom/Element
-org/w3c/dom/CharacterData
-org/w3c/dom/CDATASection
-org/w3c/dom/Text
-org/xml/sax/AttributeList
-org/w3c/dom/DOMException
-org/w3c/dom/Notation
-org/w3c/dom/DocumentType
-org/w3c/dom/Attr
-org/w3c/dom/EntityReference
-org/w3c/dom/ProcessingInstruction
-org/w3c/dom/Comment
-org/w3c/dom/DocumentFragment
-org/w3c/dom/events/Event
-org/w3c/dom/events/MutationEvent
-org/w3c/dom/traversal/TreeWalker
-org/w3c/dom/ranges/Range
-org/w3c/dom/traversal/NodeIterator
-org/w3c/dom/events/EventException
-org/w3c/dom/NamedNodeMap
-java/awt/GridLayout
-javax/swing/plaf/metal/MetalRadioButtonUI
-javax/swing/plaf/basic/BasicRadioButtonUI
-javax/swing/plaf/basic/BasicBorders
-javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon
-java/awt/event/ItemEvent
-java/awt/CardLayout$Card
-javax/swing/JCheckBox
-javax/swing/event/ListSelectionEvent
-javax/swing/plaf/metal/MetalCheckBoxUI
-javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon
-java/lang/ExceptionInInitializerError
-com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI
-javax/swing/JProgressBar
-javax/swing/JProgressBar$ModelListener
-javax/swing/plaf/metal/MetalProgressBarUI
-javax/swing/plaf/basic/BasicProgressBarUI
-javax/swing/plaf/ProgressBarUI
-javax/swing/plaf/BorderUIResource$LineBorderUIResource
-javax/swing/plaf/basic/BasicProgressBarUI$Handler
-javax/swing/tree/TreeModel
-javax/swing/table/TableCellRenderer
-javax/swing/table/JTableHeader
-javax/swing/event/TreeExpansionListener
-javax/swing/table/AbstractTableModel
-javax/swing/table/TableModel
-javax/swing/table/DefaultTableCellRenderer
-javax/swing/JTree
-javax/swing/tree/TreeSelectionModel
-javax/swing/tree/DefaultTreeCellRenderer
-javax/swing/tree/TreeCellRenderer
-javax/swing/table/TableCellEditor
-javax/swing/CellEditor
-javax/swing/JToolTip
-javax/swing/table/TableColumn
-javax/swing/table/DefaultTableColumnModel
-javax/swing/table/TableColumnModel
-javax/swing/table/DefaultTableModel
-javax/swing/event/TableModelEvent
-sun/swing/table/DefaultTableCellHeaderRenderer
-javax/swing/plaf/basic/BasicTableHeaderUI
-javax/swing/plaf/TableHeaderUI
-javax/swing/plaf/basic/BasicTableHeaderUI$1
-javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler
-javax/swing/DefaultCellEditor
-javax/swing/tree/TreeCellEditor
-javax/swing/AbstractCellEditor
-javax/swing/plaf/basic/BasicTableUI
-javax/swing/plaf/TableUI
-javax/swing/plaf/basic/BasicTableUI$TableTransferHandler
-javax/swing/plaf/basic/BasicTableUI$Handler
-javax/swing/tree/DefaultTreeSelectionModel
-javax/swing/tree/TreePath
-javax/swing/plaf/metal/MetalTreeUI
-javax/swing/plaf/basic/BasicTreeUI
-javax/swing/plaf/TreeUI
-javax/swing/plaf/basic/BasicTreeUI$Actions
-javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler
-javax/swing/plaf/metal/MetalTreeUI$LineListener
-javax/swing/plaf/basic/BasicTreeUI$Handler
-javax/swing/event/TreeModelListener
-javax/swing/event/TreeSelectionListener
-javax/swing/event/SwingPropertyChangeSupport
-javax/swing/tree/VariableHeightLayoutCache
+javax/swing/text/JTextComponent$KeymapWrapper
+javax/swing/text/JTextComponent$MutableCaretEvent
+javax/swing/text/Keymap
+javax/swing/text/LayeredHighlighter
+javax/swing/text/LayeredHighlighter$LayerPainter
+javax/swing/text/MutableAttributeSet
+javax/swing/text/PlainDocument
+javax/swing/text/PlainView
+javax/swing/text/Position
+javax/swing/text/Position$Bias
+javax/swing/text/Segment
+javax/swing/text/SegmentCache
+javax/swing/text/SegmentCache$CachedSegment
+javax/swing/text/SimpleAttributeSet
+javax/swing/text/SimpleAttributeSet$EmptyAttributeSet
+javax/swing/text/Style
+javax/swing/text/StyleConstants
+javax/swing/text/StyleConstants$CharacterConstants
+javax/swing/text/StyleConstants$ColorConstants
+javax/swing/text/StyleConstants$FontConstants
+javax/swing/text/StyleConstants$ParagraphConstants
+javax/swing/text/StyleContext
+javax/swing/text/StyleContext$FontKey
+javax/swing/text/StyleContext$KeyEnumeration
+javax/swing/text/StyleContext$NamedStyle
+javax/swing/text/StyleContext$SmallAttributeSet
+javax/swing/text/TabExpander
+javax/swing/text/TextAction
+javax/swing/text/Utilities
+javax/swing/text/View
+javax/swing/text/ViewFactory
 javax/swing/tree/AbstractLayoutCache
-javax/swing/tree/RowMapper
-javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler
 javax/swing/tree/AbstractLayoutCache$NodeDimensions
-javax/swing/JTree$TreeModelHandler
-javax/swing/tree/VariableHeightLayoutCache$TreeStateNode
 javax/swing/tree/DefaultMutableTreeNode
-javax/swing/tree/MutableTreeNode
 javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration
-javax/swing/event/TableColumnModelEvent
-java/text/ParseException
-java/text/NumberFormat$Field
-javax/swing/event/UndoableEditListener
-javax/swing/filechooser/FileFilter
-javax/swing/tree/DefaultTreeModel
 javax/swing/tree/DefaultTreeCellEditor
 javax/swing/tree/DefaultTreeCellEditor$1
 javax/swing/tree/DefaultTreeCellEditor$DefaultTextField
-javax/swing/DefaultCellEditor$1
-javax/swing/DefaultCellEditor$EditorDelegate
 javax/swing/tree/DefaultTreeCellEditor$EditorContainer
-javax/swing/JTree$TreeSelectionRedirector
-javax/swing/event/TreeModelEvent
-javax/swing/plaf/metal/MetalSplitPaneUI
-javax/swing/plaf/basic/BasicSplitPaneUI
-javax/swing/plaf/SplitPaneUI
-javax/swing/plaf/basic/BasicSplitPaneDivider
-javax/swing/plaf/basic/BasicBorders$SplitPaneBorder
-javax/swing/plaf/metal/MetalSplitPaneDivider
-javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout
-javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler
-javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder
-javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager
-javax/swing/plaf/basic/BasicSplitPaneUI$1
-javax/swing/plaf/basic/BasicSplitPaneUI$Handler
-javax/swing/plaf/metal/MetalSplitPaneDivider$1
-javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler
-javax/swing/plaf/metal/MetalSplitPaneDivider$2
-javax/swing/border/TitledBorder
-javax/swing/plaf/basic/BasicTextAreaUI
-java/util/Collections$UnmodifiableCollection$1
-java/io/InterruptedIOException
-java/net/NoRouteToHostException
-java/net/BindException
+javax/swing/tree/DefaultTreeCellRenderer
+javax/swing/tree/DefaultTreeModel
+javax/swing/tree/DefaultTreeSelectionModel
+javax/swing/tree/MutableTreeNode
 javax/swing/tree/PathPlaceHolder
-javax/swing/event/TreeSelectionEvent
-javax/swing/JList$3
-javax/swing/JList$ListSelectionHandler
-javax/swing/JSlider
-javax/swing/JSlider$ModelListener
-javax/swing/plaf/metal/MetalSliderUI
-javax/swing/plaf/basic/BasicSliderUI
-javax/swing/plaf/SliderUI
-javax/swing/plaf/basic/BasicSliderUI$Actions
-javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon
-javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon
-javax/swing/plaf/basic/BasicSliderUI$TrackListener
-javax/swing/plaf/basic/BasicSliderUI$Handler
-javax/swing/plaf/basic/BasicSliderUI$ScrollListener
-javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener
-javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler
-java/util/Hashtable$KeySet
-sun/font/Type1Font$1
-java/nio/channels/FileChannel$MapMode
-sun/nio/ch/FileChannelImpl$Unmapper
-sun/nio/ch/Util$3
-java/nio/DirectByteBufferR
-sun/nio/cs/US_ASCII$Decoder
-sun/font/Type1Font$2
-sun/font/Type1GlyphMapper
-javax/swing/DefaultListModel
-javax/swing/event/ListDataEvent
-javax/sound/sampled/DataLine
-javax/sound/sampled/Line
-javax/sound/sampled/Line$Info
-javax/sound/sampled/DataLine$Info
-javax/sound/sampled/Control$Type
-javax/sound/sampled/FloatControl$Type
-javax/sound/sampled/LineUnavailableException
-javax/sound/sampled/UnsupportedAudioFileException
-javax/swing/JRadioButtonMenuItem
-javax/swing/JMenuItem$AccessibleJMenuItem
-javax/swing/AbstractButton$AccessibleAbstractButton
-javax/accessibility/AccessibleAction
-javax/accessibility/AccessibleValue
-javax/accessibility/AccessibleText
-javax/accessibility/AccessibleExtendedComponent
-javax/accessibility/AccessibleComponent
-javax/swing/JComponent$AccessibleJComponent
-java/awt/Container$AccessibleAWTContainer
-java/awt/Component$AccessibleAWTComponent
-javax/accessibility/AccessibleRelationSet
-javax/accessibility/AccessibleState
-javax/accessibility/AccessibleBundle
-javax/swing/plaf/basic/BasicCheckBoxMenuItemUI
-javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon
-javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem
-javax/swing/plaf/basic/BasicRadioButtonMenuItemUI
-javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon
+javax/swing/tree/RowMapper
+javax/swing/tree/TreeCellEditor
+javax/swing/tree/TreeCellRenderer
+javax/swing/tree/TreeModel
+javax/swing/tree/TreeNode
+javax/swing/tree/TreePath
+javax/swing/tree/TreeSelectionModel
+javax/swing/tree/VariableHeightLayoutCache
+javax/swing/tree/VariableHeightLayoutCache$TreeStateNode
+javax/swing/undo/AbstractUndoableEdit
+javax/swing/undo/CompoundEdit
+javax/swing/undo/UndoableEdit
+javax/xml/parsers/DocumentBuilder
+javax/xml/parsers/DocumentBuilderFactory
+javax/xml/parsers/FactoryFinder
+javax/xml/parsers/FactoryFinder$1
+javax/xml/parsers/ParserConfigurationException
+javax/xml/parsers/SecuritySupport
+javax/xml/parsers/SecuritySupport$2
+javax/xml/parsers/SecuritySupport$5
+org/w3c/dom/Attr
+org/w3c/dom/CDATASection
+org/w3c/dom/CharacterData
+org/w3c/dom/Comment
+org/w3c/dom/DOMException
+org/w3c/dom/Document
+org/w3c/dom/DocumentFragment
+org/w3c/dom/DocumentType
+org/w3c/dom/Element
+org/w3c/dom/Entity
+org/w3c/dom/EntityReference
+org/w3c/dom/NamedNodeMap
+org/w3c/dom/Node
+org/w3c/dom/NodeList
+org/w3c/dom/Notation
+org/w3c/dom/ProcessingInstruction
+org/w3c/dom/Text
+org/w3c/dom/events/DocumentEvent
+org/w3c/dom/events/Event
+org/w3c/dom/events/EventException
+org/w3c/dom/events/EventTarget
+org/w3c/dom/events/MutationEvent
+org/w3c/dom/ranges/DocumentRange
+org/w3c/dom/ranges/Range
+org/w3c/dom/traversal/DocumentTraversal
+org/w3c/dom/traversal/NodeIterator
+org/w3c/dom/traversal/TreeWalker
+org/xml/sax/AttributeList
+org/xml/sax/ContentHandler
+org/xml/sax/DTDHandler
+org/xml/sax/EntityResolver
+org/xml/sax/ErrorHandler
+org/xml/sax/InputSource
+org/xml/sax/Locator
+org/xml/sax/SAXException
+org/xml/sax/SAXNotRecognizedException
+org/xml/sax/SAXNotSupportedException
+org/xml/sax/SAXParseException
+org/xml/sax/helpers/DefaultHandler
+sun/awt/AWTAccessor
+sun/awt/AWTAccessor$AWTEventAccessor
+sun/awt/AWTAccessor$ClientPropertyKeyAccessor
+sun/awt/AWTAccessor$ComponentAccessor
+sun/awt/AWTAccessor$ContainerAccessor
+sun/awt/AWTAccessor$CursorAccessor
+sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor
+sun/awt/AWTAccessor$EventQueueAccessor
+sun/awt/AWTAccessor$FrameAccessor
+sun/awt/AWTAccessor$InputEventAccessor
+sun/awt/AWTAccessor$InvocationEventAccessor
+sun/awt/AWTAccessor$KeyEventAccessor
+sun/awt/AWTAccessor$KeyboardFocusManagerAccessor
+sun/awt/AWTAccessor$SequencedEventAccessor
+sun/awt/AWTAccessor$ToolkitAccessor
+sun/awt/AWTAccessor$WindowAccessor
+sun/awt/AWTAutoShutdown
+sun/awt/AWTIcon64_java_icon16_png
+sun/awt/AWTIcon64_java_icon24_png
+sun/awt/AWTIcon64_java_icon32_png
+sun/awt/AWTIcon64_java_icon48_png
+sun/awt/AppContext
+sun/awt/AppContext$1
+sun/awt/AppContext$2
+sun/awt/AppContext$3
+sun/awt/AppContext$6
+sun/awt/AppContext$GetAppContextLock
+sun/awt/AppContext$State
+sun/awt/CausedFocusEvent
+sun/awt/CausedFocusEvent$Cause
+sun/awt/ComponentFactory
+sun/awt/ConstrainableGraphics
+sun/awt/DisplayChangedListener
+sun/awt/EmbeddedFrame
+sun/awt/EventQueueDelegate
+sun/awt/EventQueueItem
+sun/awt/FontConfiguration
+sun/awt/FontConfiguration$1
+sun/awt/FontDescriptor
+sun/awt/GlobalCursorManager
+sun/awt/GlobalCursorManager$NativeUpdater
+sun/awt/HeadlessToolkit
+sun/awt/IconInfo
+sun/awt/InputMethodSupport
+sun/awt/KeyboardFocusManagerPeerImpl
+sun/awt/KeyboardFocusManagerPeerProvider
+sun/awt/LightweightFrame
+sun/awt/ModalityListener
+sun/awt/MostRecentKeyValue
+sun/awt/NullComponentPeer
+sun/awt/OSInfo
+sun/awt/OSInfo$1
+sun/awt/OSInfo$OSType
+sun/awt/OSInfo$WindowsVersion
+sun/awt/PaintEventDispatcher
+sun/awt/PeerEvent
+sun/awt/PostEventQueue
+sun/awt/RepaintArea
+sun/awt/RequestFocusController
+sun/awt/SubRegionShowable
+sun/awt/SunDisplayChanger
+sun/awt/SunGraphicsCallback
+sun/awt/SunHints
+sun/awt/SunHints$Key
+sun/awt/SunHints$LCDContrastKey
+sun/awt/SunHints$Value
+sun/awt/SunToolkit
+sun/awt/SunToolkit$ModalityListenerList
+sun/awt/TimedWindowEvent
+sun/awt/UNIXToolkit
+sun/awt/WindowClosingListener
+sun/awt/WindowClosingSupport
+sun/awt/X11/AwtGraphicsConfigData
+sun/awt/X11/AwtScreenData
+sun/awt/X11/MotifColorUtilities
+sun/awt/X11/MotifDnDConstants
+sun/awt/X11/MotifDnDDragSourceProtocol
+sun/awt/X11/MotifDnDDropTargetProtocol
+sun/awt/X11/Native
+sun/awt/X11/Native$1
+sun/awt/X11/OwnershipListener
+sun/awt/X11/PropMwmHints
+sun/awt/X11/UnsafeXDisposerRecord
+sun/awt/X11/WindowDimensions
+sun/awt/X11/WindowPropertyGetter
+sun/awt/X11/XAWTXSettings
+sun/awt/X11/XAnyEvent
+sun/awt/X11/XAtom
+sun/awt/X11/XAtomList
+sun/awt/X11/XAwtState
+sun/awt/X11/XBaseWindow
+sun/awt/X11/XBaseWindow$1
+sun/awt/X11/XBaseWindow$InitialiseState
+sun/awt/X11/XBaseWindow$StateLock
+sun/awt/X11/XCanvasPeer
+sun/awt/X11/XClientMessageEvent
+sun/awt/X11/XClipboard
+sun/awt/X11/XComponentPeer
+sun/awt/X11/XComponentPeer$1
+sun/awt/X11/XConfigureEvent
+sun/awt/X11/XContentWindow
+sun/awt/X11/XCreateWindowParams
+sun/awt/X11/XDecoratedPeer
+sun/awt/X11/XDnDConstants
+sun/awt/X11/XDnDDragSourceProtocol
+sun/awt/X11/XDnDDropTargetProtocol
+sun/awt/X11/XDragAndDropProtocols
+sun/awt/X11/XDragSourceContextPeer
+sun/awt/X11/XDragSourceProtocol
+sun/awt/X11/XDragSourceProtocolListener
+sun/awt/X11/XDropTargetContextPeer
+sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl
+sun/awt/X11/XDropTargetEventProcessor
+sun/awt/X11/XDropTargetProtocol
+sun/awt/X11/XDropTargetProtocolListener
+sun/awt/X11/XDropTargetRegistry
+sun/awt/X11/XEmbeddedFramePeer
+sun/awt/X11/XErrorEvent
+sun/awt/X11/XErrorHandler
+sun/awt/X11/XErrorHandler$IgnoreBadWindowHandler
+sun/awt/X11/XErrorHandler$VerifyChangePropertyHandler
+sun/awt/X11/XErrorHandler$XBaseErrorHandler
+sun/awt/X11/XErrorHandler$XErrorHandlerWithFlag
+sun/awt/X11/XErrorHandler$XShmAttachHandler
+sun/awt/X11/XErrorHandlerUtil
+sun/awt/X11/XEvent
+sun/awt/X11/XEventDispatcher
+sun/awt/X11/XExposeEvent
+sun/awt/X11/XFocusChangeEvent
+sun/awt/X11/XFocusProxyWindow
+sun/awt/X11/XFramePeer
+sun/awt/X11/XGlobalCursorManager
+sun/awt/X11/XInputMethod
+sun/awt/X11/XInputMethodDescriptor
+sun/awt/X11/XKeyboardFocusManagerPeer
+sun/awt/X11/XLabelPeer
+sun/awt/X11/XLayerProtocol
+sun/awt/X11/XMSelection
+sun/awt/X11/XMSelection$1
+sun/awt/X11/XMSelection$3
+sun/awt/X11/XMSelectionListener
+sun/awt/X11/XModifierKeymap
+sun/awt/X11/XNETProtocol
+sun/awt/X11/XPanelPeer
+sun/awt/X11/XPropertyCache
+sun/awt/X11/XPropertyEvent
+sun/awt/X11/XProtocol
+sun/awt/X11/XRepaintArea
+sun/awt/X11/XReparentEvent
+sun/awt/X11/XRootWindow
+sun/awt/X11/XSelection
+sun/awt/X11/XSelection$IncrementalTransferHandler
+sun/awt/X11/XSelection$SelectionEventHandler
+sun/awt/X11/XSetWindowAttributes
+sun/awt/X11/XSizeHints
+sun/awt/X11/XStateProtocol
+sun/awt/X11/XSystemTrayPeer
+sun/awt/X11/XToolkit
+sun/awt/X11/XToolkit$1
+sun/awt/X11/XToolkit$2
+sun/awt/X11/XToolkit$2$1
+sun/awt/X11/XToolkit$3
+sun/awt/X11/XToolkit$4
+sun/awt/X11/XToolkit$5
+sun/awt/X11/XTranslateCoordinates
+sun/awt/X11/XUnmapEvent
+sun/awt/X11/XVisibilityEvent
+sun/awt/X11/XVisualInfo
+sun/awt/X11/XWINProtocol
+sun/awt/X11/XWM
+sun/awt/X11/XWM$1
+sun/awt/X11/XWMHints
+sun/awt/X11/XWindow
+sun/awt/X11/XWindowAttributes
+sun/awt/X11/XWindowAttributesData
+sun/awt/X11/XWindowPeer
+sun/awt/X11/XWindowPeer$2
+sun/awt/X11/XWindowPeer$4
+sun/awt/X11/XWrapperBase
+sun/awt/X11/XlibUtil
+sun/awt/X11/XlibWrapper
+sun/awt/X11ComponentPeer
+sun/awt/X11FontManager
+sun/awt/X11GraphicsConfig
+sun/awt/X11GraphicsConfig$X11GCDisposerRecord
+sun/awt/X11GraphicsDevice
+sun/awt/X11GraphicsEnvironment
+sun/awt/X11GraphicsEnvironment$1
+sun/awt/X11InputMethod
+sun/awt/X11InputMethodDescriptor
+sun/awt/XSettings
+sun/awt/XSettings$Update
+sun/awt/datatransfer/SunClipboard
+sun/awt/dnd/SunDragSourceContextPeer
+sun/awt/dnd/SunDropTargetContextPeer
+sun/awt/dnd/SunDropTargetEvent
+sun/awt/event/IgnorePaintEvent
+sun/awt/im/ExecutableInputMethodManager
+sun/awt/im/ExecutableInputMethodManager$3
+sun/awt/im/InputContext
+sun/awt/im/InputMethodAdapter
+sun/awt/im/InputMethodContext
+sun/awt/im/InputMethodLocator
+sun/awt/im/InputMethodManager
+sun/awt/image/BufImgSurfaceData
+sun/awt/image/BufImgSurfaceData$ICMColorData
+sun/awt/image/BufImgSurfaceManager
+sun/awt/image/BufferedImageGraphicsConfig
+sun/awt/image/ByteComponentRaster
+sun/awt/image/ByteInterleavedRaster
+sun/awt/image/BytePackedRaster
+sun/awt/image/FetcherInfo
+sun/awt/image/GifFrame
+sun/awt/image/GifImageDecoder
+sun/awt/image/ImageConsumerQueue
+sun/awt/image/ImageDecoder
 sun/awt/image/ImageDecoder$1
-javax/swing/JTabbedPane$Page
-java/net/DatagramSocket
-java/net/MulticastSocket
-java/net/DatagramPacket
+sun/awt/image/ImageFetchable
+sun/awt/image/ImageFetcher
+sun/awt/image/ImageFetcher$1
+sun/awt/image/ImageRepresentation
+sun/awt/image/ImageWatched
+sun/awt/image/ImageWatched$Link
+sun/awt/image/ImageWatched$WeakLink
+sun/awt/image/InputStreamImageSource
+sun/awt/image/IntegerComponentRaster
+sun/awt/image/IntegerInterleavedRaster
+sun/awt/image/NativeLibLoader
+sun/awt/image/NativeLibLoader$1
+sun/awt/image/OffScreenImage
+sun/awt/image/PNGFilterInputStream
+sun/awt/image/PNGImageDecoder
+sun/awt/image/PixelConverter
+sun/awt/image/PixelConverter$Argb
+sun/awt/image/PixelConverter$ArgbBm
+sun/awt/image/PixelConverter$ArgbPre
+sun/awt/image/PixelConverter$Bgrx
+sun/awt/image/PixelConverter$ByteGray
+sun/awt/image/PixelConverter$Rgba
+sun/awt/image/PixelConverter$RgbaPre
+sun/awt/image/PixelConverter$Rgbx
+sun/awt/image/PixelConverter$Ushort4444Argb
+sun/awt/image/PixelConverter$Ushort555Rgb
+sun/awt/image/PixelConverter$Ushort555Rgbx
+sun/awt/image/PixelConverter$Ushort565Rgb
+sun/awt/image/PixelConverter$UshortGray
+sun/awt/image/PixelConverter$Xbgr
+sun/awt/image/PixelConverter$Xrgb
+sun/awt/image/SunVolatileImage
+sun/awt/image/SunWritableRaster
+sun/awt/image/SunWritableRaster$DataStealer
+sun/awt/image/SurfaceManager
+sun/awt/image/SurfaceManager$FlushableCacheData
+sun/awt/image/SurfaceManager$ImageAccessor
+sun/awt/image/SurfaceManager$ProxiedGraphicsConfig
+sun/awt/image/ToolkitImage
+sun/awt/image/URLImageSource
+sun/awt/image/VolatileSurfaceManager
+sun/awt/motif/MFontConfiguration
+sun/awt/resources/awt
+sun/awt/util/IdentityArrayList
+sun/dc/DuctusRenderingEngine
+sun/font/AttributeValues
+sun/font/CMap
+sun/font/CMap$CMapFormat12
+sun/font/CMap$NullCMapClass
+sun/font/CharToGlyphMapper
+sun/font/CompositeFont
+sun/font/CompositeFontDescriptor
+sun/font/CompositeGlyphMapper
+sun/font/CompositeStrike
+sun/font/CoreMetrics
+sun/font/EAttribute
+sun/font/FcFontConfiguration
+sun/font/FileFont
+sun/font/FileFontStrike
+sun/font/Font2D
+sun/font/Font2DHandle
+sun/font/FontAccess
+sun/font/FontConfigManager
+sun/font/FontConfigManager$FcCompFont
+sun/font/FontConfigManager$FontConfigFont
+sun/font/FontConfigManager$FontConfigInfo
+sun/font/FontDesignMetrics
+sun/font/FontDesignMetrics$KeyReference
+sun/font/FontDesignMetrics$MetricsKey
+sun/font/FontFamily
+sun/font/FontLineMetrics
+sun/font/FontManager
+sun/font/FontManagerFactory
+sun/font/FontManagerFactory$1
+sun/font/FontManagerForSGE
+sun/font/FontManagerNativeLibrary
+sun/font/FontManagerNativeLibrary$1
+sun/font/FontScaler
+sun/font/FontStrike
+sun/font/FontStrikeDesc
+sun/font/FontStrikeDisposer
+sun/font/FontUtilities
+sun/font/FontUtilities$1
+sun/font/GlyphDisposedListener
+sun/font/GlyphList
+sun/font/PhysicalFont
+sun/font/PhysicalStrike
+sun/font/StandardGlyphVector
+sun/font/StandardGlyphVector$GlyphStrike
+sun/font/StrikeCache
+sun/font/StrikeCache$1
+sun/font/StrikeCache$DisposableStrike
+sun/font/StrikeCache$SoftDisposerRef
+sun/font/StrikeMetrics
+sun/font/SunFontManager
+sun/font/SunFontManager$1
+sun/font/SunFontManager$11
+sun/font/SunFontManager$13
+sun/font/SunFontManager$2
+sun/font/SunFontManager$3
+sun/font/SunFontManager$FontRegistrationInfo
+sun/font/SunFontManager$T1Filter
+sun/font/SunFontManager$TTFilter
+sun/font/T2KFontScaler
+sun/font/T2KFontScaler$1
+sun/font/TrueTypeFont
+sun/font/TrueTypeFont$1
+sun/font/TrueTypeFont$DirectoryEntry
+sun/font/TrueTypeFont$TTDisposerRecord
+sun/font/TrueTypeGlyphMapper
+sun/font/Type1Font
+sun/font/Type1Font$1
+sun/font/XRGlyphCache
+sun/font/XRGlyphCacheEntry
+sun/font/XRTextRenderer
+sun/java2d/BackBufferCapsProvider
+sun/java2d/DefaultDisposerRecord
+sun/java2d/DestSurfaceProvider
+sun/java2d/Disposer
+sun/java2d/Disposer$1
+sun/java2d/Disposer$2
+sun/java2d/Disposer$PollDisposable
+sun/java2d/DisposerRecord
+sun/java2d/DisposerTarget
+sun/java2d/FontSupport
+sun/java2d/InvalidPipeException
+sun/java2d/NullSurfaceData
+sun/java2d/StateTrackable
+sun/java2d/StateTrackable$State
+sun/java2d/StateTrackableDelegate
+sun/java2d/StateTrackableDelegate$1
+sun/java2d/StateTrackableDelegate$2
+sun/java2d/StateTracker
+sun/java2d/StateTracker$1
+sun/java2d/StateTracker$2
+sun/java2d/SunGraphics2D
+sun/java2d/SunGraphicsEnvironment
+sun/java2d/SunGraphicsEnvironment$1
+sun/java2d/Surface
+sun/java2d/SurfaceData
+sun/java2d/SurfaceData$PixelToPgramLoopConverter
+sun/java2d/SurfaceData$PixelToShapeLoopConverter
+sun/java2d/SurfaceDataProxy
+sun/java2d/SurfaceDataProxy$1
+sun/java2d/SurfaceManagerFactory
+sun/java2d/UnixSurfaceManagerFactory
+sun/java2d/cmm/CMSManager
+sun/java2d/cmm/ProfileActivator
+sun/java2d/cmm/ProfileDeferralInfo
+sun/java2d/cmm/ProfileDeferralMgr
+sun/java2d/jules/JulesPathBuf
+sun/java2d/jules/JulesPathBuf$1
+sun/java2d/loops/Blit
+sun/java2d/loops/BlitBg
+sun/java2d/loops/CompositeType
+sun/java2d/loops/CustomComponent
+sun/java2d/loops/DrawGlyphList
+sun/java2d/loops/DrawGlyphListAA
+sun/java2d/loops/DrawGlyphListLCD
+sun/java2d/loops/DrawLine
+sun/java2d/loops/DrawParallelogram
+sun/java2d/loops/DrawPath
+sun/java2d/loops/DrawPolygons
+sun/java2d/loops/DrawRect
+sun/java2d/loops/FillParallelogram
+sun/java2d/loops/FillPath
+sun/java2d/loops/FillRect
+sun/java2d/loops/FillSpans
+sun/java2d/loops/FontInfo
+sun/java2d/loops/GeneralRenderer
+sun/java2d/loops/GraphicsPrimitive
+sun/java2d/loops/GraphicsPrimitiveMgr
+sun/java2d/loops/GraphicsPrimitiveMgr$1
+sun/java2d/loops/GraphicsPrimitiveMgr$2
+sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec
+sun/java2d/loops/GraphicsPrimitiveProxy
+sun/java2d/loops/MaskBlit
+sun/java2d/loops/MaskFill
+sun/java2d/loops/ProcessPath
+sun/java2d/loops/ProcessPath$1
+sun/java2d/loops/ProcessPath$ActiveEdgeList
+sun/java2d/loops/ProcessPath$DrawHandler
+sun/java2d/loops/ProcessPath$Edge
+sun/java2d/loops/ProcessPath$EndSubPathHandler
+sun/java2d/loops/ProcessPath$FillData
+sun/java2d/loops/ProcessPath$FillProcessHandler
+sun/java2d/loops/ProcessPath$Point
+sun/java2d/loops/ProcessPath$ProcessHandler
+sun/java2d/loops/RenderCache
+sun/java2d/loops/RenderCache$Entry
+sun/java2d/loops/RenderLoops
+sun/java2d/loops/ScaledBlit
+sun/java2d/loops/SurfaceType
+sun/java2d/loops/TransformBlit
+sun/java2d/loops/TransformHelper
+sun/java2d/loops/XORComposite
+sun/java2d/opengl/GLXGraphicsConfig
+sun/java2d/opengl/OGLGraphicsConfig
+sun/java2d/pipe/AAShapePipe
+sun/java2d/pipe/AATextRenderer
+sun/java2d/pipe/AlphaColorPipe
+sun/java2d/pipe/AlphaPaintPipe
+sun/java2d/pipe/CompositePipe
+sun/java2d/pipe/DrawImage
+sun/java2d/pipe/DrawImagePipe
+sun/java2d/pipe/GeneralCompositePipe
+sun/java2d/pipe/GlyphListLoopPipe
+sun/java2d/pipe/GlyphListPipe
+sun/java2d/pipe/LCDTextRenderer
+sun/java2d/pipe/LoopBasedPipe
+sun/java2d/pipe/LoopPipe
+sun/java2d/pipe/NullPipe
+sun/java2d/pipe/OutlineTextRenderer
+sun/java2d/pipe/ParallelogramPipe
+sun/java2d/pipe/PixelDrawPipe
+sun/java2d/pipe/PixelFillPipe
+sun/java2d/pipe/PixelToParallelogramConverter
+sun/java2d/pipe/PixelToShapeConverter
+sun/java2d/pipe/Region
+sun/java2d/pipe/Region$ImmutableRegion
+sun/java2d/pipe/RegionIterator
+sun/java2d/pipe/RenderingEngine
+sun/java2d/pipe/RenderingEngine$1
+sun/java2d/pipe/ShapeDrawPipe
+sun/java2d/pipe/SolidTextRenderer
+sun/java2d/pipe/SpanClipRenderer
+sun/java2d/pipe/SpanShapeRenderer
+sun/java2d/pipe/SpanShapeRenderer$Composite
+sun/java2d/pipe/TextPipe
+sun/java2d/pipe/TextRenderer
+sun/java2d/pipe/ValidatePipe
+sun/java2d/pipe/hw/AccelGraphicsConfig
+sun/java2d/pipe/hw/BufferedContextProvider
+sun/java2d/x11/X11SurfaceData
+sun/java2d/x11/X11SurfaceData$LazyPipe
+sun/java2d/x11/XSurfaceData
+sun/java2d/xr/DirtyRegion
+sun/java2d/xr/GrowableEltArray
+sun/java2d/xr/GrowableIntArray
+sun/java2d/xr/GrowableRectArray
+sun/java2d/xr/MaskTile
+sun/java2d/xr/MaskTileManager
+sun/java2d/xr/MutableInteger
+sun/java2d/xr/XRBackend
+sun/java2d/xr/XRBackendNative
+sun/java2d/xr/XRColor
+sun/java2d/xr/XRCompositeManager
+sun/java2d/xr/XRCompositeManager$1
+sun/java2d/xr/XRDrawImage
+sun/java2d/xr/XRDrawLine
+sun/java2d/xr/XRGraphicsConfig
+sun/java2d/xr/XRMaskBlit
+sun/java2d/xr/XRMaskFill
+sun/java2d/xr/XRMaskImage
+sun/java2d/xr/XRPMBlit
+sun/java2d/xr/XRPMBlitLoops
+sun/java2d/xr/XRPMScaledBlit
+sun/java2d/xr/XRPMTransformedBlit
+sun/java2d/xr/XRPaints
+sun/java2d/xr/XRPaints$XRGradient
+sun/java2d/xr/XRPaints$XRLinearGradient
+sun/java2d/xr/XRPaints$XRRadialGradient
+sun/java2d/xr/XRPaints$XRTexture
+sun/java2d/xr/XRRenderer
+sun/java2d/xr/XRRenderer$XRDrawHandler
+sun/java2d/xr/XRSolidSrcPict
+sun/java2d/xr/XRSurfaceData
+sun/java2d/xr/XRSurfaceData$XRInternalSurfaceData
+sun/java2d/xr/XRSurfaceData$XRPixmapSurfaceData
+sun/java2d/xr/XRSurfaceData$XRWindowSurfaceData
+sun/java2d/xr/XRSurfaceDataProxy
+sun/java2d/xr/XRUtils
+sun/java2d/xr/XRVolatileSurfaceManager
+sun/java2d/xr/XrSwToPMBlit
+sun/java2d/xr/XrSwToPMScaledBlit
+sun/java2d/xr/XrSwToPMTransformedBlit
+sun/launcher/LauncherHelper
+sun/launcher/LauncherHelper$FXHelper
+sun/misc/ASCIICaseInsensitiveComparator
+sun/misc/Cleaner
+sun/misc/CompoundEnumeration
+sun/misc/ExtensionDependency
+sun/misc/FDBigInteger
+sun/misc/FileURLMapper
+sun/misc/FloatingDecimal
+sun/misc/FloatingDecimal$1
+sun/misc/FloatingDecimal$ASCIIToBinaryBuffer
+sun/misc/FloatingDecimal$ASCIIToBinaryConverter
+sun/misc/FloatingDecimal$BinaryToASCIIBuffer
+sun/misc/FloatingDecimal$BinaryToASCIIConverter
+sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer
+sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer
+sun/misc/IOUtils
+sun/misc/JarIndex
+sun/misc/JavaAWTAccess
+sun/misc/JavaIOFileDescriptorAccess
+sun/misc/JavaLangAccess
+sun/misc/JavaNetAccess
+sun/misc/JavaNioAccess
+sun/misc/JavaSecurityAccess
+sun/misc/JavaSecurityProtectionDomainAccess
+sun/misc/JavaUtilJarAccess
+sun/misc/JavaUtilZipFileAccess
+sun/misc/Launcher
+sun/misc/Launcher$AppClassLoader
+sun/misc/Launcher$AppClassLoader$1
+sun/misc/Launcher$BootClassPathHolder
+sun/misc/Launcher$BootClassPathHolder$1
+sun/misc/Launcher$ExtClassLoader
+sun/misc/Launcher$ExtClassLoader$1
+sun/misc/Launcher$Factory
+sun/misc/MetaIndex
+sun/misc/NativeSignalHandler
+sun/misc/OSEnvironment
+sun/misc/Perf
+sun/misc/Perf$GetPerfAction
+sun/misc/PerfCounter
+sun/misc/PerfCounter$CoreCounters
+sun/misc/PerformanceLogger
+sun/misc/PerformanceLogger$TimeData
+sun/misc/PostVMInitHook
+sun/misc/Resource
+sun/misc/SharedSecrets
+sun/misc/Signal
+sun/misc/SignalHandler
+sun/misc/SoftCache
+sun/misc/SoftCache$ValueCell
+sun/misc/URLClassPath
+sun/misc/URLClassPath$1
+sun/misc/URLClassPath$2
+sun/misc/URLClassPath$3
+sun/misc/URLClassPath$FileLoader
+sun/misc/URLClassPath$JarLoader
+sun/misc/URLClassPath$JarLoader$1
+sun/misc/URLClassPath$JarLoader$2
+sun/misc/URLClassPath$Loader
+sun/misc/Unsafe
+sun/misc/VM
+sun/misc/Version
+sun/net/DefaultProgressMeteringPolicy
 sun/net/InetAddressCachePolicy
 sun/net/InetAddressCachePolicy$1
 sun/net/InetAddressCachePolicy$2
-java/net/InetAddress$CacheEntry
-java/net/PlainDatagramSocketImpl
-java/net/DatagramSocketImpl
-java/net/NetworkInterface
-java/net/InterfaceAddress
-java/text/Collator
-java/text/spi/CollatorProvider
-sun/text/resources/CollationData
-sun/text/resources/CollationData_en
-sun/util/EmptyListResourceBundle
-java/text/RuleBasedCollator
-java/text/CollationRules
-java/text/RBCollationTables
-java/text/RBTableBuilder
-java/text/RBCollationTables$BuildAPI
-sun/text/IntHashtable
-sun/text/UCompactIntArray
-sun/text/normalizer/NormalizerImpl
-sun/text/normalizer/ICUData
-sun/text/normalizer/NormalizerDataReader
-sun/text/normalizer/ICUBinary$Authenticate
-sun/text/normalizer/ICUBinary
-sun/text/normalizer/NormalizerImpl$FCDTrieImpl
-sun/text/normalizer/Trie$DataManipulate
-sun/text/normalizer/NormalizerImpl$NormTrieImpl
-sun/text/normalizer/NormalizerImpl$AuxTrieImpl
-sun/text/normalizer/IntTrie
-sun/text/normalizer/Trie
-sun/text/normalizer/CharTrie
-sun/text/normalizer/CharTrie$FriendAgent
-sun/text/normalizer/UnicodeSet
-sun/text/normalizer/UnicodeMatcher
-sun/text/normalizer/NormalizerImpl$DecomposeArgs
-java/text/MergeCollation
-java/text/PatternEntry$Parser
-java/text/PatternEntry
-java/text/EntryPair
-sun/text/ComposedCharIter
-sun/text/normalizer/UTF16
+sun/net/NetHooks
+sun/net/NetHooks$Provider
+sun/net/NetProperties
+sun/net/NetProperties$1
+sun/net/ProgressMeteringPolicy
+sun/net/ProgressMonitor
+sun/net/ResourceManager
+sun/net/sdp/SdpProvider
+sun/net/spi/DefaultProxySelector
+sun/net/spi/DefaultProxySelector$1
+sun/net/spi/DefaultProxySelector$3
+sun/net/spi/DefaultProxySelector$NonProxyInfo
+sun/net/spi/nameservice/NameService
+sun/net/util/IPAddressUtil
+sun/net/util/URLUtil
+sun/net/www/MessageHeader
+sun/net/www/MimeEntry
+sun/net/www/MimeTable
+sun/net/www/MimeTable$1
+sun/net/www/MimeTable$DefaultInstanceHolder
+sun/net/www/MimeTable$DefaultInstanceHolder$1
+sun/net/www/ParseUtil
+sun/net/www/URLConnection
+sun/net/www/protocol/file/FileURLConnection
+sun/net/www/protocol/file/Handler
 sun/net/www/protocol/http/Handler
-java/io/ObjectInputStream$BlockDataInputStream
-java/io/ObjectInputStream$PeekInputStream
-java/io/ObjectInputStream$HandleTable
-java/io/ObjectInputStream$HandleTable$HandleList
-java/io/ObjectInputStream$ValidationList
-java/io/Bits
-java/io/ObjectStreamClass$Caches
-java/io/ObjectStreamClass$WeakClassKey
-java/io/ObjectStreamClass$EntryFuture
-java/io/ObjectStreamClass$2
+sun/net/www/protocol/jar/Handler
+sun/net/www/protocol/jar/JarFileFactory
+sun/net/www/protocol/jar/JarURLConnection
+sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream
+sun/net/www/protocol/jar/URLJarFile
+sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController
+sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry
+sun/nio/ByteBuffered
+sun/nio/ch/DirectBuffer
+sun/nio/ch/FileChannelImpl
+sun/nio/ch/FileChannelImpl$Unmapper
+sun/nio/ch/FileDispatcher
+sun/nio/ch/FileDispatcherImpl
+sun/nio/ch/IOStatus
+sun/nio/ch/IOUtil
+sun/nio/ch/IOUtil$1
+sun/nio/ch/Interruptible
+sun/nio/ch/NativeDispatcher
+sun/nio/ch/NativeThread
+sun/nio/ch/NativeThreadSet
+sun/nio/ch/Util
+sun/nio/ch/Util$1
+sun/nio/ch/Util$4
+sun/nio/ch/Util$BufferCache
+sun/nio/cs/AbstractCharsetProvider
+sun/nio/cs/ArrayDecoder
+sun/nio/cs/ArrayEncoder
+sun/nio/cs/FastCharsetProvider
+sun/nio/cs/HistoricallyNamedCharset
+sun/nio/cs/ISO_8859_1
+sun/nio/cs/ISO_8859_1$Decoder
+sun/nio/cs/ISO_8859_1$Encoder
+sun/nio/cs/StandardCharsets
+sun/nio/cs/StandardCharsets$Aliases
+sun/nio/cs/StandardCharsets$Cache
+sun/nio/cs/StandardCharsets$Classes
+sun/nio/cs/StreamDecoder
+sun/nio/cs/StreamEncoder
+sun/nio/cs/Surrogate
+sun/nio/cs/Surrogate$Parser
+sun/nio/cs/US_ASCII
+sun/nio/cs/US_ASCII$Decoder
+sun/nio/cs/UTF_16
+sun/nio/cs/UTF_16$Decoder
+sun/nio/cs/UTF_16BE
+sun/nio/cs/UTF_16LE
+sun/nio/cs/UTF_8
+sun/nio/cs/UTF_8$Decoder
+sun/nio/cs/UTF_8$Encoder
+sun/nio/cs/Unicode
+sun/nio/cs/UnicodeDecoder
+sun/nio/cs/ext/DelegatableDecoder
+sun/nio/cs/ext/DoubleByte
+sun/nio/cs/ext/DoubleByte$Decoder
+sun/nio/cs/ext/EUC_KR
+sun/nio/cs/ext/ExtendedCharsets
+sun/print/PrinterGraphicsConfig
+sun/reflect/AccessorGenerator
+sun/reflect/BootstrapConstructorAccessorImpl
+sun/reflect/ByteVector
+sun/reflect/ByteVectorFactory
+sun/reflect/ByteVectorImpl
+sun/reflect/CallerSensitive
+sun/reflect/ClassDefiner
+sun/reflect/ClassDefiner$1
+sun/reflect/ClassFileAssembler
+sun/reflect/ClassFileConstants
+sun/reflect/ConstantPool
+sun/reflect/ConstructorAccessor
+sun/reflect/ConstructorAccessorImpl
+sun/reflect/DelegatingClassLoader
+sun/reflect/DelegatingConstructorAccessorImpl
+sun/reflect/DelegatingMethodAccessorImpl
+sun/reflect/FieldAccessor
+sun/reflect/FieldAccessorImpl
+sun/reflect/Label
+sun/reflect/Label$PatchInfo
+sun/reflect/LangReflectAccess
+sun/reflect/MagicAccessorImpl
+sun/reflect/MethodAccessor
+sun/reflect/MethodAccessorGenerator
+sun/reflect/MethodAccessorGenerator$1
+sun/reflect/MethodAccessorImpl
+sun/reflect/NativeConstructorAccessorImpl
+sun/reflect/NativeMethodAccessorImpl
+sun/reflect/Reflection
+sun/reflect/ReflectionFactory
+sun/reflect/ReflectionFactory$1
+sun/reflect/ReflectionFactory$GetReflectionFactoryAction
 sun/reflect/SerializationConstructorAccessorImpl
-java/io/ObjectStreamClass$FieldReflectorKey
-java/io/ObjectStreamClass$FieldReflector
-java/io/ObjectStreamClass$1
-java/io/DataOutputStream
-java/io/ObjectStreamClass$MemberSignature
-java/io/ObjectStreamClass$3
-java/io/ObjectStreamClass$4
-java/io/ObjectStreamClass$5
-java/security/MessageDigest
-java/security/MessageDigestSpi
+sun/reflect/UTF8
+sun/reflect/UnsafeFieldAccessorFactory
+sun/reflect/UnsafeFieldAccessorImpl
+sun/reflect/UnsafeObjectFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
+sun/reflect/UnsafeStaticFieldAccessorImpl
+sun/reflect/annotation/AnnotationType
+sun/reflect/generics/repository/AbstractRepository
+sun/reflect/generics/repository/ClassRepository
+sun/reflect/generics/repository/GenericDeclRepository
+sun/reflect/misc/MethodUtil
+sun/reflect/misc/MethodUtil$1
+sun/reflect/misc/ReflectUtil
+sun/security/action/GetBooleanAction
+sun/security/action/GetIntegerAction
+sun/security/action/GetPropertyAction
+sun/security/action/PutAllAction
 sun/security/jca/GetInstance
-sun/security/jca/Providers
-sun/security/jca/ProviderList
+sun/security/jca/GetInstance$Instance
 sun/security/jca/ProviderConfig
-sun/security/jca/ProviderList$3
+sun/security/jca/ProviderConfig$1
+sun/security/jca/ProviderConfig$2
+sun/security/jca/ProviderConfig$3
+sun/security/jca/ProviderList
 sun/security/jca/ProviderList$1
 sun/security/jca/ProviderList$2
-sun/security/jca/ProviderConfig$2
-sun/security/util/PropertyExpander
-sun/security/jca/ProviderConfig$1
-sun/security/jca/ProviderConfig$3
-sun/security/util/ManifestDigester
-sun/security/util/ManifestDigester$Position
-sun/security/util/ManifestDigester$Entry
-sun/security/pkcs/PKCS7
-sun/security/util/DerInputStream
-sun/security/util/DerIndefLenConverter
-sun/security/util/DerInputBuffer
-sun/security/pkcs/ContentInfo
-sun/security/util/ObjectIdentifier
-sun/security/util/DerValue
-sun/security/util/DerOutputStream
-sun/security/util/DerEncoder
-sun/security/util/ByteArrayLexOrder
-sun/security/util/ByteArrayTagOrder
-java/math/BigInteger
-sun/security/x509/AlgorithmId
-java/security/cert/CertificateFactory
-java/security/cert/CertificateFactorySpi
-java/security/Provider$Service
-java/security/Provider$UString
-sun/security/provider/X509Factory
-sun/security/util/Cache
-sun/security/util/MemoryCache
-sun/security/jca/GetInstance$Instance
-java/security/cert/X509Certificate
-java/security/cert/X509Extension
-sun/security/util/Cache$EqualByteArray
-sun/security/x509/X509CertImpl
-sun/security/x509/X509CertInfo
-sun/security/x509/CertAttrSet
-sun/security/x509/CertificateVersion
-sun/security/x509/CertificateSerialNumber
-sun/security/x509/SerialNumber
-sun/security/x509/CertificateAlgorithmId
-sun/security/x509/CertificateIssuerName
-sun/security/x509/X500Name
-sun/security/x509/GeneralNameInterface
-sun/security/x509/X500Name$1
-javax/security/auth/x500/X500Principal
-sun/security/x509/RDN
-sun/security/x509/AVA
-sun/security/x509/CertificateValidity
-sun/security/x509/CertificateSubjectName
-sun/security/x509/CertificateX509Key
-sun/security/x509/X509Key
-java/security/PublicKey
-java/security/Key
-sun/security/util/BitArray
-java/security/spec/X509EncodedKeySpec
-java/security/spec/EncodedKeySpec
-java/security/spec/KeySpec
-java/security/KeyFactory
+sun/security/jca/ProviderList$3
 sun/security/jca/ProviderList$ServiceList
 sun/security/jca/ProviderList$ServiceList$1
-sun/security/rsa/RSAKeyFactory
-java/security/KeyFactorySpi
-java/security/spec/RSAPublicKeySpec
-java/security/spec/RSAPrivateKeySpec
-java/security/spec/RSAPrivateCrtKeySpec
-java/security/spec/PKCS8EncodedKeySpec
-sun/security/rsa/RSAPublicKeyImpl
-java/security/interfaces/RSAPublicKey
-java/security/interfaces/RSAKey
-sun/security/rsa/RSAPrivateCrtKeyImpl
-java/security/interfaces/RSAPrivateCrtKey
-java/security/interfaces/RSAPrivateKey
-java/security/PrivateKey
+sun/security/jca/Providers
+sun/security/jca/ServiceId
+sun/security/pkcs/ContentInfo
+sun/security/pkcs/PKCS7
 sun/security/pkcs/PKCS8Key
+sun/security/pkcs/PKCS9Attribute
+sun/security/pkcs/SignerInfo
+sun/security/provider/ByteArrayAccess
+sun/security/provider/DSAKeyFactory
+sun/security/provider/DSAParameters
+sun/security/provider/DSAPublicKey
+sun/security/provider/DSAPublicKeyImpl
+sun/security/provider/DigestBase
+sun/security/provider/NativePRNG
+sun/security/provider/NativePRNG$1
+sun/security/provider/NativePRNG$2
+sun/security/provider/NativePRNG$Blocking
+sun/security/provider/NativePRNG$NonBlocking
+sun/security/provider/NativePRNG$RandomIO
+sun/security/provider/NativePRNG$Variant
+sun/security/provider/SHA2
+sun/security/provider/SHA2$SHA256
+sun/security/provider/Sun
+sun/security/provider/SunEntries
+sun/security/provider/SunEntries$1
+sun/security/provider/X509Factory
+sun/security/provider/certpath/X509CertPath
+sun/security/rsa/RSACore
+sun/security/rsa/RSAKeyFactory
+sun/security/rsa/RSAPadding
+sun/security/rsa/RSAPrivateCrtKeyImpl
+sun/security/rsa/RSAPrivateKeyImpl
+sun/security/rsa/RSAPublicKeyImpl
+sun/security/rsa/RSASignature
+sun/security/rsa/RSASignature$SHA256withRSA
+sun/security/rsa/SunRsaSign
+sun/security/rsa/SunRsaSignEntries
+sun/security/util/BitArray
+sun/security/util/ByteArrayLexOrder
+sun/security/util/ByteArrayTagOrder
+sun/security/util/Cache
+sun/security/util/Cache$EqualByteArray
+sun/security/util/Debug
+sun/security/util/DerEncoder
+sun/security/util/DerIndefLenConverter
+sun/security/util/DerInputBuffer
+sun/security/util/DerInputStream
+sun/security/util/DerOutputStream
+sun/security/util/DerValue
+sun/security/util/Length
+sun/security/util/ManifestDigester
+sun/security/util/ManifestDigester$Entry
+sun/security/util/ManifestDigester$Position
+sun/security/util/ManifestEntryVerifier
+sun/security/util/ManifestEntryVerifier$SunProviderHolder
+sun/security/util/MemoryCache
+sun/security/util/MemoryCache$CacheEntry
+sun/security/util/MemoryCache$HardCacheEntry
+sun/security/util/MemoryCache$SoftCacheEntry
+sun/security/util/ObjectIdentifier
+sun/security/util/PropertyExpander
+sun/security/util/SignatureFileVerifier
+sun/security/x509/AVA
+sun/security/x509/AVAKeyword
+sun/security/x509/AlgorithmId
+sun/security/x509/AuthorityKeyIdentifierExtension
+sun/security/x509/BasicConstraintsExtension
+sun/security/x509/CertAttrSet
+sun/security/x509/CertificateAlgorithmId
 sun/security/x509/CertificateExtensions
+sun/security/x509/CertificateSerialNumber
+sun/security/x509/CertificateValidity
+sun/security/x509/CertificateVersion
+sun/security/x509/CertificateX509Key
 sun/security/x509/Extension
-sun/security/x509/OIDMap
-sun/security/x509/PKIXExtensions
-sun/security/x509/OIDMap$OIDInfo
+sun/security/x509/GeneralName
+sun/security/x509/GeneralNameInterface
+sun/security/x509/GeneralNames
+sun/security/x509/KeyIdentifier
+sun/security/x509/KeyUsageExtension
 sun/security/x509/NetscapeCertTypeExtension
 sun/security/x509/NetscapeCertTypeExtension$MapEntry
-sun/security/x509/KeyUsageExtension
-sun/security/x509/SubjectKeyIdentifierExtension
-sun/security/x509/KeyIdentifier
-sun/security/x509/AuthorityKeyIdentifierExtension
-sun/security/x509/GeneralNames
-sun/security/x509/SubjectAlternativeNameExtension
-sun/security/x509/GeneralName
+sun/security/x509/OIDMap
+sun/security/x509/OIDMap$OIDInfo
+sun/security/x509/PKIXExtensions
+sun/security/x509/RDN
 sun/security/x509/RFC822Name
+sun/security/x509/SerialNumber
+sun/security/x509/SubjectAlternativeNameExtension
+sun/security/x509/SubjectKeyIdentifierExtension
+sun/security/x509/X500Name
+sun/security/x509/X500Name$1
 sun/security/x509/X509AttributeName
-sun/security/util/MemoryCache$SoftCacheEntry
-sun/security/util/MemoryCache$CacheEntry
-java/security/AlgorithmParameters
-java/security/AlgorithmParametersSpi
-sun/security/provider/DSAParameters
-sun/security/provider/DSAKeyFactory
-java/security/spec/DSAPublicKeySpec
-sun/security/provider/DSAPublicKeyImpl
-sun/security/provider/DSAPublicKey
-java/security/interfaces/DSAPublicKey
-java/security/interfaces/DSAKey
-sun/security/x509/BasicConstraintsExtension
-sun/security/pkcs/SignerInfo
-java/security/Signature
-java/security/SignatureSpi
-sun/security/jca/ServiceId
-java/security/Signature$Delegate
-sun/security/x509/AVAKeyword
-sun/security/pkcs/PKCS9Attribute
-java/text/Normalizer$Form
-java/text/Normalizer
+sun/security/x509/X509CertImpl
+sun/security/x509/X509CertInfo
+sun/security/x509/X509Key
+sun/swing/DefaultLookup
+sun/swing/ImageIconUIResource
+sun/swing/JLightweightFrame
+sun/swing/MenuItemLayoutHelper
+sun/swing/MenuItemLayoutHelper$ColumnAlignment
+sun/swing/MenuItemLayoutHelper$LayoutResult
+sun/swing/MenuItemLayoutHelper$RectSize
+sun/swing/PrintColorUIResource
+sun/swing/StringUIClientPropertyKey
+sun/swing/SwingAccessor
+sun/swing/SwingAccessor$JTextComponentAccessor
+sun/swing/SwingLazyValue
+sun/swing/SwingLazyValue$1
+sun/swing/SwingUtilities2
+sun/swing/SwingUtilities2$2
+sun/swing/SwingUtilities2$AATextInfo
+sun/swing/SwingUtilities2$LSBCacheEntry
+sun/swing/UIAction
+sun/swing/UIClientPropertyKey
+sun/swing/table/DefaultTableCellHeaderRenderer
+sun/swing/table/DefaultTableCellHeaderRenderer$EmptyIcon
+sun/text/ComposedCharIter
+sun/text/IntHashtable
+sun/text/UCompactIntArray
+sun/text/normalizer/CharTrie
+sun/text/normalizer/CharTrie$FriendAgent
+sun/text/normalizer/ICUBinary
+sun/text/normalizer/ICUBinary$Authenticate
+sun/text/normalizer/ICUData
+sun/text/normalizer/IntTrie
 sun/text/normalizer/NormalizerBase
-sun/text/normalizer/NormalizerBase$Mode
-sun/text/normalizer/NormalizerBase$NFDMode
-sun/text/normalizer/NormalizerBase$NFKDMode
-sun/text/normalizer/NormalizerBase$NFCMode
-sun/text/normalizer/NormalizerBase$NFKCMode
-sun/text/normalizer/NormalizerBase$QuickCheckResult
 sun/text/normalizer/NormalizerBase$1
-sun/security/rsa/RSASignature$SHA1withRSA
-sun/security/rsa/RSASignature
-sun/security/provider/SHA
-sun/security/provider/DigestBase
-java/security/MessageDigest$Delegate
-sun/security/rsa/RSACore
-sun/security/rsa/RSAPadding
-sun/security/provider/ByteArrayAccess
-java/math/MutableBigInteger
-sun/security/provider/certpath/X509CertPath
-java/security/cert/CertPath
-java/security/CodeSigner
-sun/misc/CEStreamExhausted
-java/util/jar/JarVerifier$VerifierStream
-java/security/AuthProvider
-java/security/SecurityPermission
-javax/security/auth/login/LoginException
-javax/security/auth/login/FailedLoginException
-java/security/ProviderException
-java/io/StreamTokenizer
-java/lang/AssertionError
-java/io/NotSerializableException
-java/io/ObjectStreamException
-java/security/InvalidParameterException
-java/io/ObjectStreamClass$ClassDataSlot
-sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl
-java/io/ObjectOutputStream$BlockDataOutputStream
-java/io/ObjectOutputStream$HandleTable
-java/io/ObjectOutputStream$ReplaceTable
-java/security/SignatureException
-java/security/InvalidKeyException
-java/security/KeyException
-java/security/interfaces/DSAParams
-java/io/InvalidClassException
-java/io/ObjectInputStream$GetFieldImpl
-java/io/ObjectInputStream$GetField
-java/security/interfaces/DSAPrivateKey
-java/security/spec/InvalidKeySpecException
-java/security/spec/DSAParameterSpec
-java/security/spec/AlgorithmParameterSpec
-sun/security/util/MemoryCache$HardCacheEntry
-java/awt/EventQueue$1AWTInvocationLock
-java/awt/Component$FlipBufferStrategy
-java/awt/SentEvent
-sun/awt/X11/XDestroyWindowEvent
-sun/awt/X11/XDropTargetRegistry
-sun/awt/X11/XEmbeddedFramePeer
-sun/awt/X11/XDragAndDropProtocols
-sun/awt/X11/XDropTargetContextPeer
-sun/awt/dnd/SunDropTargetContextPeer
-java/awt/dnd/peer/DropTargetContextPeer
-sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl
-sun/awt/X11/XDropTargetProtocolListener
-sun/awt/X11/XDnDDragSourceProtocol
-sun/awt/X11/XDragSourceProtocol
-sun/awt/X11/MotifDnDDragSourceProtocol
-sun/awt/X11/XDnDDropTargetProtocol
-sun/awt/X11/XDropTargetProtocol
-sun/awt/X11/MotifDnDDropTargetProtocol
-sun/awt/X11/XDnDConstants
-sun/awt/X11/MotifDnDConstants
-javax/swing/JTable$2
-javax/swing/JTable$Resizable3
-javax/swing/JTable$Resizable2
-javax/swing/JTable$5
-javax/swing/event/AncestorEvent
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel
-javax/swing/plaf/synth/SynthLookAndFeel
-javax/swing/plaf/synth/DefaultSynthStyleFactory
-javax/swing/plaf/synth/SynthStyleFactory
-sun/swing/BakedArrayList
-javax/swing/plaf/synth/SynthLookAndFeel$Handler
-javax/swing/plaf/synth/SynthDefaultLookup
-com/sun/java/swing/plaf/gtk/GTKEngine
-javax/swing/plaf/synth/Region
-com/sun/java/swing/plaf/gtk/GTKRegion
-sun/swing/ImageCache
-com/sun/java/swing/plaf/gtk/GTKEngine$Settings
-com/sun/java/swing/plaf/gtk/GTKStyleFactory
-com/sun/java/swing/plaf/gtk/PangoFonts
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$WeakPCL
-javax/swing/plaf/synth/SynthLookAndFeel$AATextListener
-com/sun/java/swing/plaf/gtk/GTKStyle
-com/sun/java/swing/plaf/gtk/GTKConstants
-javax/swing/plaf/synth/SynthStyle
-javax/swing/plaf/synth/SynthGraphicsUtils
-com/sun/java/swing/plaf/gtk/GTKGraphicsUtils
-com/sun/java/swing/plaf/gtk/GTKStyle$GTKStockIcon
-sun/swing/plaf/synth/SynthIcon
-com/sun/java/swing/plaf/gtk/GTKColorType
-javax/swing/plaf/synth/ColorType
-com/sun/java/swing/plaf/gtk/GTKConstants$StateType
-com/sun/java/swing/plaf/gtk/resources/gtk
-com/sun/swing/internal/plaf/synth/resources/synth
-com/sun/java/swing/plaf/gtk/GTKStyle$GTKLazyValue
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$1FontLazyValue
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$2
-com/sun/java/swing/plaf/gtk/GTKLookAndFeel$3
-javax/swing/plaf/synth/SynthPanelUI
-javax/swing/plaf/synth/SynthConstants
-javax/swing/plaf/synth/SynthContext
-javax/swing/plaf/synth/SynthBorder
-javax/swing/plaf/synth/SynthRootPaneUI
-javax/swing/plaf/synth/SynthLabelUI
-sun/java2d/x11/X11VolatileSurfaceManager
-javax/swing/plaf/synth/SynthButtonUI
-javax/swing/plaf/synth/SynthToggleButtonUI
-javax/swing/plaf/basic/BasicBorders$FieldBorder
-javax/swing/plaf/synth/SynthMenuBarUI
-javax/swing/plaf/synth/SynthMenuUI
-javax/swing/plaf/synth/SynthUI
-com/sun/java/swing/plaf/gtk/GTKIconFactory
-com/sun/java/swing/plaf/gtk/GTKIconFactory$MenuArrowIcon
-com/sun/java/swing/plaf/gtk/GTKIconFactory$DelegatingIcon
-com/sun/java/swing/plaf/gtk/GTKConstants$ArrowType
-javax/swing/plaf/basic/BasicIconFactory
-javax/swing/plaf/basic/BasicIconFactory$MenuItemCheckIcon
-javax/swing/plaf/synth/SynthMenuItemUI
-javax/swing/plaf/synth/SynthPopupMenuUI
-javax/swing/plaf/synth/SynthSeparatorUI
-javax/swing/plaf/synth/SynthScrollBarUI
-javax/swing/plaf/synth/SynthArrowButton
-javax/swing/plaf/synth/SynthArrowButton$SynthArrowButtonUI
-javax/swing/plaf/synth/SynthComboBoxUI
-javax/swing/plaf/synth/SynthComboPopup
-javax/swing/plaf/synth/SynthListUI
-javax/swing/plaf/synth/SynthListUI$SynthListCellRenderer
-javax/swing/plaf/synth/SynthViewportUI
-javax/swing/plaf/synth/SynthScrollPaneUI
-javax/swing/plaf/synth/SynthScrollPaneUI$ViewportBorder
-javax/swing/plaf/synth/SynthComboBoxUI$SynthComboBoxRenderer
-javax/swing/plaf/synth/SynthComboBoxUI$SynthComboBoxEditor
-javax/swing/plaf/synth/SynthTextFieldUI
-javax/swing/plaf/synth/SynthToolBarUI
-javax/swing/plaf/synth/SynthToolBarUI$SynthToolBarLayoutManager
-com/sun/java/swing/plaf/gtk/GTKIconFactory$ToolBarHandleIcon
-com/sun/java/swing/plaf/gtk/GTKConstants$Orientation
-com/sun/java/swing/plaf/gtk/GTKPainter
-javax/swing/plaf/synth/SynthPainter
-javax/swing/plaf/synth/SynthPainter$1
-com/sun/java/swing/plaf/gtk/GTKConstants$PositionType
-com/sun/java/swing/plaf/gtk/GTKConstants$ShadowType
-sun/applet/Main
-sun/applet/AppletMessageHandler
-sun/applet/resources/MsgAppletViewer
-sun/applet/AppletSecurity
-sun/awt/AWTSecurityManager
-java/lang/SecurityManager
-java/security/DomainCombiner
-sun/applet/AppletSecurity$1
-java/lang/SecurityManager$1
-java/util/PropertyPermission
-sun/applet/AppletViewer
-java/applet/AppletContext
-java/awt/print/Printable
-sun/security/util/SecurityConstants
-java/awt/AWTPermission
-java/net/NetPermission
-java/net/SocketPermission
-javax/security/auth/AuthPermission
-java/lang/Thread$1
-java/util/logging/LogManager$5
-sun/applet/StdAppletViewerFactory
-sun/applet/AppletViewerFactory
-sun/applet/AppletViewer$UserActionListener
-sun/applet/AppletViewerPanel
-sun/applet/AppletPanel
-java/applet/AppletStub
-sun/misc/MessageUtils
-sun/applet/AppletPanel$10
-java/security/Policy$1
-sun/security/provider/PolicyFile$1
-sun/security/provider/PolicyFile$3
-sun/security/provider/PolicyParser
-sun/security/util/PolicyUtil
-sun/security/provider/PolicyParser$GrantEntry
-sun/security/provider/PolicyParser$PermissionEntry
-sun/security/provider/PolicyFile$PolicyEntry
-sun/security/provider/PolicyFile$6
-sun/security/provider/PolicyFile$7
-java/net/SocketPermissionCollection
-java/util/PropertyPermissionCollection
-sun/applet/AppletPanel$9
-sun/applet/AppletClassLoader
-sun/applet/AppletThreadGroup
-sun/applet/AppContextCreator
-sun/applet/AppletPanel$1
-sun/awt/X11/XMenuBarPeer
-java/awt/peer/MenuBarPeer
-java/awt/peer/MenuComponentPeer
-sun/awt/X11/XBaseMenuWindow
-sun/awt/X11/XMenuPeer
-java/awt/peer/MenuPeer
-java/awt/peer/MenuItemPeer
-sun/awt/X11/XMenuItemPeer
-java/awt/MenuShortcut
-sun/awt/X11/XMenuWindow
-sun/awt/AppContext$3
-sun/awt/X11/XMenuItemPeer$TextMetrics
-sun/awt/X11/XMenuBarPeer$MappingData
-sun/awt/X11/XBaseMenuWindow$MappingData
-sun/applet/AppletViewer$1
-sun/applet/AppletViewer$1AppletEventListener
-sun/applet/AppletListener
-sun/applet/AppletEventMulticaster
-sun/awt/X11/XBaseMenuWindow$3
-java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent
-sun/awt/CausedFocusEvent
-sun/awt/X11/XWindow$1
-sun/misc/Queue
-sun/misc/QueueElement
-sun/applet/AppletEvent
-sun/applet/AppletClassLoader$1
-java/net/URLClassLoader$4
-sun/applet/AppletClassLoader$2
-javax/swing/JApplet
-java/lang/ClassLoader$1
-sun/security/provider/PolicyFile$5
-java/security/PermissionsEnumerator
-java/util/Collections$1
-sun/applet/AppletPanel$11
-sun/applet/AppletPanel$8
-sun/applet/AppletPanel$2
-sun/applet/AppletPanel$3
-sun/applet/AppletPanel$6
-javax/swing/BufferStrategyPaintManager$1
-# 8662ff6d6adccb91
+sun/text/normalizer/NormalizerBase$Mode
+sun/text/normalizer/NormalizerBase$NFCMode
+sun/text/normalizer/NormalizerBase$NFDMode
+sun/text/normalizer/NormalizerBase$NFKCMode
+sun/text/normalizer/NormalizerBase$NFKDMode
+sun/text/normalizer/NormalizerBase$QuickCheckResult
+sun/text/normalizer/NormalizerDataReader
+sun/text/normalizer/NormalizerImpl
+sun/text/normalizer/NormalizerImpl$AuxTrieImpl
+sun/text/normalizer/NormalizerImpl$DecomposeArgs
+sun/text/normalizer/NormalizerImpl$FCDTrieImpl
+sun/text/normalizer/NormalizerImpl$NormTrieImpl
+sun/text/normalizer/Trie
+sun/text/normalizer/Trie$DataManipulate
+sun/text/normalizer/UTF16
+sun/text/normalizer/UnicodeMatcher
+sun/text/normalizer/UnicodeSet
+sun/text/resources/CollationData
+sun/text/resources/FormatData
+sun/text/resources/en/FormatData_en
+sun/text/resources/en/FormatData_en_US
+sun/util/CoreResourceBundleControl
+sun/util/PreHashedMap
+sun/util/ResourceBundleEnumeration
+sun/util/calendar/AbstractCalendar
+sun/util/calendar/BaseCalendar
+sun/util/calendar/BaseCalendar$Date
+sun/util/calendar/CalendarDate
+sun/util/calendar/CalendarSystem
+sun/util/calendar/CalendarUtils
+sun/util/calendar/Gregorian
+sun/util/calendar/Gregorian$Date
+sun/util/calendar/ZoneInfo
+sun/util/calendar/ZoneInfoFile
+sun/util/calendar/ZoneInfoFile$1
+sun/util/calendar/ZoneInfoFile$Checksum
+sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule
+sun/util/locale/BaseLocale
+sun/util/locale/BaseLocale$Cache
+sun/util/locale/BaseLocale$Key
+sun/util/locale/LanguageTag
+sun/util/locale/LocaleObjectCache
+sun/util/locale/LocaleObjectCache$CacheEntry
+sun/util/locale/LocaleUtils
+sun/util/locale/provider/AuxLocaleProviderAdapter
+sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider
+sun/util/locale/provider/AvailableLanguageTags
+sun/util/locale/provider/CalendarDataProviderImpl
+sun/util/locale/provider/CalendarDataUtility
+sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter
+sun/util/locale/provider/CalendarProviderImpl
+sun/util/locale/provider/CollatorProviderImpl
+sun/util/locale/provider/CurrencyNameProviderImpl
+sun/util/locale/provider/DateFormatSymbolsProviderImpl
+sun/util/locale/provider/DecimalFormatSymbolsProviderImpl
+sun/util/locale/provider/JRELocaleProviderAdapter
+sun/util/locale/provider/JRELocaleProviderAdapter$1
+sun/util/locale/provider/LocaleDataMetaInfo
+sun/util/locale/provider/LocaleProviderAdapter
+sun/util/locale/provider/LocaleProviderAdapter$1
+sun/util/locale/provider/LocaleProviderAdapter$Type
+sun/util/locale/provider/LocaleResources
+sun/util/locale/provider/LocaleResources$ResourceReference
+sun/util/locale/provider/LocaleServiceProviderPool
+sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter
+sun/util/locale/provider/NumberFormatProviderImpl
+sun/util/locale/provider/ResourceBundleBasedAdapter
+sun/util/locale/provider/SPILocaleProviderAdapter
+sun/util/locale/provider/SPILocaleProviderAdapter$1
+sun/util/locale/provider/TimeZoneNameProviderImpl
+sun/util/locale/provider/TimeZoneNameUtility
+sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter
+sun/util/logging/LoggingProxy
+sun/util/logging/LoggingSupport
+sun/util/logging/LoggingSupport$1
+sun/util/logging/LoggingSupport$2
+sun/util/logging/PlatformLogger
+sun/util/logging/PlatformLogger$1
+sun/util/logging/PlatformLogger$DefaultLoggerProxy
+sun/util/logging/PlatformLogger$JavaLoggerProxy
+sun/util/logging/PlatformLogger$Level
+sun/util/logging/PlatformLogger$LoggerProxy
+sun/util/logging/resources/logging
+sun/util/resources/CalendarData
+sun/util/resources/CurrencyNames
+sun/util/resources/LocaleData
+sun/util/resources/LocaleData$1
+sun/util/resources/LocaleData$LocaleDataResourceBundleControl
+sun/util/resources/LocaleNamesBundle
+sun/util/resources/OpenListResourceBundle
+sun/util/resources/ParallelListResourceBundle
+sun/util/resources/ParallelListResourceBundle$KeySet
+sun/util/resources/TimeZoneNames
+sun/util/resources/TimeZoneNamesBundle
+sun/util/resources/en/CalendarData_en
+sun/util/resources/en/CurrencyNames_en_US
+sun/util/resources/en/TimeZoneNames_en
+sun/util/spi/CalendarProvider
+# fcfd7386dfd2b3ad
diff --git a/jdk/make/tools/sharing/classlist.windows b/jdk/make/tools/sharing/classlist.windows
index 1bf6440..debed79 100644
--- a/jdk/make/tools/sharing/classlist.windows
+++ b/jdk/make/tools/sharing/classlist.windows
@@ -1,2203 +1,2378 @@
-java/lang/Object
-java/lang/String
-java/io/Serializable
-java/lang/Comparable
-java/lang/CharSequence
-java/lang/Class
-java/lang/reflect/GenericDeclaration
-java/lang/reflect/Type
-java/lang/reflect/AnnotatedElement
-java/lang/Cloneable
-java/lang/ClassLoader
-java/lang/System
-java/lang/Throwable
-java/lang/Error
-java/lang/ThreadDeath
-java/lang/Exception
-java/lang/RuntimeException
-java/security/ProtectionDomain
-java/security/AccessControlContext
-java/lang/ClassNotFoundException
-java/lang/NoClassDefFoundError
-java/lang/LinkageError
-java/lang/ClassCastException
-java/lang/ArrayStoreException
-java/lang/VirtualMachineError
-java/lang/OutOfMemoryError
-java/lang/StackOverflowError
-java/lang/IllegalMonitorStateException
-java/lang/ref/Reference
-java/lang/ref/SoftReference
-java/lang/ref/WeakReference
-java/lang/ref/FinalReference
-java/lang/ref/PhantomReference
-java/lang/ref/Finalizer
-java/lang/Thread
-java/lang/Runnable
-java/lang/ThreadGroup
-java/lang/Thread$UncaughtExceptionHandler
-java/util/Properties
-java/util/Hashtable
-java/util/Map
-java/util/Dictionary
-java/lang/reflect/AccessibleObject
-java/lang/reflect/Field
-java/lang/reflect/Member
-java/lang/reflect/Method
-java/lang/reflect/Constructor
-sun/reflect/MagicAccessorImpl
-sun/reflect/MethodAccessorImpl
-sun/reflect/MethodAccessor
-sun/reflect/ConstructorAccessorImpl
-sun/reflect/ConstructorAccessor
-sun/reflect/DelegatingClassLoader
-sun/reflect/ConstantPool
-sun/reflect/UnsafeStaticFieldAccessorImpl
-sun/reflect/UnsafeFieldAccessorImpl
-sun/reflect/FieldAccessorImpl
-sun/reflect/FieldAccessor
-java/util/Vector
-java/util/List
-java/util/Collection
-java/lang/Iterable
-java/util/RandomAccess
-java/util/AbstractList
-java/util/AbstractCollection
-java/lang/StringBuffer
-java/lang/AbstractStringBuilder
-java/lang/Appendable
-java/lang/StackTraceElement
-java/nio/Buffer
-java/lang/Boolean
-java/lang/Character
-java/lang/Float
-java/lang/Number
-java/lang/Double
-java/lang/Byte
-java/lang/Short
-java/lang/Integer
-java/lang/Long
-java/lang/NullPointerException
-java/lang/ArithmeticException
-java/io/ObjectStreamField
-java/lang/String$CaseInsensitiveComparator
-java/util/Comparator
-java/lang/RuntimePermission
-java/security/BasicPermission
-java/security/Permission
-java/security/Guard
-sun/misc/SoftCache
-java/util/AbstractMap
-java/lang/ref/ReferenceQueue
-java/lang/ref/ReferenceQueue$Null
-java/lang/ref/ReferenceQueue$Lock
-java/util/HashMap
-java/lang/annotation/Annotation
-java/util/HashMap$Entry
-java/util/Map$Entry
-java/security/AccessController
-java/lang/reflect/ReflectPermission
-sun/reflect/ReflectionFactory$GetReflectionFactoryAction
-java/security/PrivilegedAction
-java/util/Stack
-sun/reflect/ReflectionFactory
-java/lang/ref/Reference$Lock
-java/lang/ref/Reference$ReferenceHandler
-java/lang/ref/Finalizer$FinalizerThread
-java/util/Enumeration
-java/util/Iterator
-java/util/Hashtable$Entry
-sun/misc/Version
-java/io/FileInputStream
-java/io/InputStream
-java/io/Closeable
-java/io/FileDescriptor
-java/io/FileOutputStream
-java/io/OutputStream
-java/io/Flushable
-java/io/BufferedInputStream
-java/io/FilterInputStream
-java/util/concurrent/atomic/AtomicReferenceFieldUpdater
-java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
-sun/misc/Unsafe
-java/lang/NoSuchMethodError
-java/lang/IncompatibleClassChangeError
-sun/reflect/Reflection
-java/util/Collections
-java/util/Collections$EmptySet
-java/util/AbstractSet
-java/util/Set
-java/util/Collections$EmptyList
-java/util/Collections$EmptyMap
-java/util/Collections$ReverseComparator
-java/util/Collections$SynchronizedMap
-java/lang/Class$3
-java/lang/reflect/Modifier
-java/lang/reflect/ReflectAccess
-sun/reflect/LangReflectAccess
-sun/reflect/misc/ReflectUtil
-java/io/PrintStream
-java/io/FilterOutputStream
-java/io/BufferedOutputStream
-java/io/OutputStreamWriter
-java/io/Writer
-sun/nio/cs/StreamEncoder
-java/nio/charset/Charset
-sun/nio/cs/StandardCharsets
-sun/nio/cs/FastCharsetProvider
-java/nio/charset/spi/CharsetProvider
-sun/nio/cs/StandardCharsets$Aliases
-sun/util/PreHashedMap
-sun/nio/cs/StandardCharsets$Classes
-sun/nio/cs/StandardCharsets$Cache
-java/lang/ThreadLocal
-java/util/concurrent/atomic/AtomicInteger
-sun/security/action/GetPropertyAction
-java/util/Arrays
-java/lang/Math
-java/lang/StringBuilder
-sun/nio/cs/MS1252
-sun/nio/cs/HistoricallyNamedCharset
-java/lang/Class$1
-sun/reflect/ReflectionFactory$1
-sun/reflect/NativeConstructorAccessorImpl
-sun/reflect/DelegatingConstructorAccessorImpl
-sun/misc/VM
-sun/nio/cs/SingleByteEncoder
-java/nio/charset/CharsetEncoder
-java/nio/charset/CodingErrorAction
-sun/nio/cs/SingleByteDecoder
-java/nio/charset/CharsetDecoder
-java/nio/ByteBuffer
-java/nio/HeapByteBuffer
-java/nio/Bits
-java/lang/Runtime
-java/nio/ByteOrder
-java/nio/CharBuffer
-java/lang/Readable
-java/nio/HeapCharBuffer
-java/nio/charset/CoderResult
-java/nio/charset/CoderResult$1
-java/nio/charset/CoderResult$Cache
-java/nio/charset/CoderResult$2
-sun/nio/cs/Surrogate$Parser
-sun/nio/cs/Surrogate
-java/io/BufferedWriter
-java/io/File
-java/io/FileSystem
-java/io/WinNTFileSystem
-java/io/Win32FileSystem
-java/io/ExpiringCache
-java/io/ExpiringCache$1
-java/util/LinkedHashMap
-java/util/LinkedHashMap$Entry
-sun/misc/SharedSecrets
-java/lang/ClassLoader$3
-java/io/ExpiringCache$Entry
-java/lang/ClassLoader$NativeLibrary
-java/lang/Terminator
-java/lang/Terminator$1
-sun/misc/SignalHandler
-sun/misc/Signal
-sun/misc/NativeSignalHandler
-java/io/Console
-java/io/Console$1
-sun/misc/JavaIOAccess
-java/lang/Shutdown
-java/util/ArrayList
-java/lang/Shutdown$Lock
-java/lang/ApplicationShutdownHooks
-java/util/IdentityHashMap
-sun/misc/OSEnvironment
-sun/io/Win32ErrorMode
-java/lang/System$2
-sun/misc/JavaLangAccess
-java/lang/Compiler
-java/lang/Compiler$1
-sun/misc/Launcher
-sun/misc/Launcher$Factory
-java/net/URLStreamHandlerFactory
-sun/misc/Launcher$ExtClassLoader
-java/net/URLClassLoader
-java/security/SecureClassLoader
-sun/security/util/Debug
-java/net/URLClassLoader$7
-sun/misc/JavaNetAccess
-java/util/StringTokenizer
-sun/misc/Launcher$ExtClassLoader$1
-java/security/PrivilegedExceptionAction
-sun/misc/MetaIndex
-java/io/BufferedReader
-java/io/Reader
-java/io/FileReader
-java/io/InputStreamReader
-sun/nio/cs/StreamDecoder
-java/lang/reflect/Array
-java/util/Locale
-java/util/concurrent/ConcurrentHashMap
-java/util/concurrent/ConcurrentMap
-java/util/concurrent/ConcurrentHashMap$Segment
-java/util/concurrent/locks/ReentrantLock
-java/util/concurrent/locks/Lock
-java/util/concurrent/locks/ReentrantLock$NonfairSync
-java/util/concurrent/locks/ReentrantLock$Sync
-java/util/concurrent/locks/AbstractQueuedSynchronizer
-java/util/concurrent/locks/AbstractOwnableSynchronizer
-java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
-java/util/concurrent/ConcurrentHashMap$HashEntry
-java/lang/CharacterDataLatin1
-java/io/ObjectStreamClass
-sun/net/www/ParseUtil
-java/util/BitSet
-java/net/URL
-java/net/Parts
-sun/net/www/protocol/file/Handler
-java/net/URLStreamHandler
-java/util/HashSet
-sun/misc/URLClassPath
-sun/net/www/protocol/jar/Handler
-sun/misc/Launcher$AppClassLoader
-sun/misc/Launcher$AppClassLoader$1
-java/lang/SystemClassLoaderAction
-java/lang/StringCoding
-java/lang/ThreadLocal$ThreadLocalMap
-java/lang/ThreadLocal$ThreadLocalMap$Entry
-java/lang/StringCoding$StringDecoder
-java/net/URLClassLoader$1
-sun/misc/URLClassPath$3
-sun/misc/URLClassPath$JarLoader
-sun/misc/URLClassPath$Loader
-java/security/PrivilegedActionException
-sun/misc/URLClassPath$FileLoader
-sun/misc/URLClassPath$FileLoader$1
-sun/misc/Resource
-sun/nio/ByteBuffered
-java/security/CodeSource
-java/security/Permissions
-java/security/PermissionCollection
-sun/net/www/protocol/file/FileURLConnection
-sun/net/www/URLConnection
-java/net/URLConnection
-java/net/UnknownContentHandler
-java/net/ContentHandler
-sun/net/www/MessageHeader
-java/io/FilePermission
-java/io/FilePermission$1
-sun/security/provider/PolicyFile
-java/security/Policy
-java/security/Policy$UnsupportedEmptyCollection
-java/io/FilePermissionCollection
-java/security/AllPermission
-java/security/UnresolvedPermission
-java/security/BasicPermissionCollection
-java/security/Principal
-java/security/cert/Certificate
-java/util/AbstractList$Itr
-java/util/IdentityHashMap$KeySet
-java/util/IdentityHashMap$KeyIterator
-java/util/IdentityHashMap$IdentityHashMapIterator
-java/io/DeleteOnExitHook
-java/util/LinkedHashSet
-java/util/HashMap$KeySet
-java/util/LinkedHashMap$KeyIterator
-java/util/LinkedHashMap$LinkedHashIterator
-java/awt/Frame
-java/awt/MenuContainer
-java/awt/Window
-javax/accessibility/Accessible
-java/awt/Container
-java/awt/Component
-java/awt/image/ImageObserver
-java/lang/InterruptedException
-java/awt/Label
-java/util/logging/Logger
-java/util/logging/Handler
-java/util/logging/Level
-java/util/logging/LogManager
-java/util/logging/LogManager$1
-java/beans/PropertyChangeSupport
-java/util/logging/LogManager$LogNode
-java/util/logging/LoggingPermission
-java/util/logging/LogManager$Cleaner
-java/util/logging/LogManager$RootLogger
-java/util/logging/LogManager$2
-java/util/Properties$LineReader
-java/util/Hashtable$Enumerator
-java/beans/PropertyChangeEvent
-java/util/EventObject
-java/awt/Component$AWTTreeLock
-sun/awt/NativeLibLoader
-sun/security/action/LoadLibraryAction
-java/awt/Toolkit
-java/awt/Toolkit$3
-sun/util/CoreResourceBundleControl
-java/util/ResourceBundle$Control
-java/util/Arrays$ArrayList
-java/util/Collections$UnmodifiableRandomAccessList
-java/util/Collections$UnmodifiableList
-java/util/Collections$UnmodifiableCollection
-java/util/ResourceBundle
-java/util/ResourceBundle$1
-java/util/ResourceBundle$RBClassLoader
-java/util/ResourceBundle$RBClassLoader$1
-java/util/ResourceBundle$CacheKey
-java/util/ResourceBundle$LoaderReference
-java/util/ResourceBundle$CacheKeyReference
-java/util/ResourceBundle$SingleFormatControl
-sun/awt/resources/awt
-java/util/ListResourceBundle
-java/awt/Toolkit$1
-java/io/FileNotFoundException
-java/io/IOException
-java/awt/GraphicsEnvironment
-java/awt/GraphicsEnvironment$1
-java/awt/Insets
-sun/awt/windows/WComponentPeer
-java/awt/peer/ComponentPeer
-java/awt/dnd/peer/DropTargetPeer
-sun/awt/DisplayChangedListener
-java/util/EventListener
-sun/awt/windows/WObjectPeer
-java/awt/Font
-java/awt/geom/AffineTransform
-sun/font/AttributeValues
-sun/font/EAttribute
-java/lang/Enum
-java/text/AttributedCharacterIterator$Attribute
-java/lang/Class$4
-sun/reflect/NativeMethodAccessorImpl
-sun/reflect/DelegatingMethodAccessorImpl
-java/awt/font/TextAttribute
-java/lang/Integer$IntegerCache
-java/util/WeakHashMap
-java/util/WeakHashMap$Entry
+com/sun/java/swing/SwingUtilities3
+com/sun/java/swing/plaf/windows/WindowsPopupWindow
+com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI
+com/sun/swing/internal/plaf/basic/resources/basic
+com/sun/swing/internal/plaf/metal/resources/metal
+java/applet/Applet
 java/awt/AWTEvent
-java/awt/Component$DummyRequestFocusController
-sun/awt/RequestFocusController
-java/awt/LayoutManager
-java/awt/LightweightDispatcher
-java/awt/event/AWTEventListener
-java/awt/Dimension
-java/awt/geom/Dimension2D
-java/util/concurrent/atomic/AtomicBoolean
-java/awt/ComponentOrientation
-java/awt/Component$2
-java/lang/NoSuchMethodException
-sun/awt/AppContext
-sun/awt/AppContext$1
-sun/awt/AppContext$2
-sun/awt/MostRecentKeyValue
-java/awt/Cursor
-java/awt/Point
-java/awt/geom/Point2D
-sun/awt/Win32GraphicsEnvironment
-sun/java2d/SunGraphicsEnvironment
-sun/java2d/FontSupport
-java/io/FilenameFilter
-sun/awt/windows/WToolkit
-sun/awt/SunToolkit
-sun/awt/WindowClosingSupport
-sun/awt/WindowClosingListener
-sun/awt/ComponentFactory
-sun/awt/InputMethodSupport
-java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
-java/util/concurrent/locks/Condition
-sun/awt/AWTAutoShutdown
-sun/awt/SunToolkit$6
-java/awt/Dialog$ModalExclusionType
-java/awt/Dialog
-java/awt/Dialog$ModalityType
-java/awt/ModalEventFilter
-java/awt/EventFilter
-sun/reflect/UnsafeFieldAccessorFactory
-sun/awt/windows/WWindowPeer
-java/awt/peer/WindowPeer
-java/awt/peer/ContainerPeer
-sun/awt/windows/WPanelPeer
-java/awt/peer/PanelPeer
-sun/awt/windows/WCanvasPeer
-java/awt/peer/CanvasPeer
-java/awt/Color
-java/awt/Paint
-java/awt/Transparency
-java/awt/GraphicsConfiguration
-java/awt/image/BufferStrategy
-java/awt/dnd/DropTarget
-java/awt/dnd/DropTargetListener
-java/awt/event/ComponentListener
-java/awt/event/FocusListener
-java/awt/event/HierarchyListener
-java/awt/event/HierarchyBoundsListener
-java/awt/event/KeyListener
-java/awt/event/MouseListener
-java/awt/event/MouseMotionListener
-java/awt/event/MouseWheelListener
-java/awt/event/InputMethodListener
-java/awt/event/ContainerListener
-javax/accessibility/AccessibleContext
-java/io/ObjectOutputStream
-java/io/ObjectOutput
-java/io/DataOutput
-java/io/ObjectStreamConstants
-java/io/ObjectInputStream
-java/io/ObjectInput
-java/io/DataInput
-java/awt/HeadlessException
-java/lang/UnsupportedOperationException
-java/awt/Rectangle
-java/awt/Shape
-java/awt/geom/Rectangle2D
-java/awt/geom/RectangularShape
-java/awt/Image
-java/awt/event/KeyEvent
-java/awt/event/InputEvent
-java/awt/event/ComponentEvent
-java/awt/Event
-java/awt/im/InputContext
-java/awt/event/WindowListener
-java/awt/event/WindowStateListener
-java/awt/event/WindowFocusListener
-java/awt/event/WindowEvent
-java/lang/SecurityException
-java/beans/PropertyChangeListener
-java/awt/event/MouseWheelEvent
-java/awt/event/MouseEvent
-java/awt/BufferCapabilities
-java/awt/AWTException
-sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
-sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl
-sun/java2d/SurfaceData
-sun/java2d/DisposerTarget
-sun/java2d/InvalidPipeException
-java/lang/IllegalStateException
-sun/java2d/NullSurfaceData
-sun/java2d/loops/SurfaceType
-sun/awt/image/PixelConverter
-sun/awt/image/PixelConverter$Xrgb
-sun/awt/image/PixelConverter$Argb
-sun/awt/image/PixelConverter$ArgbPre
-sun/awt/image/PixelConverter$Xbgr
-sun/awt/image/PixelConverter$Rgba
-sun/awt/image/PixelConverter$RgbaPre
-sun/awt/image/PixelConverter$Ushort565Rgb
-sun/awt/image/PixelConverter$Ushort555Rgb
-sun/awt/image/PixelConverter$Ushort555Rgbx
-sun/awt/image/PixelConverter$Ushort4444Argb
-sun/awt/image/PixelConverter$ByteGray
-sun/awt/image/PixelConverter$UshortGray
-sun/awt/image/PixelConverter$Rgbx
-sun/awt/image/PixelConverter$Bgrx
-sun/awt/image/PixelConverter$ArgbBm
-java/awt/image/ColorModel
-java/awt/image/DirectColorModel
-java/awt/image/PackedColorModel
-java/awt/color/ColorSpace
-java/awt/color/ICC_Profile
-java/awt/color/ICC_ProfileRGB
-java/awt/color/ICC_Profile$1
-java/awt/color/ICC_ColorSpace
-sun/java2d/pipe/NullPipe
-sun/java2d/pipe/PixelDrawPipe
-sun/java2d/pipe/PixelFillPipe
-sun/java2d/pipe/ShapeDrawPipe
-sun/java2d/pipe/TextPipe
-sun/java2d/pipe/DrawImagePipe
-java/awt/image/IndexColorModel
-sun/java2d/pipe/LoopPipe
-sun/java2d/pipe/OutlineTextRenderer
-sun/java2d/pipe/SolidTextRenderer
-sun/java2d/pipe/GlyphListLoopPipe
-sun/java2d/pipe/GlyphListPipe
-sun/java2d/pipe/AATextRenderer
-sun/java2d/pipe/LCDTextRenderer
-sun/java2d/pipe/AlphaColorPipe
-sun/java2d/pipe/CompositePipe
-sun/java2d/pipe/PixelToShapeConverter
-sun/java2d/pipe/TextRenderer
-sun/java2d/pipe/SpanClipRenderer
-sun/java2d/pipe/Region
-sun/java2d/pipe/RegionIterator
-sun/java2d/pipe/AlphaPaintPipe
-sun/java2d/pipe/SpanShapeRenderer$Composite
-sun/java2d/pipe/SpanShapeRenderer
-sun/java2d/pipe/GeneralCompositePipe
-sun/java2d/pipe/DrawImage
-sun/java2d/loops/RenderCache
-sun/java2d/loops/RenderCache$Entry
-sun/awt/image/SunVolatileImage
-java/awt/image/VolatileImage
-java/awt/ImageCapabilities
-java/awt/Image$1
-sun/awt/image/SurfaceManager$ImageAccessor
-sun/awt/image/SurfaceManager
-sun/awt/image/VolatileSurfaceManager
-sun/java2d/windows/WindowsFlags
-sun/java2d/windows/WindowsFlags$1
-sun/java2d/loops/Blit
-sun/java2d/loops/GraphicsPrimitive
-sun/java2d/loops/GraphicsPrimitiveMgr
-sun/java2d/loops/CompositeType
-sun/java2d/SunGraphics2D
-sun/awt/ConstrainableGraphics
-java/awt/Graphics2D
-java/awt/Graphics
-sun/java2d/loops/XORComposite
-java/awt/Composite
-java/awt/AlphaComposite
-java/awt/geom/Path2D
-java/awt/geom/Path2D$Float
-sun/awt/SunHints
-sun/java2d/loops/BlitBg
-sun/java2d/loops/ScaledBlit
-sun/java2d/loops/FillRect
-sun/java2d/loops/FillSpans
-sun/java2d/loops/DrawLine
-sun/java2d/loops/DrawRect
-sun/java2d/loops/DrawPolygons
-sun/java2d/loops/DrawPath
-sun/java2d/loops/FillPath
-sun/java2d/loops/MaskBlit
-sun/java2d/loops/MaskFill
-sun/java2d/loops/DrawGlyphList
-sun/java2d/loops/DrawGlyphListAA
-sun/java2d/loops/DrawGlyphListLCD
-sun/java2d/loops/TransformHelper
-java/awt/BasicStroke
-java/awt/Stroke
-sun/misc/PerformanceLogger
-sun/misc/PerformanceLogger$TimeData
-sun/java2d/pipe/ValidatePipe
-sun/awt/SunHints$Key
-java/awt/RenderingHints$Key
-sun/awt/SunHints$Value
-sun/awt/SunHints$LCDContrastKey
-sun/java2d/loops/CustomComponent
-sun/java2d/loops/GraphicsPrimitiveProxy
-sun/java2d/loops/GeneralRenderer
-sun/java2d/loops/GraphicsPrimitiveMgr$1
-sun/java2d/loops/GraphicsPrimitiveMgr$2
-sun/java2d/windows/GDIBlitLoops
-sun/java2d/windows/GDIRenderer
-sun/awt/windows/WToolkit$1
-sun/awt/SunDisplayChanger
-sun/java2d/SunGraphicsEnvironment$1
-sun/font/FontManager
-sun/font/FileFont
-sun/font/PhysicalFont
-sun/font/Font2D
-sun/font/CompositeFont
-java/util/HashMap$Values
-java/util/HashMap$ValueIterator
-java/util/HashMap$HashIterator
-sun/font/TrueTypeFont
-java/awt/font/FontRenderContext
-java/awt/RenderingHints
-sun/font/Type1Font
-java/awt/geom/Point2D$Float
-sun/font/StrikeMetrics
-java/awt/geom/Rectangle2D$Float
-java/awt/geom/GeneralPath
-sun/font/CharToGlyphMapper
-sun/font/PhysicalStrike
-sun/font/FontStrike
-sun/font/GlyphList
-sun/font/StrikeCache
-sun/java2d/Disposer
-sun/java2d/Disposer$1
-sun/font/StrikeCache$1
-sun/awt/windows/WFontConfiguration
-sun/awt/FontConfiguration
-sun/awt/FontDescriptor
-java/io/DataInputStream
-java/lang/Short$ShortCache
-java/util/HashMap$KeyIterator
-sun/font/CompositeFontDescriptor
-sun/font/Font2DHandle
-sun/font/FontFamily
-java/awt/GraphicsDevice
-sun/awt/Win32GraphicsDevice
-sun/awt/Win32GraphicsConfig
-java/awt/BorderLayout
-java/awt/LayoutManager2
-java/awt/Toolkit$2
-sun/awt/SunToolkit$ModalityListenerList
-sun/awt/ModalityListener
-sun/awt/SunToolkit$1
-java/util/MissingResourceException
-java/awt/EventQueue
-java/awt/Queue
-sun/awt/PostEventQueue
-sun/awt/windows/WToolkit$ToolkitDisposer
-sun/java2d/DisposerRecord
-sun/awt/windows/WToolkit$2
-sun/awt/windows/WToolkit$3
-java/awt/Window$WindowDisposerRecord
-java/awt/KeyboardFocusManager
-java/awt/KeyEventDispatcher
-java/awt/KeyEventPostProcessor
-java/awt/event/NativeLibLoader
+java/awt/AWTEvent$1
+java/awt/AWTEventMulticaster
 java/awt/AWTKeyStroke
 java/awt/AWTKeyStroke$1
-java/util/LinkedList
-java/util/Deque
-java/util/Queue
-java/util/AbstractSequentialList
-java/awt/DefaultKeyboardFocusManager
-java/awt/DefaultFocusTraversalPolicy
-java/awt/ContainerOrderFocusTraversalPolicy
-java/awt/FocusTraversalPolicy
-java/util/Collections$UnmodifiableSet
-sun/awt/HeadlessToolkit
-sun/awt/KeyboardFocusManagerPeerImpl
-java/awt/peer/KeyboardFocusManagerPeer
-sun/awt/windows/WFramePeer
-java/awt/peer/FramePeer
-sun/awt/RepaintArea
-sun/awt/EmbeddedFrame
-sun/awt/im/InputMethodWindow
-sun/awt/windows/WComponentPeer$2
-sun/awt/PaintEventDispatcher
-java/awt/event/InvocationEvent
 java/awt/ActiveEvent
-java/awt/MenuComponent
-sun/awt/SunToolkit$3
-java/util/EmptyStackException
-java/lang/reflect/InvocationTargetException
-java/awt/event/PaintEvent
-java/awt/EventDispatchThread
-sun/awt/PeerEvent
-java/awt/EventQueue$1
-sun/java2d/loops/RenderLoops
-java/awt/EventDispatchThread$1
-java/awt/Conditional
-java/awt/EventDispatchThread$HierarchyEventFilter
-java/awt/EventFilter$FilterAction
-sun/awt/dnd/SunDragSourceContextPeer
-java/awt/dnd/peer/DragSourceContextPeer
-java/awt/event/InputMethodEvent
-java/awt/event/ActionEvent
-sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec
-sun/awt/windows/WFileDialogPeer
-java/awt/peer/FileDialogPeer
-java/awt/peer/DialogPeer
-sun/awt/windows/WPrintDialogPeer
-sun/java2d/DefaultDisposerRecord
-sun/awt/windows/WColor
-sun/awt/windows/WFontPeer
-sun/awt/PlatformFont
-java/awt/peer/FontPeer
-sun/awt/FontConfiguration$1
-sun/awt/windows/WingDings
-sun/awt/windows/WingDings$Encoder
-sun/awt/Symbol
-sun/awt/Symbol$Encoder
-sun/awt/im/InputMethodManager
-sun/awt/im/ExecutableInputMethodManager
-sun/awt/windows/WInputMethodDescriptor
-java/awt/im/spi/InputMethodDescriptor
-sun/awt/im/InputMethodLocator
-sun/awt/im/ExecutableInputMethodManager$2
-sun/misc/Service
-sun/misc/Service$LazyIterator
-java/util/TreeSet
-java/util/NavigableSet
-java/util/SortedSet
-java/util/TreeMap
-java/util/NavigableMap
-java/util/SortedMap
-sun/misc/Launcher$1
-sun/misc/URLClassPath$2
-java/lang/ClassLoader$2
-sun/misc/URLClassPath$1
-java/net/URLClassLoader$3
-sun/misc/CompoundEnumeration
-sun/misc/URLClassPath$JarLoader$1
-sun/misc/FileURLMapper
-java/net/URLClassLoader$3$1
-sun/awt/SunToolkit$2
-sun/reflect/UnsafeObjectFieldAccessorImpl
-java/awt/peer/LightweightPeer
-sun/awt/windows/WLabelPeer
-java/awt/peer/LabelPeer
-java/awt/PopupMenu
-java/awt/Menu
-java/awt/MenuItem
-java/io/PrintWriter
-sun/awt/CausedFocusEvent$Cause
-java/awt/PointerInfo
+java/awt/Adjustable
+java/awt/AlphaComposite
+java/awt/BasicStroke
+java/awt/BorderLayout
+java/awt/BufferCapabilities
+java/awt/Canvas
+java/awt/CardLayout
+java/awt/CardLayout$Card
+java/awt/Color
+java/awt/Component
+java/awt/Component$1
+java/awt/Component$3
+java/awt/Component$AWTTreeLock
+java/awt/Component$AccessibleAWTComponent
 java/awt/Component$BaselineResizeBehavior
-java/awt/FontMetrics
-java/awt/image/ImageProducer
-java/awt/im/InputMethodRequests
-java/awt/event/FocusEvent
-java/awt/event/HierarchyEvent
-javax/accessibility/AccessibleStateSet
-java/awt/SequencedEvent
-sun/awt/PlatformFont$PlatformFontCache
-sun/awt/windows/WGlobalCursorManager
-sun/awt/GlobalCursorManager
-sun/awt/GlobalCursorManager$NativeUpdater
-sun/nio/cs/UTF_16LE
-sun/nio/cs/Unicode
-sun/nio/cs/UTF_16LE$Encoder
-sun/nio/cs/UnicodeEncoder
-sun/nio/cs/UTF_16LE$Decoder
-sun/nio/cs/UnicodeDecoder
-sun/awt/event/IgnorePaintEvent
-sun/awt/dnd/SunDropTargetEvent
+java/awt/Component$BltBufferStrategy
+java/awt/Component$BltSubRegionBufferStrategy
+java/awt/Component$DummyRequestFocusController
+java/awt/Component$FlipBufferStrategy
+java/awt/ComponentOrientation
+java/awt/Composite
+java/awt/Conditional
+java/awt/Container
+java/awt/Container$1
+java/awt/Container$AccessibleAWTContainer
+java/awt/ContainerOrderFocusTraversalPolicy
+java/awt/Cursor
+java/awt/Cursor$1
+java/awt/Cursor$CursorDisposer
+java/awt/DefaultFocusTraversalPolicy
+java/awt/DefaultKeyboardFocusManager
+java/awt/DefaultKeyboardFocusManager$1
 java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent
-java/awt/SentEvent
-java/awt/KeyboardFocusManager$HeavyweightFocusRequest
-java/util/LinkedList$ListItr
-java/util/ListIterator
 java/awt/DefaultKeyboardFocusManager$TypeAheadMarker
+java/awt/Dialog
+java/awt/Dialog$ModalExclusionType
+java/awt/Dialog$ModalityType
+java/awt/Dimension
+java/awt/Event
+java/awt/EventDispatchThread
+java/awt/EventDispatchThread$1
+java/awt/EventDispatchThread$HierarchyEventFilter
+java/awt/EventFilter
+java/awt/EventFilter$FilterAction
+java/awt/EventQueue
+java/awt/EventQueue$1
+java/awt/EventQueue$1AWTInvocationLock
+java/awt/EventQueue$2
+java/awt/EventQueue$3
+java/awt/EventQueue$4
+java/awt/EventQueue$5
+java/awt/FlowLayout
+java/awt/FocusTraversalPolicy
+java/awt/Font
+java/awt/Font$FontAccessImpl
+java/awt/FontMetrics
+java/awt/Frame
+java/awt/Frame$1
+java/awt/Graphics
+java/awt/Graphics2D
+java/awt/GraphicsCallback
+java/awt/GraphicsCallback$PaintCallback
+java/awt/GraphicsConfiguration
+java/awt/GraphicsDevice
+java/awt/GraphicsEnvironment
+java/awt/GraphicsEnvironment$1
+java/awt/GridLayout
+java/awt/Image
+java/awt/Image$1
+java/awt/ImageCapabilities
+java/awt/ImageMediaEntry
+java/awt/Insets
+java/awt/ItemSelectable
+java/awt/KeyEventDispatcher
+java/awt/KeyEventPostProcessor
+java/awt/KeyboardFocusManager
+java/awt/KeyboardFocusManager$1
+java/awt/KeyboardFocusManager$3
+java/awt/KeyboardFocusManager$HeavyweightFocusRequest
 java/awt/KeyboardFocusManager$LightweightFocusRequest
-javax/swing/JFrame
-javax/swing/WindowConstants
-javax/swing/RootPaneContainer
-javax/swing/TransferHandler$HasGetTransferHandler
-javax/swing/JLabel
-javax/swing/SwingConstants
+java/awt/Label
+java/awt/LayoutManager
+java/awt/LayoutManager2
+java/awt/LightweightDispatcher
+java/awt/LightweightDispatcher$2
+java/awt/MediaEntry
+java/awt/MediaTracker
+java/awt/MenuBar
+java/awt/MenuComponent
+java/awt/MenuContainer
+java/awt/ModalEventFilter
+java/awt/Paint
+java/awt/Panel
+java/awt/Point
+java/awt/PrintGraphics
+java/awt/Queue
+java/awt/Rectangle
+java/awt/RenderingHints
+java/awt/RenderingHints$Key
+java/awt/SentEvent
+java/awt/SequencedEvent
+java/awt/SequencedEvent$1
+java/awt/Shape
+java/awt/SplashScreen
+java/awt/Stroke
+java/awt/Toolkit
+java/awt/Toolkit$1
+java/awt/Toolkit$2
+java/awt/Toolkit$3
+java/awt/Toolkit$4
+java/awt/Toolkit$5
+java/awt/Toolkit$DesktopPropertyChangeSupport
+java/awt/Toolkit$DesktopPropertyChangeSupport$1
+java/awt/Toolkit$SelectiveAWTEventListener
+java/awt/Toolkit$ToolkitEventMulticaster
+java/awt/Transparency
+java/awt/TrayIcon
+java/awt/VKCollection
+java/awt/Window
+java/awt/Window$1
+java/awt/Window$1DisposeAction
+java/awt/Window$Type
+java/awt/Window$WindowDisposerRecord
+java/awt/color/ColorSpace
+java/awt/color/ICC_ColorSpace
+java/awt/color/ICC_Profile
+java/awt/color/ICC_Profile$1
+java/awt/color/ICC_ProfileRGB
+java/awt/datatransfer/ClipboardOwner
+java/awt/datatransfer/FlavorMap
+java/awt/datatransfer/FlavorTable
+java/awt/datatransfer/SystemFlavorMap
+java/awt/dnd/DropTarget
+java/awt/dnd/DropTargetContext
+java/awt/dnd/DropTargetListener
+java/awt/dnd/peer/DragSourceContextPeer
+java/awt/dnd/peer/DropTargetPeer
+java/awt/event/AWTEventListener
+java/awt/event/AWTEventListenerProxy
+java/awt/event/ActionEvent
+java/awt/event/ActionListener
+java/awt/event/AdjustmentEvent
+java/awt/event/AdjustmentListener
+java/awt/event/ComponentAdapter
+java/awt/event/ComponentEvent
+java/awt/event/ComponentListener
+java/awt/event/ContainerEvent
+java/awt/event/ContainerListener
+java/awt/event/FocusAdapter
+java/awt/event/FocusEvent
+java/awt/event/FocusListener
+java/awt/event/HierarchyBoundsListener
+java/awt/event/HierarchyListener
+java/awt/event/InputEvent
+java/awt/event/InputEvent$1
+java/awt/event/InputMethodEvent
+java/awt/event/InputMethodListener
+java/awt/event/InvocationEvent
+java/awt/event/InvocationEvent$1
+java/awt/event/ItemEvent
+java/awt/event/ItemListener
+java/awt/event/KeyAdapter
+java/awt/event/KeyEvent
+java/awt/event/KeyEvent$1
+java/awt/event/KeyListener
+java/awt/event/MouseAdapter
+java/awt/event/MouseEvent
+java/awt/event/MouseListener
+java/awt/event/MouseMotionAdapter
+java/awt/event/MouseMotionListener
+java/awt/event/MouseWheelListener
+java/awt/event/NativeLibLoader
+java/awt/event/NativeLibLoader$1
+java/awt/event/PaintEvent
+java/awt/event/TextListener
+java/awt/event/WindowAdapter
+java/awt/event/WindowEvent
+java/awt/event/WindowFocusListener
+java/awt/event/WindowListener
+java/awt/event/WindowStateListener
+java/awt/font/FontRenderContext
+java/awt/font/GlyphVector
+java/awt/font/LineMetrics
+java/awt/font/TextAttribute
+java/awt/geom/AffineTransform
+java/awt/geom/Dimension2D
+java/awt/geom/GeneralPath
+java/awt/geom/Line2D
+java/awt/geom/Line2D$Float
+java/awt/geom/LineIterator
+java/awt/geom/Path2D
+java/awt/geom/Path2D$Float
+java/awt/geom/PathIterator
+java/awt/geom/Point2D
+java/awt/geom/Point2D$Float
+java/awt/geom/RectIterator
+java/awt/geom/Rectangle2D
+java/awt/geom/Rectangle2D$Float
+java/awt/geom/RectangularShape
+java/awt/im/InputContext
+java/awt/im/InputMethodRequests
+java/awt/im/spi/InputMethod
+java/awt/im/spi/InputMethodContext
+java/awt/im/spi/InputMethodDescriptor
+java/awt/image/BufferStrategy
+java/awt/image/BufferedImage
+java/awt/image/BufferedImage$1
+java/awt/image/ColorModel
+java/awt/image/ColorModel$1
+java/awt/image/ComponentSampleModel
+java/awt/image/DataBuffer
+java/awt/image/DataBuffer$1
+java/awt/image/DataBufferByte
+java/awt/image/DataBufferInt
+java/awt/image/DirectColorModel
+java/awt/image/FilteredImageSource
+java/awt/image/ImageConsumer
+java/awt/image/ImageFilter
+java/awt/image/ImageObserver
+java/awt/image/ImageProducer
+java/awt/image/IndexColorModel
+java/awt/image/PackedColorModel
+java/awt/image/PixelInterleavedSampleModel
+java/awt/image/RGBImageFilter
+java/awt/image/Raster
+java/awt/image/RenderedImage
+java/awt/image/SampleModel
+java/awt/image/SinglePixelPackedSampleModel
+java/awt/image/VolatileImage
+java/awt/image/WritableRaster
+java/awt/image/WritableRenderedImage
+java/awt/peer/CanvasPeer
+java/awt/peer/ComponentPeer
+java/awt/peer/ContainerPeer
+java/awt/peer/FontPeer
+java/awt/peer/FramePeer
+java/awt/peer/KeyboardFocusManagerPeer
+java/awt/peer/LabelPeer
+java/awt/peer/LightweightPeer
+java/awt/peer/PanelPeer
+java/awt/peer/WindowPeer
+java/awt/print/PrinterGraphics
+java/beans/ChangeListenerMap
+java/beans/PropertyChangeEvent
+java/beans/PropertyChangeListener
+java/beans/PropertyChangeListenerProxy
+java/beans/PropertyChangeSupport
+java/beans/PropertyChangeSupport$PropertyChangeListenerMap
+java/beans/VetoableChangeListener
+java/io/Bits
+java/io/BufferedInputStream
+java/io/BufferedOutputStream
+java/io/BufferedReader
+java/io/BufferedWriter
+java/io/ByteArrayInputStream
+java/io/ByteArrayOutputStream
+java/io/Closeable
+java/io/DataInput
+java/io/DataInputStream
+java/io/DataOutput
+java/io/DataOutputStream
+java/io/DefaultFileSystem
+java/io/EOFException
+java/io/ExpiringCache
+java/io/ExpiringCache$1
+java/io/ExpiringCache$Entry
+java/io/Externalizable
+java/io/File
+java/io/File$PathStatus
+java/io/FileDescriptor
+java/io/FileDescriptor$1
+java/io/FileInputStream
+java/io/FileInputStream$1
+java/io/FileNotFoundException
+java/io/FileOutputStream
+java/io/FileOutputStream$1
+java/io/FilePermission
+java/io/FilePermission$1
+java/io/FilePermissionCollection
+java/io/FileReader
+java/io/FileSystem
+java/io/FileWriter
+java/io/FilenameFilter
+java/io/FilterInputStream
+java/io/FilterOutputStream
+java/io/FilterReader
+java/io/Flushable
+java/io/IOException
+java/io/InputStream
+java/io/InputStreamReader
+java/io/InterruptedIOException
+java/io/ObjectInput
+java/io/ObjectInputStream
+java/io/ObjectInputStream$BlockDataInputStream
+java/io/ObjectInputStream$GetField
+java/io/ObjectInputStream$GetFieldImpl
+java/io/ObjectInputStream$HandleTable
+java/io/ObjectInputStream$HandleTable$HandleList
+java/io/ObjectInputStream$PeekInputStream
+java/io/ObjectInputStream$ValidationList
+java/io/ObjectOutput
+java/io/ObjectOutputStream
+java/io/ObjectOutputStream$BlockDataOutputStream
+java/io/ObjectOutputStream$HandleTable
+java/io/ObjectOutputStream$ReplaceTable
+java/io/ObjectStreamClass
+java/io/ObjectStreamClass$1
+java/io/ObjectStreamClass$2
+java/io/ObjectStreamClass$3
+java/io/ObjectStreamClass$4
+java/io/ObjectStreamClass$5
+java/io/ObjectStreamClass$Caches
+java/io/ObjectStreamClass$ClassDataSlot
+java/io/ObjectStreamClass$EntryFuture
+java/io/ObjectStreamClass$ExceptionInfo
+java/io/ObjectStreamClass$FieldReflector
+java/io/ObjectStreamClass$FieldReflectorKey
+java/io/ObjectStreamClass$MemberSignature
+java/io/ObjectStreamClass$WeakClassKey
+java/io/ObjectStreamConstants
+java/io/ObjectStreamField
+java/io/OutputStream
+java/io/OutputStreamWriter
+java/io/PrintStream
+java/io/PushbackInputStream
+java/io/RandomAccessFile
+java/io/RandomAccessFile$1
+java/io/Reader
+java/io/SerialCallbackContext
+java/io/Serializable
+java/io/StringReader
+java/io/StringWriter
+java/io/UnsupportedEncodingException
+java/io/WinNTFileSystem
+java/io/Writer
+java/lang/AbstractStringBuilder
+java/lang/Appendable
+java/lang/ApplicationShutdownHooks
+java/lang/ApplicationShutdownHooks$1
+java/lang/ArithmeticException
+java/lang/ArrayIndexOutOfBoundsException
+java/lang/ArrayStoreException
+java/lang/AutoCloseable
+java/lang/Boolean
+java/lang/BootstrapMethodError
+java/lang/Byte
+java/lang/CharSequence
+java/lang/Character
+java/lang/Character$CharacterCache
+java/lang/CharacterData
+java/lang/CharacterData00
+java/lang/CharacterDataLatin1
+java/lang/Class
+java/lang/Class$1
+java/lang/Class$3
+java/lang/Class$4
+java/lang/Class$AnnotationData
+java/lang/Class$Atomic
+java/lang/Class$ReflectionData
+java/lang/ClassCastException
+java/lang/ClassFormatError
+java/lang/ClassLoader
+java/lang/ClassLoader$2
+java/lang/ClassLoader$3
+java/lang/ClassLoader$NativeLibrary
+java/lang/ClassLoader$ParallelLoaders
+java/lang/ClassLoaderHelper
+java/lang/ClassNotFoundException
+java/lang/ClassValue$ClassValueMap
+java/lang/CloneNotSupportedException
+java/lang/Cloneable
+java/lang/Comparable
+java/lang/Compiler
+java/lang/Compiler$1
+java/lang/Double
+java/lang/Enum
+java/lang/Error
+java/lang/Exception
+java/lang/ExceptionInInitializerError
+java/lang/Float
+java/lang/IllegalAccessError
+java/lang/IllegalAccessException
+java/lang/IllegalArgumentException
+java/lang/IllegalMonitorStateException
+java/lang/IllegalStateException
+java/lang/IncompatibleClassChangeError
+java/lang/IndexOutOfBoundsException
+java/lang/InheritableThreadLocal
+java/lang/InstantiationException
+java/lang/Integer
+java/lang/Integer$IntegerCache
+java/lang/InternalError
+java/lang/InterruptedException
+java/lang/Iterable
+java/lang/LinkageError
+java/lang/Long
+java/lang/Long$LongCache
+java/lang/Math
+java/lang/NoClassDefFoundError
+java/lang/NoSuchFieldException
+java/lang/NoSuchMethodError
+java/lang/NoSuchMethodException
+java/lang/NullPointerException
+java/lang/Number
+java/lang/NumberFormatException
+java/lang/Object
+java/lang/OutOfMemoryError
+java/lang/Package
+java/lang/ProcessEnvironment
+java/lang/ProcessEnvironment$CheckedEntry
+java/lang/ProcessEnvironment$CheckedEntrySet
+java/lang/ProcessEnvironment$CheckedEntrySet$1
+java/lang/ProcessEnvironment$EntryComparator
+java/lang/ProcessEnvironment$NameComparator
+java/lang/Readable
+java/lang/ReflectiveOperationException
+java/lang/Runnable
+java/lang/Runtime
+java/lang/RuntimeException
+java/lang/RuntimePermission
+java/lang/SecurityException
+java/lang/SecurityManager
+java/lang/Short
+java/lang/Short$ShortCache
+java/lang/Shutdown
+java/lang/Shutdown$Lock
+java/lang/StackOverflowError
+java/lang/StackTraceElement
+java/lang/StrictMath
+java/lang/String
+java/lang/String$CaseInsensitiveComparator
+java/lang/StringBuffer
+java/lang/StringBuilder
+java/lang/StringCoding
+java/lang/StringCoding$StringDecoder
+java/lang/StringCoding$StringEncoder
+java/lang/StringIndexOutOfBoundsException
+java/lang/System
+java/lang/System$2
+java/lang/SystemClassLoaderAction
+java/lang/Terminator
+java/lang/Terminator$1
+java/lang/Thread
+java/lang/Thread$State
+java/lang/Thread$UncaughtExceptionHandler
+java/lang/ThreadDeath
+java/lang/ThreadGroup
+java/lang/ThreadLocal
+java/lang/ThreadLocal$ThreadLocalMap
+java/lang/ThreadLocal$ThreadLocalMap$Entry
+java/lang/Throwable
+java/lang/Throwable$PrintStreamOrWriter
+java/lang/Throwable$WrappedPrintStream
+java/lang/UnsatisfiedLinkError
+java/lang/UnsupportedOperationException
+java/lang/VirtualMachineError
+java/lang/Void
+java/lang/annotation/Annotation
+java/lang/invoke/CallSite
+java/lang/invoke/ConstantCallSite
+java/lang/invoke/DirectMethodHandle
+java/lang/invoke/Invokers
+java/lang/invoke/LambdaForm
+java/lang/invoke/LambdaForm$NamedFunction
+java/lang/invoke/MemberName
+java/lang/invoke/MemberName$Factory
+java/lang/invoke/MethodHandle
+java/lang/invoke/MethodHandleImpl
+java/lang/invoke/MethodHandleNatives
+java/lang/invoke/MethodHandleStatics
+java/lang/invoke/MethodHandleStatics$1
+java/lang/invoke/MethodType
+java/lang/invoke/MethodType$ConcurrentWeakInternSet
+java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry
+java/lang/invoke/MethodTypeForm
+java/lang/invoke/MutableCallSite
+java/lang/invoke/VolatileCallSite
+java/lang/ref/FinalReference
+java/lang/ref/Finalizer
+java/lang/ref/Finalizer$FinalizerThread
+java/lang/ref/PhantomReference
+java/lang/ref/Reference
+java/lang/ref/Reference$Lock
+java/lang/ref/Reference$ReferenceHandler
+java/lang/ref/ReferenceQueue
+java/lang/ref/ReferenceQueue$Lock
+java/lang/ref/ReferenceQueue$Null
+java/lang/ref/SoftReference
+java/lang/ref/WeakReference
+java/lang/reflect/AccessibleObject
+java/lang/reflect/AnnotatedElement
+java/lang/reflect/Array
+java/lang/reflect/Constructor
+java/lang/reflect/Executable
+java/lang/reflect/Field
+java/lang/reflect/GenericDeclaration
+java/lang/reflect/InvocationHandler
+java/lang/reflect/InvocationTargetException
+java/lang/reflect/Member
+java/lang/reflect/Method
+java/lang/reflect/Modifier
+java/lang/reflect/Parameter
+java/lang/reflect/Proxy
+java/lang/reflect/Proxy$KeyFactory
+java/lang/reflect/Proxy$ProxyClassFactory
+java/lang/reflect/ReflectAccess
+java/lang/reflect/ReflectPermission
+java/lang/reflect/Type
+java/lang/reflect/WeakCache
+java/math/BigInteger
+java/math/BigInteger$UnsafeHolder
+java/math/MutableBigInteger
+java/math/RoundingMode
+java/math/SignedMutableBigInteger
+java/net/AbstractPlainDatagramSocketImpl
+java/net/AbstractPlainDatagramSocketImpl$1
+java/net/AbstractPlainSocketImpl
+java/net/AbstractPlainSocketImpl$1
+java/net/Authenticator
+java/net/BindException
+java/net/ConnectException
+java/net/DatagramPacket
+java/net/DatagramPacket$1
+java/net/DatagramSocket
+java/net/DatagramSocket$1
+java/net/DatagramSocketImpl
+java/net/DefaultDatagramSocketImplFactory$1
+java/net/DefaultInterface
+java/net/DualStackPlainDatagramSocketImpl
+java/net/DualStackPlainSocketImpl
+java/net/FileNameMap
+java/net/HttpURLConnection
+java/net/Inet4Address
+java/net/Inet4AddressImpl
+java/net/Inet6Address
+java/net/Inet6Address$Inet6AddressHolder
+java/net/Inet6AddressImpl
+java/net/InetAddress
+java/net/InetAddress$1
+java/net/InetAddress$2
+java/net/InetAddress$Cache
+java/net/InetAddress$Cache$Type
+java/net/InetAddress$CacheEntry
+java/net/InetAddress$InetAddressHolder
+java/net/InetAddressImpl
+java/net/InetAddressImplFactory
+java/net/InetSocketAddress
+java/net/InetSocketAddress$InetSocketAddressHolder
+java/net/InterfaceAddress
+java/net/JarURLConnection
+java/net/MalformedURLException
+java/net/MulticastSocket
+java/net/NetworkInterface
+java/net/NetworkInterface$1
+java/net/NoRouteToHostException
+java/net/Parts
+java/net/PlainSocketImpl
+java/net/PlainSocketImpl$1
+java/net/Proxy
+java/net/Proxy$Type
+java/net/ProxySelector
+java/net/ServerSocket
+java/net/Socket
+java/net/SocketAddress
+java/net/SocketException
+java/net/SocketImpl
+java/net/SocketImplFactory
+java/net/SocketOptions
+java/net/SocketTimeoutException
+java/net/SocksConsts
+java/net/SocksSocketImpl
+java/net/SocksSocketImpl$3
+java/net/TwoStacksPlainDatagramSocketImpl
+java/net/URI
+java/net/URI$Parser
+java/net/URL
+java/net/URLClassLoader
+java/net/URLClassLoader$1
+java/net/URLClassLoader$2
+java/net/URLClassLoader$3
+java/net/URLClassLoader$3$1
+java/net/URLClassLoader$7
+java/net/URLConnection
+java/net/URLConnection$1
+java/net/URLStreamHandler
+java/net/URLStreamHandlerFactory
+java/net/UnknownHostException
+java/nio/Bits
+java/nio/Bits$1
+java/nio/Buffer
+java/nio/ByteBuffer
+java/nio/ByteBufferAsCharBufferB
+java/nio/ByteBufferAsIntBufferB
+java/nio/ByteBufferAsShortBufferB
+java/nio/ByteOrder
+java/nio/CharBuffer
+java/nio/DirectByteBuffer
+java/nio/DirectByteBuffer$Deallocator
+java/nio/DirectLongBufferU
+java/nio/HeapByteBuffer
+java/nio/HeapCharBuffer
+java/nio/IntBuffer
+java/nio/LongBuffer
+java/nio/MappedByteBuffer
+java/nio/ShortBuffer
+java/nio/channels/ByteChannel
+java/nio/channels/Channel
+java/nio/channels/FileChannel
+java/nio/channels/GatheringByteChannel
+java/nio/channels/InterruptibleChannel
+java/nio/channels/NetworkChannel
+java/nio/channels/ReadableByteChannel
+java/nio/channels/ScatteringByteChannel
+java/nio/channels/SeekableByteChannel
+java/nio/channels/SelectableChannel
+java/nio/channels/SocketChannel
+java/nio/channels/WritableByteChannel
+java/nio/channels/spi/AbstractInterruptibleChannel
+java/nio/channels/spi/AbstractInterruptibleChannel$1
+java/nio/channels/spi/AbstractSelectableChannel
+java/nio/charset/Charset
+java/nio/charset/CharsetDecoder
+java/nio/charset/CharsetEncoder
+java/nio/charset/CoderResult
+java/nio/charset/CoderResult$1
+java/nio/charset/CoderResult$2
+java/nio/charset/CoderResult$Cache
+java/nio/charset/CodingErrorAction
+java/nio/charset/StandardCharsets
+java/nio/charset/spi/CharsetProvider
+java/nio/file/Path
+java/nio/file/Watchable
+java/nio/file/attribute/FileAttribute
+java/security/AccessControlContext
+java/security/AccessController
+java/security/AlgorithmParameters
+java/security/AlgorithmParametersSpi
+java/security/AllPermission
+java/security/AllPermissionCollection
+java/security/BasicPermission
+java/security/BasicPermissionCollection
+java/security/CodeSigner
+java/security/CodeSource
+java/security/GeneralSecurityException
+java/security/Guard
+java/security/InvalidKeyException
+java/security/Key
+java/security/KeyException
+java/security/MessageDigest
+java/security/MessageDigest$Delegate
+java/security/MessageDigestSpi
+java/security/NoSuchAlgorithmException
+java/security/Permission
+java/security/PermissionCollection
+java/security/Permissions
+java/security/Principal
+java/security/PrivateKey
+java/security/PrivilegedAction
+java/security/PrivilegedActionException
+java/security/PrivilegedExceptionAction
+java/security/ProtectionDomain
+java/security/ProtectionDomain$1
+java/security/ProtectionDomain$3
+java/security/ProtectionDomain$Key
+java/security/Provider
+java/security/Provider$EngineDescription
+java/security/Provider$Service
+java/security/Provider$ServiceKey
+java/security/Provider$UString
+java/security/PublicKey
+java/security/SecureClassLoader
+java/security/Security
+java/security/Security$1
+java/security/Signature
+java/security/Signature$Delegate
+java/security/SignatureException
+java/security/SignatureSpi
+java/security/UnresolvedPermission
+java/security/cert/Certificate
+java/security/interfaces/DSAKey
+java/security/interfaces/DSAParams
+java/security/interfaces/DSAPrivateKey
+java/security/interfaces/DSAPublicKey
+java/security/spec/AlgorithmParameterSpec
+java/security/spec/DSAParameterSpec
+java/text/AttributedCharacterIterator$Attribute
+java/text/CharacterIterator
+java/text/Collator
+java/text/DateFormat
+java/text/DateFormat$Field
+java/text/DateFormatSymbols
+java/text/DecimalFormat
+java/text/DecimalFormatSymbols
+java/text/DigitList
+java/text/DontCareFieldPosition
+java/text/DontCareFieldPosition$1
+java/text/EntryPair
+java/text/FieldPosition
+java/text/Format
+java/text/Format$Field
+java/text/Format$FieldDelegate
+java/text/MergeCollation
+java/text/MessageFormat
+java/text/MessageFormat$Field
+java/text/NumberFormat
+java/text/NumberFormat$Field
+java/text/ParseException
+java/text/PatternEntry
+java/text/PatternEntry$Parser
+java/text/RBCollationTables
+java/text/RBCollationTables$BuildAPI
+java/text/RuleBasedCollator
+java/text/SimpleDateFormat
+java/text/spi/BreakIteratorProvider
+java/text/spi/CollatorProvider
+java/text/spi/DateFormatProvider
+java/text/spi/DateFormatSymbolsProvider
+java/text/spi/DecimalFormatSymbolsProvider
+java/text/spi/NumberFormatProvider
+java/util/AbstractCollection
+java/util/AbstractList
+java/util/AbstractList$Itr
+java/util/AbstractList$ListItr
+java/util/AbstractMap
+java/util/AbstractQueue
+java/util/AbstractSequentialList
+java/util/AbstractSet
+java/util/ArrayDeque
+java/util/ArrayList
+java/util/ArrayList$Itr
+java/util/ArrayList$ListItr
+java/util/ArrayList$SubList
+java/util/ArrayList$SubList$1
+java/util/Arrays
+java/util/Arrays$ArrayList
+java/util/Arrays$LegacyMergeSort
+java/util/BitSet
+java/util/Calendar
+java/util/Calendar$Builder
+java/util/Collection
+java/util/Collections
+java/util/Collections$3
+java/util/Collections$EmptyEnumeration
+java/util/Collections$EmptyIterator
+java/util/Collections$EmptyList
+java/util/Collections$EmptyMap
+java/util/Collections$EmptySet
+java/util/Collections$SetFromMap
+java/util/Collections$SynchronizedCollection
+java/util/Collections$SynchronizedMap
+java/util/Collections$SynchronizedSet
+java/util/Collections$UnmodifiableCollection
+java/util/Collections$UnmodifiableCollection$1
+java/util/Collections$UnmodifiableList
+java/util/Collections$UnmodifiableList$1
+java/util/Collections$UnmodifiableMap
+java/util/Collections$UnmodifiableRandomAccessList
+java/util/Collections$UnmodifiableSet
+java/util/ComparableTimSort
+java/util/Comparator
+java/util/Currency
+java/util/Currency$1
+java/util/Currency$CurrencyNameGetter
+java/util/Date
+java/util/Deque
+java/util/Dictionary
+java/util/Enumeration
+java/util/EventListener
+java/util/EventListenerProxy
+java/util/EventObject
+java/util/GregorianCalendar
+java/util/HashMap
+java/util/HashMap$EntryIterator
+java/util/HashMap$EntrySet
+java/util/HashMap$HashIterator
+java/util/HashMap$KeyIterator
+java/util/HashMap$KeySet
+java/util/HashMap$Node
+java/util/HashMap$TreeNode
+java/util/HashMap$ValueIterator
+java/util/HashMap$Values
+java/util/HashSet
+java/util/Hashtable
+java/util/Hashtable$Entry
+java/util/Hashtable$EntrySet
+java/util/Hashtable$Enumerator
+java/util/Hashtable$ValueCollection
+java/util/IdentityHashMap
+java/util/IdentityHashMap$IdentityHashMapIterator
+java/util/IdentityHashMap$KeyIterator
+java/util/IdentityHashMap$KeySet
+java/util/IdentityHashMap$ValueIterator
+java/util/IdentityHashMap$Values
+java/util/Iterator
+java/util/LinkedHashMap
+java/util/LinkedHashMap$Entry
+java/util/LinkedHashMap$LinkedEntryIterator
+java/util/LinkedHashMap$LinkedEntrySet
+java/util/LinkedHashMap$LinkedHashIterator
+java/util/LinkedHashMap$LinkedKeyIterator
+java/util/LinkedHashMap$LinkedKeySet
+java/util/LinkedList
+java/util/LinkedList$ListItr
+java/util/LinkedList$Node
+java/util/List
+java/util/ListIterator
+java/util/ListResourceBundle
+java/util/Locale
+java/util/Locale$1
+java/util/Locale$Cache
+java/util/Locale$Category
+java/util/Locale$LocaleKey
+java/util/Map
+java/util/Map$Entry
+java/util/MissingResourceException
+java/util/NavigableMap
+java/util/Objects
+java/util/PriorityQueue
+java/util/Properties
+java/util/Properties$LineReader
+java/util/PropertyResourceBundle
+java/util/Queue
+java/util/Random
+java/util/RandomAccess
+java/util/ResourceBundle
+java/util/ResourceBundle$1
+java/util/ResourceBundle$BundleReference
+java/util/ResourceBundle$CacheKey
+java/util/ResourceBundle$CacheKeyReference
+java/util/ResourceBundle$Control
+java/util/ResourceBundle$Control$1
+java/util/ResourceBundle$Control$CandidateListCache
+java/util/ResourceBundle$LoaderReference
+java/util/ResourceBundle$RBClassLoader
+java/util/ResourceBundle$RBClassLoader$1
+java/util/ResourceBundle$SingleFormatControl
+java/util/ServiceLoader
+java/util/ServiceLoader$1
+java/util/ServiceLoader$LazyIterator
+java/util/Set
+java/util/SortedMap
+java/util/Stack
+java/util/StringTokenizer
+java/util/TimSort
+java/util/TimeZone
+java/util/TimeZone$1
+java/util/TreeMap
+java/util/TreeMap$Entry
+java/util/Vector
+java/util/Vector$1
+java/util/Vector$Itr
+java/util/Vector$ListItr
+java/util/WeakHashMap
+java/util/WeakHashMap$Entry
+java/util/WeakHashMap$KeySet
+java/util/concurrent/BlockingQueue
+java/util/concurrent/ConcurrentHashMap
+java/util/concurrent/ConcurrentHashMap$BaseIterator
+java/util/concurrent/ConcurrentHashMap$CollectionView
+java/util/concurrent/ConcurrentHashMap$CounterCell
+java/util/concurrent/ConcurrentHashMap$EntrySetView
+java/util/concurrent/ConcurrentHashMap$ForwardingNode
+java/util/concurrent/ConcurrentHashMap$KeyIterator
+java/util/concurrent/ConcurrentHashMap$KeySetView
+java/util/concurrent/ConcurrentHashMap$Node
+java/util/concurrent/ConcurrentHashMap$Segment
+java/util/concurrent/ConcurrentHashMap$Traverser
+java/util/concurrent/ConcurrentHashMap$ValueIterator
+java/util/concurrent/ConcurrentHashMap$ValuesView
+java/util/concurrent/ConcurrentMap
+java/util/concurrent/CopyOnWriteArrayList
+java/util/concurrent/DelayQueue
+java/util/concurrent/Delayed
+java/util/concurrent/TimeUnit
+java/util/concurrent/TimeUnit$1
+java/util/concurrent/TimeUnit$2
+java/util/concurrent/TimeUnit$3
+java/util/concurrent/TimeUnit$4
+java/util/concurrent/TimeUnit$5
+java/util/concurrent/TimeUnit$6
+java/util/concurrent/TimeUnit$7
+java/util/concurrent/atomic/AtomicBoolean
+java/util/concurrent/atomic/AtomicInteger
+java/util/concurrent/atomic/AtomicLong
+java/util/concurrent/atomic/AtomicMarkableReference
+java/util/concurrent/atomic/AtomicMarkableReference$Pair
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1
+java/util/concurrent/locks/AbstractOwnableSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
+java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
+java/util/concurrent/locks/Condition
+java/util/concurrent/locks/Lock
+java/util/concurrent/locks/LockSupport
+java/util/concurrent/locks/ReadWriteLock
+java/util/concurrent/locks/ReentrantLock
+java/util/concurrent/locks/ReentrantLock$NonfairSync
+java/util/concurrent/locks/ReentrantLock$Sync
+java/util/concurrent/locks/ReentrantReadWriteLock
+java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync
+java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock
+java/util/concurrent/locks/ReentrantReadWriteLock$Sync
+java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter
+java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock
+java/util/function/BiFunction
+java/util/jar/Attributes
+java/util/jar/Attributes$Name
+java/util/jar/JarEntry
+java/util/jar/JarFile
+java/util/jar/JarFile$JarEntryIterator
+java/util/jar/JarFile$JarFileEntry
+java/util/jar/JarVerifier
+java/util/jar/JarVerifier$3
+java/util/jar/JavaUtilJarAccessImpl
+java/util/jar/Manifest
+java/util/jar/Manifest$FastInputStream
+java/util/logging/Handler
+java/util/logging/Level
+java/util/logging/Level$KnownLevel
+java/util/logging/LogManager
+java/util/logging/LogManager$1
+java/util/logging/LogManager$2
+java/util/logging/LogManager$3
+java/util/logging/LogManager$5
+java/util/logging/LogManager$Cleaner
+java/util/logging/LogManager$LogNode
+java/util/logging/LogManager$LoggerContext
+java/util/logging/LogManager$LoggerContext$1
+java/util/logging/LogManager$LoggerWeakRef
+java/util/logging/LogManager$RootLogger
+java/util/logging/LogManager$SystemLoggerContext
+java/util/logging/Logger
+java/util/logging/Logger$1
+java/util/logging/LoggingPermission
+java/util/logging/LoggingProxyImpl
+java/util/spi/CalendarDataProvider
+java/util/spi/CurrencyNameProvider
+java/util/spi/LocaleNameProvider
+java/util/spi/LocaleServiceProvider
+java/util/spi/ResourceBundleControlProvider
+java/util/spi/TimeZoneNameProvider
+java/util/zip/CRC32
+java/util/zip/Checksum
+java/util/zip/DeflaterOutputStream
+java/util/zip/GZIPInputStream
+java/util/zip/Inflater
+java/util/zip/InflaterInputStream
+java/util/zip/ZStreamRef
+java/util/zip/ZipCoder
+java/util/zip/ZipConstants
+java/util/zip/ZipEntry
+java/util/zip/ZipFile
+java/util/zip/ZipFile$1
+java/util/zip/ZipFile$ZipEntryIterator
+java/util/zip/ZipFile$ZipFileInflaterInputStream
+java/util/zip/ZipFile$ZipFileInputStream
+java/util/zip/ZipInputStream
+java/util/zip/ZipUtils
+javax/accessibility/Accessible
+javax/accessibility/AccessibleAction
+javax/accessibility/AccessibleBundle
+javax/accessibility/AccessibleComponent
+javax/accessibility/AccessibleContext
+javax/accessibility/AccessibleExtendedComponent
+javax/accessibility/AccessibleRelationSet
+javax/accessibility/AccessibleState
+javax/accessibility/AccessibleText
+javax/accessibility/AccessibleValue
+javax/security/auth/Destroyable
+javax/sound/sampled/Control$Type
+javax/sound/sampled/DataLine
+javax/sound/sampled/DataLine$Info
+javax/sound/sampled/FloatControl$Type
+javax/sound/sampled/Line
+javax/sound/sampled/Line$Info
+javax/sound/sampled/LineUnavailableException
+javax/sound/sampled/UnsupportedAudioFileException
+javax/swing/AbstractAction
+javax/swing/AbstractButton
+javax/swing/AbstractButton$AccessibleAbstractButton
+javax/swing/AbstractButton$Handler
+javax/swing/AbstractCellEditor
+javax/swing/AbstractListModel
+javax/swing/Action
+javax/swing/ActionMap
+javax/swing/AncestorNotifier
+javax/swing/ArrayTable
+javax/swing/BorderFactory
+javax/swing/BoundedRangeModel
+javax/swing/Box
+javax/swing/Box$Filler
+javax/swing/BoxLayout
+javax/swing/BufferStrategyPaintManager
+javax/swing/BufferStrategyPaintManager$BufferInfo
+javax/swing/ButtonGroup
+javax/swing/ButtonModel
+javax/swing/CellEditor
+javax/swing/CellRendererPane
+javax/swing/ClientPropertyKey
+javax/swing/ClientPropertyKey$1
+javax/swing/ComboBoxEditor
+javax/swing/ComboBoxModel
+javax/swing/ComponentInputMap
+javax/swing/DefaultBoundedRangeModel
+javax/swing/DefaultButtonModel
+javax/swing/DefaultCellEditor
+javax/swing/DefaultCellEditor$1
+javax/swing/DefaultCellEditor$EditorDelegate
+javax/swing/DefaultComboBoxModel
+javax/swing/DefaultListCellRenderer
+javax/swing/DefaultListCellRenderer$UIResource
+javax/swing/DefaultListModel
+javax/swing/DefaultListSelectionModel
+javax/swing/DefaultSingleSelectionModel
+javax/swing/DropMode
+javax/swing/FocusManager
+javax/swing/GrayFilter
+javax/swing/Icon
+javax/swing/ImageIcon
+javax/swing/ImageIcon$1
+javax/swing/ImageIcon$2
+javax/swing/ImageIcon$2$1
+javax/swing/ImageIcon$3
+javax/swing/InputMap
+javax/swing/InternalFrameFocusTraversalPolicy
+javax/swing/JButton
+javax/swing/JCheckBox
+javax/swing/JCheckBoxMenuItem
+javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem
+javax/swing/JComboBox
+javax/swing/JComboBox$1
+javax/swing/JComboBox$KeySelectionManager
 javax/swing/JComponent
 javax/swing/JComponent$1
-javax/swing/SwingUtilities
-javax/swing/JRootPane
-sun/security/action/GetBooleanAction
-javax/swing/event/EventListenerList
+javax/swing/JComponent$2
+javax/swing/JComponent$AccessibleJComponent
+javax/swing/JDialog
+javax/swing/JEditorPane
+javax/swing/JFrame
+javax/swing/JInternalFrame
+javax/swing/JLabel
+javax/swing/JLayer
+javax/swing/JLayeredPane
+javax/swing/JList
+javax/swing/JList$3
+javax/swing/JList$ListSelectionHandler
+javax/swing/JMenu
+javax/swing/JMenu$MenuChangeListener
+javax/swing/JMenu$WinListener
+javax/swing/JMenuBar
+javax/swing/JMenuItem
+javax/swing/JMenuItem$AccessibleJMenuItem
+javax/swing/JMenuItem$MenuItemFocusListener
 javax/swing/JPanel
-java/awt/FlowLayout
-javax/swing/UIManager
-javax/swing/UIManager$LookAndFeelInfo
-sun/awt/windows/WDesktopProperties
-sun/awt/windows/WDesktopProperties$WinPlaySound
-sun/awt/shell/Win32ShellFolderManager2
-sun/awt/shell/ShellFolderManager
-sun/swing/SwingUtilities2
-sun/swing/SwingUtilities2$LSBCacheEntry
-javax/swing/UIManager$LAFState
-javax/swing/UIDefaults
-javax/swing/MultiUIDefaults
-javax/swing/UIManager$1
-javax/swing/plaf/metal/MetalLookAndFeel
-javax/swing/plaf/basic/BasicLookAndFeel
+javax/swing/JPopupMenu
+javax/swing/JPopupMenu$Separator
+javax/swing/JProgressBar
+javax/swing/JProgressBar$ModelListener
+javax/swing/JRadioButton
+javax/swing/JRadioButtonMenuItem
+javax/swing/JRootPane
+javax/swing/JRootPane$1
+javax/swing/JRootPane$RootLayout
+javax/swing/JScrollBar
+javax/swing/JScrollBar$ModelListener
+javax/swing/JScrollPane
+javax/swing/JScrollPane$ScrollBar
+javax/swing/JSeparator
+javax/swing/JSlider
+javax/swing/JSlider$ModelListener
+javax/swing/JSplitPane
+javax/swing/JTabbedPane
+javax/swing/JTabbedPane$ModelListener
+javax/swing/JTabbedPane$Page
+javax/swing/JTable
+javax/swing/JTable$2
+javax/swing/JTable$5
+javax/swing/JTable$Resizable2
+javax/swing/JTable$Resizable3
+javax/swing/JTextArea
+javax/swing/JTextField
+javax/swing/JTextField$NotifyAction
+javax/swing/JTextField$ScrollRepainter
+javax/swing/JToggleButton
+javax/swing/JToggleButton$ToggleButtonModel
+javax/swing/JToolBar
+javax/swing/JToolBar$DefaultToolBarLayout
+javax/swing/JToolBar$Separator
+javax/swing/JToolTip
+javax/swing/JTree
+javax/swing/JTree$TreeModelHandler
+javax/swing/JTree$TreeSelectionRedirector
+javax/swing/JViewport
+javax/swing/JViewport$ViewListener
+javax/swing/JWindow
+javax/swing/KeyStroke
+javax/swing/KeyboardManager
+javax/swing/KeyboardManager$ComponentKeyStrokePair
+javax/swing/LayoutComparator
+javax/swing/LayoutFocusTraversalPolicy
+javax/swing/ListCellRenderer
+javax/swing/ListModel
+javax/swing/ListSelectionModel
 javax/swing/LookAndFeel
-sun/swing/DefaultLookup
-javax/swing/plaf/metal/OceanTheme
-javax/swing/plaf/metal/DefaultMetalTheme
-javax/swing/plaf/metal/MetalTheme
-javax/swing/plaf/ColorUIResource
-javax/swing/plaf/UIResource
-sun/swing/PrintColorUIResource
-javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate
-javax/swing/plaf/FontUIResource
-sun/swing/SwingLazyValue
-javax/swing/UIDefaults$LazyValue
+javax/swing/MenuElement
+javax/swing/MenuSelectionManager
+javax/swing/MultiUIDefaults
+javax/swing/MutableComboBoxModel
+javax/swing/Popup$HeavyWeightWindow
+javax/swing/RepaintManager
+javax/swing/RepaintManager$1
+javax/swing/RepaintManager$1$1
+javax/swing/RepaintManager$2
+javax/swing/RepaintManager$3
+javax/swing/RepaintManager$DisplayChangedHandler
+javax/swing/RepaintManager$PaintManager
+javax/swing/RepaintManager$ProcessingRunnable
+javax/swing/RootPaneContainer
+javax/swing/ScrollPaneConstants
+javax/swing/ScrollPaneLayout
+javax/swing/ScrollPaneLayout$UIResource
+javax/swing/Scrollable
+javax/swing/SingleSelectionModel
+javax/swing/SizeRequirements
+javax/swing/SortingFocusTraversalPolicy
+javax/swing/SwingConstants
+javax/swing/SwingContainerOrderFocusTraversalPolicy
+javax/swing/SwingDefaultFocusTraversalPolicy
+javax/swing/SwingPaintEventDispatcher
+javax/swing/SwingUtilities
+javax/swing/SwingUtilities$SharedOwnerFrame
+javax/swing/Timer
+javax/swing/Timer$DoPostEvent
+javax/swing/TimerQueue
+javax/swing/TimerQueue$1
+javax/swing/TimerQueue$DelayedTimer
+javax/swing/ToolTipManager
+javax/swing/ToolTipManager$AccessibilityKeyListener
+javax/swing/ToolTipManager$MoveBeforeEnterListener
+javax/swing/ToolTipManager$insideTimerAction
+javax/swing/ToolTipManager$outsideTimerAction
+javax/swing/ToolTipManager$stillInsideTimerAction
+javax/swing/TransferHandler
+javax/swing/TransferHandler$DropHandler
+javax/swing/TransferHandler$HasGetTransferHandler
+javax/swing/TransferHandler$SwingDropTarget
+javax/swing/TransferHandler$TransferAction
+javax/swing/TransferHandler$TransferSupport
+javax/swing/UIDefaults
 javax/swing/UIDefaults$ActiveValue
-javax/swing/plaf/InsetsUIResource
-sun/swing/SwingUtilities2$2
-javax/swing/plaf/basic/BasicLookAndFeel$2
-javax/swing/plaf/DimensionUIResource
 javax/swing/UIDefaults$LazyInputMap
-java/lang/Character$CharacterCache
-javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue
-javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue
-sun/swing/SwingUtilities2$AATextInfo
-java/util/HashMap$EntrySet
-java/util/HashMap$EntryIterator
+javax/swing/UIDefaults$LazyValue
+javax/swing/UIDefaults$TextAndMnemonicHashMap
+javax/swing/UIManager
+javax/swing/UIManager$1
+javax/swing/UIManager$2
+javax/swing/UIManager$LAFState
+javax/swing/UIManager$LookAndFeelInfo
+javax/swing/UnsupportedLookAndFeelException
+javax/swing/ViewportLayout
+javax/swing/WindowConstants
+javax/swing/border/AbstractBorder
+javax/swing/border/BevelBorder
+javax/swing/border/Border
+javax/swing/border/CompoundBorder
+javax/swing/border/EmptyBorder
+javax/swing/border/EtchedBorder
+javax/swing/border/LineBorder
+javax/swing/border/MatteBorder
+javax/swing/border/TitledBorder
+javax/swing/event/AncestorListener
+javax/swing/event/CaretEvent
+javax/swing/event/CaretListener
+javax/swing/event/CellEditorListener
+javax/swing/event/ChangeEvent
+javax/swing/event/ChangeListener
+javax/swing/event/DocumentEvent
+javax/swing/event/DocumentEvent$ElementChange
+javax/swing/event/DocumentEvent$EventType
+javax/swing/event/DocumentListener
+javax/swing/event/EventListenerList
+javax/swing/event/ListDataEvent
+javax/swing/event/ListDataListener
+javax/swing/event/ListSelectionEvent
+javax/swing/event/ListSelectionListener
+javax/swing/event/MenuDragMouseListener
+javax/swing/event/MenuEvent
+javax/swing/event/MenuKeyListener
+javax/swing/event/MenuListener
+javax/swing/event/MouseInputAdapter
+javax/swing/event/MouseInputListener
+javax/swing/event/PopupMenuListener
+javax/swing/event/RowSorterListener
+javax/swing/event/SwingPropertyChangeSupport
+javax/swing/event/TableColumnModelEvent
+javax/swing/event/TableColumnModelListener
+javax/swing/event/TableModelEvent
+javax/swing/event/TableModelListener
+javax/swing/event/TreeExpansionListener
+javax/swing/event/TreeModelEvent
+javax/swing/event/TreeModelListener
+javax/swing/event/TreeSelectionEvent
+javax/swing/event/TreeSelectionListener
+javax/swing/event/UndoableEditEvent
+javax/swing/event/UndoableEditListener
+javax/swing/filechooser/FileFilter
+javax/swing/filechooser/FileSystemView
+javax/swing/filechooser/FileSystemView$1
+javax/swing/filechooser/WindowsFileSystemView
+javax/swing/plaf/ActionMapUIResource
+javax/swing/plaf/BorderUIResource
+javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
+javax/swing/plaf/BorderUIResource$EmptyBorderUIResource
+javax/swing/plaf/BorderUIResource$LineBorderUIResource
+javax/swing/plaf/ButtonUI
+javax/swing/plaf/ColorUIResource
+javax/swing/plaf/ComboBoxUI
+javax/swing/plaf/ComponentInputMapUIResource
+javax/swing/plaf/ComponentUI
+javax/swing/plaf/DimensionUIResource
+javax/swing/plaf/FontUIResource
+javax/swing/plaf/InputMapUIResource
+javax/swing/plaf/InsetsUIResource
+javax/swing/plaf/LabelUI
+javax/swing/plaf/ListUI
+javax/swing/plaf/MenuBarUI
+javax/swing/plaf/MenuItemUI
+javax/swing/plaf/PanelUI
+javax/swing/plaf/PopupMenuUI
+javax/swing/plaf/ProgressBarUI
+javax/swing/plaf/RootPaneUI
+javax/swing/plaf/ScrollBarUI
+javax/swing/plaf/ScrollPaneUI
+javax/swing/plaf/SeparatorUI
+javax/swing/plaf/SliderUI
+javax/swing/plaf/SplitPaneUI
+javax/swing/plaf/TabbedPaneUI
+javax/swing/plaf/TableHeaderUI
+javax/swing/plaf/TableUI
+javax/swing/plaf/TextUI
+javax/swing/plaf/ToolBarUI
+javax/swing/plaf/TreeUI
+javax/swing/plaf/UIResource
+javax/swing/plaf/ViewportUI
+javax/swing/plaf/basic/BasicArrowButton
+javax/swing/plaf/basic/BasicBorders
+javax/swing/plaf/basic/BasicBorders$ButtonBorder
+javax/swing/plaf/basic/BasicBorders$MarginBorder
+javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
+javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder
+javax/swing/plaf/basic/BasicBorders$SplitPaneBorder
+javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder
+javax/swing/plaf/basic/BasicButtonListener
+javax/swing/plaf/basic/BasicButtonUI
+javax/swing/plaf/basic/BasicCheckBoxMenuItemUI
+javax/swing/plaf/basic/BasicComboBoxEditor
+javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField
+javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
+javax/swing/plaf/basic/BasicComboBoxRenderer
+javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource
+javax/swing/plaf/basic/BasicComboBoxUI
+javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
+javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager
+javax/swing/plaf/basic/BasicComboBoxUI$Handler
+javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicComboPopup
+javax/swing/plaf/basic/BasicComboPopup$1
+javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass
+javax/swing/plaf/basic/BasicComboPopup$Handler
+javax/swing/plaf/basic/BasicGraphicsUtils
+javax/swing/plaf/basic/BasicHTML
+javax/swing/plaf/basic/BasicLabelUI
+javax/swing/plaf/basic/BasicListUI
+javax/swing/plaf/basic/BasicListUI$Handler
+javax/swing/plaf/basic/BasicListUI$ListTransferHandler
+javax/swing/plaf/basic/BasicLookAndFeel
+javax/swing/plaf/basic/BasicLookAndFeel$1
+javax/swing/plaf/basic/BasicLookAndFeel$2
+javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper
+javax/swing/plaf/basic/BasicMenuBarUI
+javax/swing/plaf/basic/BasicMenuBarUI$Handler
+javax/swing/plaf/basic/BasicMenuItemUI
+javax/swing/plaf/basic/BasicMenuItemUI$Handler
+javax/swing/plaf/basic/BasicMenuUI
+javax/swing/plaf/basic/BasicMenuUI$Handler
+javax/swing/plaf/basic/BasicPanelUI
+javax/swing/plaf/basic/BasicPopupMenuUI
+javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener
+javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
+javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper
+javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1
+javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber
+javax/swing/plaf/basic/BasicProgressBarUI
+javax/swing/plaf/basic/BasicProgressBarUI$Handler
+javax/swing/plaf/basic/BasicRadioButtonMenuItemUI
+javax/swing/plaf/basic/BasicRadioButtonUI
+javax/swing/plaf/basic/BasicRootPaneUI
+javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap
+javax/swing/plaf/basic/BasicScrollBarUI
+javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
+javax/swing/plaf/basic/BasicScrollBarUI$Handler
+javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
+javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
+javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
+javax/swing/plaf/basic/BasicScrollPaneUI
+javax/swing/plaf/basic/BasicScrollPaneUI$Handler
+javax/swing/plaf/basic/BasicSeparatorUI
+javax/swing/plaf/basic/BasicSliderUI
+javax/swing/plaf/basic/BasicSliderUI$Actions
+javax/swing/plaf/basic/BasicSliderUI$Handler
+javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicSliderUI$ScrollListener
+javax/swing/plaf/basic/BasicSliderUI$TrackListener
+javax/swing/plaf/basic/BasicSplitPaneDivider
+javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout
+javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler
+javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler
+javax/swing/plaf/basic/BasicSplitPaneUI
+javax/swing/plaf/basic/BasicSplitPaneUI$1
+javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager
+javax/swing/plaf/basic/BasicSplitPaneUI$Handler
+javax/swing/plaf/basic/BasicTabbedPaneUI
+javax/swing/plaf/basic/BasicTabbedPaneUI$Handler
+javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout
+javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout
+javax/swing/plaf/basic/BasicTableHeaderUI
+javax/swing/plaf/basic/BasicTableHeaderUI$1
+javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler
+javax/swing/plaf/basic/BasicTableUI
+javax/swing/plaf/basic/BasicTableUI$Handler
+javax/swing/plaf/basic/BasicTableUI$TableTransferHandler
+javax/swing/plaf/basic/BasicTextAreaUI
+javax/swing/plaf/basic/BasicTextFieldUI
+javax/swing/plaf/basic/BasicTextUI
+javax/swing/plaf/basic/BasicTextUI$BasicCaret
+javax/swing/plaf/basic/BasicTextUI$BasicCursor
+javax/swing/plaf/basic/BasicTextUI$BasicHighlighter
+javax/swing/plaf/basic/BasicTextUI$DragListener
+javax/swing/plaf/basic/BasicTextUI$FocusAction
+javax/swing/plaf/basic/BasicTextUI$RootView
+javax/swing/plaf/basic/BasicTextUI$TextActionWrapper
+javax/swing/plaf/basic/BasicTextUI$TextTransferHandler
+javax/swing/plaf/basic/BasicTextUI$UpdateHandler
+javax/swing/plaf/basic/BasicToggleButtonUI
+javax/swing/plaf/basic/BasicToolBarSeparatorUI
+javax/swing/plaf/basic/BasicToolBarUI
+javax/swing/plaf/basic/BasicToolBarUI$DockingListener
+javax/swing/plaf/basic/BasicToolBarUI$Handler
+javax/swing/plaf/basic/BasicTreeUI
+javax/swing/plaf/basic/BasicTreeUI$Actions
+javax/swing/plaf/basic/BasicTreeUI$Handler
+javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler
+javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler
+javax/swing/plaf/basic/BasicViewportUI
+javax/swing/plaf/basic/ComboPopup
+javax/swing/plaf/basic/DefaultMenuLayout
+javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag
+javax/swing/plaf/basic/LazyActionMap
+javax/swing/plaf/metal/BumpBuffer
+javax/swing/plaf/metal/DefaultMetalTheme
+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate
+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1
+javax/swing/plaf/metal/MetalBorders
+javax/swing/plaf/metal/MetalBorders$ButtonBorder
+javax/swing/plaf/metal/MetalBorders$Flush3DBorder
+javax/swing/plaf/metal/MetalBorders$MenuBarBorder
+javax/swing/plaf/metal/MetalBorders$MenuItemBorder
+javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
+javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder
+javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder
+javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
+javax/swing/plaf/metal/MetalBorders$TextFieldBorder
+javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder
+javax/swing/plaf/metal/MetalBorders$ToolBarBorder
+javax/swing/plaf/metal/MetalBumps
+javax/swing/plaf/metal/MetalButtonUI
+javax/swing/plaf/metal/MetalCheckBoxUI
+javax/swing/plaf/metal/MetalComboBoxButton
+javax/swing/plaf/metal/MetalComboBoxButton$1
+javax/swing/plaf/metal/MetalComboBoxEditor
+javax/swing/plaf/metal/MetalComboBoxEditor$1
+javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder
+javax/swing/plaf/metal/MetalComboBoxEditor$UIResource
+javax/swing/plaf/metal/MetalComboBoxIcon
+javax/swing/plaf/metal/MetalComboBoxUI
+javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager
+javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
+javax/swing/plaf/metal/MetalIconFactory
+javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon
+javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon
+javax/swing/plaf/metal/MetalIconFactory$FolderIcon16
+javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon
+javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon
+javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon
+javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon
+javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon
+javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon
+javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon
+javax/swing/plaf/metal/MetalLabelUI
+javax/swing/plaf/metal/MetalLookAndFeel
 javax/swing/plaf/metal/MetalLookAndFeel$AATextListener
-java/beans/PropertyChangeListenerProxy
-java/util/EventListenerProxy
-sun/awt/EventListenerAggregate
-javax/swing/UIDefaults$ProxyLazyValue
+javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue
+javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue
+javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1
+javax/swing/plaf/metal/MetalPopupMenuSeparatorUI
+javax/swing/plaf/metal/MetalProgressBarUI
+javax/swing/plaf/metal/MetalRadioButtonUI
+javax/swing/plaf/metal/MetalRootPaneUI
+javax/swing/plaf/metal/MetalScrollBarUI
+javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener
+javax/swing/plaf/metal/MetalScrollButton
+javax/swing/plaf/metal/MetalScrollPaneUI
+javax/swing/plaf/metal/MetalScrollPaneUI$1
+javax/swing/plaf/metal/MetalSeparatorUI
+javax/swing/plaf/metal/MetalSliderUI
+javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener
+javax/swing/plaf/metal/MetalSplitPaneDivider
+javax/swing/plaf/metal/MetalSplitPaneDivider$1
+javax/swing/plaf/metal/MetalSplitPaneDivider$2
+javax/swing/plaf/metal/MetalSplitPaneUI
+javax/swing/plaf/metal/MetalTabbedPaneUI
+javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout
+javax/swing/plaf/metal/MetalTextFieldUI
+javax/swing/plaf/metal/MetalTheme
+javax/swing/plaf/metal/MetalToggleButtonUI
+javax/swing/plaf/metal/MetalToolBarUI
+javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener
+javax/swing/plaf/metal/MetalTreeUI
+javax/swing/plaf/metal/MetalTreeUI$LineListener
+javax/swing/plaf/metal/MetalUtils
+javax/swing/plaf/metal/OceanTheme
 javax/swing/plaf/metal/OceanTheme$1
 javax/swing/plaf/metal/OceanTheme$2
 javax/swing/plaf/metal/OceanTheme$3
 javax/swing/plaf/metal/OceanTheme$4
 javax/swing/plaf/metal/OceanTheme$5
 javax/swing/plaf/metal/OceanTheme$6
-javax/swing/FocusManager
-javax/swing/LayoutFocusTraversalPolicy
-javax/swing/SortingFocusTraversalPolicy
-javax/swing/InternalFrameFocusTraversalPolicy
-javax/swing/SwingContainerOrderFocusTraversalPolicy
-javax/swing/SwingDefaultFocusTraversalPolicy
-javax/swing/LayoutComparator
-javax/swing/RepaintManager
-javax/swing/RepaintManager$DisplayChangedHandler
-javax/swing/SwingPaintEventDispatcher
-javax/swing/UIManager$2
-com/sun/swing/internal/plaf/metal/resources/metal
-sun/util/ResourceBundleEnumeration
-com/sun/swing/internal/plaf/basic/resources/basic
-javax/swing/plaf/basic/BasicPanelUI
-javax/swing/plaf/PanelUI
-javax/swing/plaf/ComponentUI
-sun/reflect/misc/MethodUtil
-sun/reflect/misc/MethodUtil$1
-java/util/jar/JarFile
-java/util/zip/ZipFile
-java/util/zip/ZipConstants
-java/util/jar/JavaUtilJarAccessImpl
-sun/misc/JavaUtilJarAccess
-sun/misc/JarIndex
-java/util/zip/ZipEntry
-java/util/jar/JarFile$JarFileEntry
-java/util/jar/JarEntry
-sun/misc/URLClassPath$JarLoader$2
-sun/net/www/protocol/jar/JarURLConnection
-java/net/JarURLConnection
-sun/net/www/protocol/jar/JarFileFactory
-sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController
-java/net/HttpURLConnection
-sun/net/www/protocol/jar/URLJarFile
-sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry
-sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream
-java/util/zip/ZipFile$ZipFileInputStream
-java/security/AllPermissionCollection
-java/lang/IllegalAccessException
-javax/swing/JPasswordField
-javax/swing/JTextField
-javax/swing/text/JTextComponent
-javax/swing/Scrollable
-javax/swing/JLayeredPane
-javax/swing/JRootPane$1
-javax/swing/ArrayTable
-javax/swing/JInternalFrame
-javax/swing/JRootPane$RootLayout
-javax/swing/BufferStrategyPaintManager
-javax/swing/RepaintManager$PaintManager
-javax/swing/plaf/metal/MetalRootPaneUI
-javax/swing/plaf/basic/BasicRootPaneUI
-javax/swing/plaf/RootPaneUI
-javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap
-javax/swing/plaf/ComponentInputMapUIResource
-javax/swing/ComponentInputMap
-javax/swing/InputMap
-javax/swing/plaf/InputMapUIResource
-javax/swing/KeyStroke
-java/awt/VKCollection
-sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl
-javax/swing/plaf/basic/LazyActionMap
-javax/swing/plaf/ActionMapUIResource
-javax/swing/ActionMap
-javax/swing/plaf/metal/MetalLabelUI
-javax/swing/plaf/basic/BasicLabelUI
-javax/swing/plaf/LabelUI
-javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1
-java/util/Hashtable$ValueCollection
-java/util/Collections$SynchronizedCollection
-javax/swing/plaf/basic/BasicHTML
-sun/awt/AppContext$PostShutdownEventRunnable
-sun/awt/AWTAutoShutdown$1
-sun/awt/NullComponentPeer
-java/awt/GraphicsCallback$PaintCallback
-java/awt/GraphicsCallback
-sun/awt/SunGraphicsCallback
-java/util/jar/Manifest
-java/io/ByteArrayInputStream
-java/util/jar/Attributes
-java/util/jar/Manifest$FastInputStream
-sun/nio/cs/UTF_8
-sun/nio/cs/UTF_8$Decoder
-sun/nio/cs/Surrogate$Generator
-java/util/jar/Attributes$Name
-sun/misc/ASCIICaseInsensitiveComparator
-java/util/jar/JarVerifier
-java/io/ByteArrayOutputStream
-sun/misc/ExtensionDependency
-java/lang/Package
-sun/security/util/ManifestEntryVerifier
-java/security/Provider
-java/security/Provider$ServiceKey
-java/security/Provider$EngineDescription
-java/security/Security
-java/security/Security$1
-sun/misc/FloatingDecimal
-sun/misc/FloatingDecimal$1
-java/util/regex/Pattern
-java/util/regex/Pattern$Node
-java/util/regex/Pattern$LastNode
-java/util/regex/Pattern$GroupHead
-java/util/regex/Pattern$GroupTail
-java/util/regex/Pattern$BitClass
-java/util/regex/Pattern$BmpCharProperty
-java/util/regex/Pattern$CharProperty
-java/util/regex/Pattern$Ques
-java/util/regex/Pattern$BranchConn
-java/util/regex/Pattern$Branch
-java/util/regex/Pattern$5
-java/util/regex/Pattern$CharPropertyNames
-java/util/regex/Pattern$CharPropertyNames$1
-java/util/regex/Pattern$CharPropertyNames$CharPropertyFactory
-java/util/regex/Pattern$CharPropertyNames$2
-java/util/regex/Pattern$CharPropertyNames$5
-java/util/regex/Pattern$CharPropertyNames$3
-java/util/regex/Pattern$CharPropertyNames$6
-java/util/regex/Pattern$CharPropertyNames$CloneableProperty
-java/util/regex/Pattern$CharPropertyNames$4
-java/util/regex/Pattern$CharPropertyNames$7
-java/util/regex/Pattern$CharPropertyNames$8
-java/util/regex/Pattern$CharPropertyNames$9
-java/util/regex/Pattern$CharPropertyNames$10
-java/util/regex/Pattern$CharPropertyNames$11
-java/util/regex/Pattern$CharPropertyNames$12
-java/util/regex/Pattern$CharPropertyNames$13
-java/util/regex/Pattern$CharPropertyNames$14
-java/util/regex/Pattern$CharPropertyNames$15
-java/util/regex/Pattern$CharPropertyNames$16
-java/util/regex/Pattern$CharPropertyNames$17
-java/util/regex/Pattern$CharPropertyNames$18
-java/util/regex/Pattern$CharPropertyNames$19
-java/util/regex/Pattern$CharPropertyNames$20
-java/util/regex/Pattern$CharPropertyNames$21
-java/util/regex/Pattern$Ctype
-java/util/regex/Pattern$Curly
-java/util/regex/Pattern$6
-java/util/regex/Pattern$Slice
-java/util/regex/Pattern$Begin
-java/util/regex/Pattern$First
-java/util/regex/Pattern$Start
-java/util/regex/Pattern$TreeInfo
-java/lang/StrictMath
-sun/security/provider/NativePRNG
-sun/misc/BASE64Decoder
-sun/misc/CharacterDecoder
-sun/security/util/SignatureFileVerifier
-java/awt/event/KeyAdapter
-java/lang/NumberFormatException
-java/lang/IllegalArgumentException
-java/io/FileWriter
-java/net/Authenticator
-java/net/MalformedURLException
-javax/swing/text/Element
-javax/swing/text/Document
-javax/swing/text/PlainDocument
+javax/swing/plaf/synth/SynthConstants
+javax/swing/plaf/synth/SynthUI
+javax/swing/table/AbstractTableModel
+javax/swing/table/DefaultTableCellRenderer
+javax/swing/table/DefaultTableColumnModel
+javax/swing/table/DefaultTableModel
+javax/swing/table/JTableHeader
+javax/swing/table/TableCellEditor
+javax/swing/table/TableCellRenderer
+javax/swing/table/TableColumn
+javax/swing/table/TableColumnModel
+javax/swing/table/TableModel
 javax/swing/text/AbstractDocument
-javax/swing/text/GapContent
-javax/swing/text/AbstractDocument$Content
-javax/swing/text/GapVector
-javax/swing/text/GapContent$MarkVector
-javax/swing/text/GapContent$MarkData
-javax/swing/text/StyleContext
+javax/swing/text/AbstractDocument$1
+javax/swing/text/AbstractDocument$AbstractElement
 javax/swing/text/AbstractDocument$AttributeContext
-javax/swing/text/StyleConstants
-javax/swing/text/StyleConstants$CharacterConstants
-javax/swing/text/AttributeSet$CharacterAttribute
-javax/swing/text/StyleConstants$FontConstants
-javax/swing/text/AttributeSet$FontAttribute
-javax/swing/text/StyleConstants$ColorConstants
-javax/swing/text/AttributeSet$ColorAttribute
-javax/swing/text/StyleConstants$ParagraphConstants
-javax/swing/text/AttributeSet$ParagraphAttribute
-javax/swing/text/StyleContext$FontKey
-javax/swing/text/SimpleAttributeSet
-javax/swing/text/MutableAttributeSet
-javax/swing/text/AttributeSet
-javax/swing/text/SimpleAttributeSet$EmptyAttributeSet
-javax/swing/text/StyleContext$NamedStyle
-javax/swing/text/Style
-javax/swing/text/StyleContext$SmallAttributeSet
+javax/swing/text/AbstractDocument$BidiElement
 javax/swing/text/AbstractDocument$BidiRootElement
 javax/swing/text/AbstractDocument$BranchElement
-javax/swing/text/AbstractDocument$AbstractElement
-javax/swing/tree/TreeNode
-javax/swing/text/AbstractDocument$1
-javax/swing/text/AbstractDocument$BidiElement
-javax/swing/text/AbstractDocument$LeafElement
-javax/swing/text/GapContent$StickyPosition
-javax/swing/text/Position
-javax/swing/text/StyleContext$KeyEnumeration
-javax/swing/text/GapContent$InsertUndo
-javax/swing/undo/AbstractUndoableEdit
-javax/swing/undo/UndoableEdit
+javax/swing/text/AbstractDocument$Content
 javax/swing/text/AbstractDocument$DefaultDocumentEvent
-javax/swing/event/DocumentEvent
-javax/swing/undo/CompoundEdit
-javax/swing/event/DocumentEvent$EventType
-javax/swing/text/Segment
-java/text/CharacterIterator
-javax/swing/text/Utilities
-javax/swing/text/SegmentCache
-javax/swing/text/SegmentCache$CachedSegment
-javax/swing/event/UndoableEditEvent
 javax/swing/text/AbstractDocument$ElementEdit
-javax/swing/event/DocumentEvent$ElementChange
-javax/swing/JMenu
-javax/swing/MenuElement
-javax/swing/JMenuItem
-javax/swing/AbstractButton
-java/awt/ItemSelectable
-javax/swing/event/MenuListener
-javax/swing/JCheckBoxMenuItem
-javax/swing/Icon
-javax/swing/JButton
-java/net/URLClassLoader$2
-javax/swing/ImageIcon
-javax/swing/ImageIcon$1
-java/awt/MediaTracker
-sun/misc/SoftCache$ValueCell
-sun/awt/image/URLImageSource
-sun/awt/image/InputStreamImageSource
-sun/awt/image/ImageFetchable
-sun/awt/image/ToolkitImage
-sun/awt/image/NativeLibLoader
-java/awt/ImageMediaEntry
-java/awt/MediaEntry
-sun/awt/image/ImageRepresentation
-java/awt/image/ImageConsumer
-sun/awt/image/ImageWatched
-sun/awt/image/ImageWatched$Link
-sun/awt/image/ImageWatched$WeakLink
-sun/awt/image/ImageConsumerQueue
-sun/awt/image/ImageFetcher
-sun/awt/image/FetcherInfo
-sun/awt/image/ImageFetcher$1
-sun/awt/image/GifImageDecoder
-sun/awt/image/ImageDecoder
-sun/awt/image/GifFrame
-java/awt/image/Raster
-java/awt/image/DataBufferByte
-java/awt/image/DataBuffer
-java/awt/image/PixelInterleavedSampleModel
-java/awt/image/ComponentSampleModel
-java/awt/image/SampleModel
-sun/awt/image/ByteInterleavedRaster
-sun/awt/image/ByteComponentRaster
-sun/awt/image/SunWritableRaster
-java/awt/image/WritableRaster
-java/awt/image/BufferedImage
-java/awt/image/WritableRenderedImage
-java/awt/image/RenderedImage
-sun/awt/image/IntegerComponentRaster
-sun/awt/image/BytePackedRaster
-java/awt/Canvas
-sun/font/FontDesignMetrics
-sun/font/FontStrikeDesc
-sun/font/CompositeStrike
-sun/font/FontStrikeDisposer
-sun/font/StrikeCache$SoftDisposerRef
-sun/font/StrikeCache$DisposableStrike
-sun/font/TrueTypeFont$TTDisposerRecord
-sun/font/TrueTypeFont$1
-java/io/RandomAccessFile
-sun/nio/ch/FileChannelImpl
-java/nio/channels/FileChannel
-java/nio/channels/ByteChannel
-java/nio/channels/ReadableByteChannel
-java/nio/channels/Channel
-java/nio/channels/WritableByteChannel
-java/nio/channels/GatheringByteChannel
-java/nio/channels/ScatteringByteChannel
-java/nio/channels/spi/AbstractInterruptibleChannel
-java/nio/channels/InterruptibleChannel
-sun/nio/ch/Util
-sun/nio/ch/IOUtil
-sun/nio/ch/FileDispatcher
-sun/nio/ch/NativeDispatcher
-sun/nio/ch/Reflect
-java/nio/MappedByteBuffer
-sun/nio/ch/Reflect$1
-sun/nio/ch/NativeThreadSet
-java/nio/channels/spi/AbstractInterruptibleChannel$1
-sun/nio/ch/Interruptible
-sun/nio/ch/NativeThread
-sun/nio/ch/IOStatus
-sun/nio/ch/DirectBuffer
-java/nio/DirectByteBuffer
-java/nio/DirectByteBuffer$Deallocator
-sun/misc/Cleaner
-java/nio/ByteBufferAsIntBufferB
-java/nio/IntBuffer
-sun/font/TrueTypeFont$DirectoryEntry
-java/nio/ByteBufferAsShortBufferB
-java/nio/ShortBuffer
-sun/nio/cs/UTF_16
-sun/nio/cs/UTF_16$Decoder
-sun/font/FileFontStrike
-sun/font/TrueTypeGlyphMapper
-sun/font/CMap
-sun/font/CMap$NullCMapClass
-sun/font/CMap$CMapFormat4
-java/nio/ByteBufferAsCharBufferB
-sun/font/FontDesignMetrics$KeyReference
-sun/awt/image/PNGImageDecoder
-sun/awt/image/PNGFilterInputStream
-java/util/zip/InflaterInputStream
-java/util/zip/Inflater
-javax/swing/Popup$HeavyWeightWindow
-sun/awt/ModalExclude
-javax/swing/JWindow
-com/sun/java/swing/plaf/windows/WindowsPopupWindow
-java/awt/Cursor$CursorDisposer
-java/awt/AWTEvent$1
-sun/reflect/UnsafeBooleanFieldAccessorImpl
-java/awt/image/DataBufferInt
-java/awt/image/SinglePixelPackedSampleModel
-sun/awt/image/IntegerInterleavedRaster
-java/util/Date
-sun/util/calendar/CalendarSystem
-sun/awt/image/OffScreenImage
-sun/java2d/SurfaceManagerFactory
-sun/util/calendar/Gregorian
-sun/util/calendar/BaseCalendar
-sun/util/calendar/AbstractCalendar
-java/util/TimeZone
-java/lang/InheritableThreadLocal
-sun/awt/image/BufImgSurfaceData
-sun/font/CompositeGlyphMapper
-sun/util/calendar/ZoneInfo
-sun/util/calendar/ZoneInfoFile
-sun/util/calendar/ZoneInfoFile$1
-sun/java2d/loops/FontInfo
-java/util/TimeZone$1
-sun/util/calendar/Gregorian$Date
-sun/util/calendar/BaseCalendar$Date
-sun/util/calendar/CalendarDate
-sun/util/calendar/CalendarUtils
-java/util/TimeZone$DisplayNames
-sun/util/TimeZoneNameUtility
-sun/util/resources/LocaleData
-sun/util/resources/LocaleData$1
-sun/util/resources/LocaleData$LocaleDataResourceBundleControl
-sun/util/LocaleDataMetaInfo
-sun/util/resources/TimeZoneNames
-sun/util/resources/TimeZoneNamesBundle
-sun/util/resources/OpenListResourceBundle
-java/util/ResourceBundle$BundleReference
-sun/util/resources/TimeZoneNames_en
-java/util/spi/TimeZoneNameProvider
-java/util/spi/LocaleServiceProvider
-sun/util/LocaleServiceProviderPool
-sun/util/LocaleServiceProviderPool$1
-java/util/ServiceLoader
-java/util/ServiceLoader$LazyIterator
-java/util/ServiceLoader$1
-java/util/LinkedHashMap$EntryIterator
-java/net/ServerSocket
-java/net/InetAddress
-java/net/InetAddress$Cache
-java/net/InetAddress$Cache$Type
-java/net/InetAddressImplFactory
-java/net/Inet4AddressImpl
-java/net/InetAddressImpl
-java/net/InetAddress$1
-sun/net/spi/nameservice/NameService
-sun/net/util/IPAddressUtil
-java/util/regex/Matcher
-java/util/regex/MatchResult
-java/util/RandomAccessSubList
-java/util/SubList
-java/util/SubList$1
-java/util/AbstractList$ListItr
-java/net/Inet4Address
-java/net/SocksSocketImpl
-java/net/SocksConsts
-java/net/PlainSocketImpl
-java/net/SocketImpl
-java/net/SocketOptions
-java/net/InetSocketAddress
-java/net/SocketAddress
-java/util/Random
-java/util/concurrent/atomic/AtomicLong
-java/lang/InternalError
-java/io/StringReader
-java/io/FilterReader
-java/lang/reflect/Proxy
-java/lang/reflect/InvocationHandler
-java/lang/NoSuchFieldException
-java/lang/InstantiationException
-java/lang/ArrayIndexOutOfBoundsException
-java/lang/IndexOutOfBoundsException
-javax/swing/JDialog
-java/io/EOFException
-java/util/Vector$1
-javax/swing/filechooser/FileSystemView
-javax/swing/filechooser/FileSystemView$1
-javax/swing/event/SwingPropertyChangeSupport
-javax/swing/filechooser/WindowsFileSystemView
-java/util/zip/ZipFile$1
-java/util/zip/ZipFile$2
-java/util/jar/JarFile$1
-java/util/PropertyResourceBundle
-java/util/ResourceBundle$Control$1
-java/util/Hashtable$EntrySet
-java/util/Collections$SynchronizedSet
-java/lang/IllegalAccessError
-java/text/MessageFormat
-java/text/Format
-java/text/FieldPosition
-java/text/MessageFormat$Field
-java/text/Format$Field
-java/lang/CloneNotSupportedException
-sun/reflect/MethodAccessorGenerator
-sun/reflect/AccessorGenerator
-sun/reflect/ClassFileConstants
-java/lang/Void
-sun/reflect/ByteVectorFactory
-sun/reflect/ByteVectorImpl
-sun/reflect/ByteVector
-sun/reflect/ClassFileAssembler
-sun/reflect/UTF8
-sun/reflect/Label
-sun/reflect/Label$PatchInfo
-sun/reflect/MethodAccessorGenerator$1
-sun/reflect/ClassDefiner
-sun/reflect/ClassDefiner$1
-sun/reflect/BootstrapConstructorAccessorImpl
-java/awt/event/ActionListener
-javax/swing/Timer
-javax/swing/Timer$DoPostEvent
-javax/swing/TimerQueue
-javax/swing/TimerQueue$1
-javax/swing/ToolTipManager
-java/awt/event/MouseAdapter
-javax/swing/ToolTipManager$insideTimerAction
-javax/swing/ToolTipManager$outsideTimerAction
-javax/swing/ToolTipManager$stillInsideTimerAction
-sun/swing/UIAction
-javax/swing/Action
-javax/swing/ToolTipManager$MoveBeforeEnterListener
-java/awt/event/MouseMotionAdapter
-javax/swing/event/CaretListener
-javax/swing/JToolBar
-javax/swing/JSplitPane
-javax/swing/border/Border
-javax/swing/JToggleButton
-javax/swing/border/EmptyBorder
-javax/swing/border/AbstractBorder
-javax/swing/DefaultButtonModel
-javax/swing/ButtonModel
-javax/swing/AbstractButton$Handler
-javax/swing/event/ChangeListener
-java/awt/event/ItemListener
-javax/swing/plaf/metal/MetalButtonUI
-javax/swing/plaf/basic/BasicButtonUI
-javax/swing/plaf/ButtonUI
-javax/swing/plaf/metal/MetalBorders
-javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
-javax/swing/border/CompoundBorder
-javax/swing/plaf/metal/MetalBorders$ButtonBorder
-javax/swing/plaf/basic/BasicBorders$MarginBorder
-javax/swing/plaf/basic/BasicButtonListener
-java/awt/AWTEventMulticaster
-java/awt/event/AdjustmentListener
-java/awt/event/TextListener
-javax/swing/event/AncestorListener
-java/beans/VetoableChangeListener
-javax/swing/ButtonGroup
-javax/swing/JToggleButton$ToggleButtonModel
-javax/swing/plaf/metal/MetalToggleButtonUI
-javax/swing/plaf/basic/BasicToggleButtonUI
-javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder
-java/awt/CardLayout
-javax/swing/Box
-javax/swing/plaf/metal/MetalBorders$TextFieldBorder
-javax/swing/plaf/metal/MetalBorders$Flush3DBorder
-javax/swing/BoxLayout
-javax/swing/JMenuBar
-javax/swing/DefaultSingleSelectionModel
-javax/swing/SingleSelectionModel
-javax/swing/plaf/basic/BasicMenuBarUI
-javax/swing/plaf/MenuBarUI
-javax/swing/plaf/basic/DefaultMenuLayout
-javax/swing/plaf/metal/MetalBorders$MenuBarBorder
-javax/swing/plaf/basic/BasicMenuBarUI$Handler
-javax/swing/KeyboardManager
-javax/swing/event/MenuEvent
-javax/swing/JMenu$MenuChangeListener
-javax/swing/JMenuItem$MenuItemFocusListener
-javax/swing/plaf/basic/BasicMenuUI
-javax/swing/plaf/basic/BasicMenuItemUI
-javax/swing/plaf/MenuItemUI
-javax/swing/plaf/metal/MetalBorders$MenuItemBorder
-javax/swing/plaf/metal/MetalIconFactory
-javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon
-javax/swing/plaf/basic/BasicMenuUI$Handler
-javax/swing/event/MenuKeyListener
-javax/swing/plaf/basic/BasicMenuItemUI$Handler
-javax/swing/event/MenuDragMouseListener
-javax/swing/event/MouseInputListener
-javax/swing/event/ChangeEvent
-java/awt/event/ContainerEvent
-javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon
-javax/swing/JPopupMenu
-javax/swing/plaf/basic/BasicPopupMenuUI
-javax/swing/plaf/PopupMenuUI
-javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper
-java/awt/event/AWTEventListenerProxy
-java/awt/Toolkit$SelectiveAWTEventListener
-java/awt/Toolkit$ToolkitEventMulticaster
-javax/swing/plaf/basic/BasicLookAndFeel$1
-javax/swing/plaf/metal/MetalBorders$PopupMenuBorder
-javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
-javax/swing/event/PopupMenuListener
-javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener
-javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber
-javax/swing/MenuSelectionManager
-javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper
-javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1
-java/awt/event/FocusAdapter
-javax/swing/JMenu$WinListener
-java/awt/event/WindowAdapter
-javax/swing/JPopupMenu$Separator
-javax/swing/JSeparator
-javax/swing/plaf/metal/MetalPopupMenuSeparatorUI
-javax/swing/plaf/metal/MetalSeparatorUI
-javax/swing/plaf/basic/BasicSeparatorUI
-javax/swing/plaf/SeparatorUI
-javax/swing/JComboBox
-javax/swing/event/ListDataListener
-javax/swing/event/CaretEvent
-javax/swing/text/TabExpander
-javax/swing/JScrollBar
-java/awt/Adjustable
-javax/swing/event/MouseInputAdapter
-javax/swing/JScrollBar$ModelListener
-javax/swing/DefaultBoundedRangeModel
-javax/swing/BoundedRangeModel
-javax/swing/plaf/metal/MetalScrollBarUI
-javax/swing/plaf/basic/BasicScrollBarUI
-javax/swing/plaf/ScrollBarUI
-javax/swing/plaf/metal/MetalBumps
-javax/swing/plaf/metal/MetalScrollButton
-javax/swing/plaf/basic/BasicArrowButton
-javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
-javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
-javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
-javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener
-javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
-javax/swing/plaf/basic/BasicScrollBarUI$Handler
-javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
-javax/swing/CellRendererPane
-javax/swing/border/MatteBorder
-sun/font/StandardGlyphVector
-java/awt/font/GlyphVector
-sun/font/StandardGlyphVector$GlyphStrike
-sun/font/CoreMetrics
-sun/font/FontLineMetrics
-java/awt/font/LineMetrics
-javax/swing/ComboBoxModel
-javax/swing/ListModel
-javax/swing/ListCellRenderer
-javax/swing/DefaultComboBoxModel
-javax/swing/MutableComboBoxModel
-javax/swing/AbstractListModel
-javax/swing/JComboBox$1
-javax/swing/AncestorNotifier
-javax/swing/plaf/metal/MetalComboBoxUI
-javax/swing/plaf/basic/BasicComboBoxUI
-javax/swing/plaf/ComboBoxUI
-javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager
-javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager
-javax/swing/plaf/basic/BasicComboPopup
-javax/swing/plaf/basic/ComboPopup
-javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass
-javax/swing/border/LineBorder
-javax/swing/plaf/basic/BasicComboPopup$1
-javax/swing/JList
-javax/swing/DropMode
-javax/swing/DefaultListSelectionModel
-javax/swing/ListSelectionModel
-javax/swing/plaf/basic/BasicListUI
-javax/swing/plaf/ListUI
-javax/swing/plaf/basic/BasicListUI$ListTransferHandler
-javax/swing/TransferHandler
-javax/swing/TransferHandler$TransferAction
-javax/swing/DefaultListCellRenderer$UIResource
-javax/swing/DefaultListCellRenderer
-javax/swing/TransferHandler$SwingDropTarget
-java/awt/dnd/DropTargetContext
-java/awt/datatransfer/SystemFlavorMap
-java/awt/datatransfer/FlavorMap
-java/awt/datatransfer/FlavorTable
-java/awt/datatransfer/SystemFlavorMap$1
-java/net/URI
-java/net/URI$Parser
-sun/net/ProgressMonitor
-sun/net/DefaultProgressMeteringPolicy
-sun/net/ProgressMeteringPolicy
-sun/nio/cs/ISO_8859_1
-sun/nio/cs/ISO_8859_1$Decoder
-java/awt/datatransfer/SystemFlavorMap$2
-java/awt/datatransfer/MimeType
-java/io/Externalizable
-java/awt/datatransfer/MimeTypeParameterList
-sun/awt/datatransfer/DataTransferer
-java/awt/datatransfer/DataFlavor
-java/awt/datatransfer/DataFlavor$1
-sun/awt/datatransfer/DataTransferer$CharsetComparator
-sun/awt/datatransfer/DataTransferer$IndexedComparator
-sun/nio/cs/UTF_16BE
-sun/nio/cs/US_ASCII
-java/util/Collections$UnmodifiableMap
-sun/awt/datatransfer/DataTransferer$DataFlavorComparator
-java/rmi/Remote
-sun/awt/datatransfer/DataTransferer$1
-sun/awt/windows/WDataTransferer
-java/lang/Long$LongCache
-java/awt/datatransfer/Transferable
-sun/awt/datatransfer/ToolkitThreadBlockedHandler
-sun/awt/windows/WToolkitThreadBlockedHandler
-sun/awt/Mutex
-javax/swing/TransferHandler$DropHandler
-javax/swing/TransferHandler$TransferSupport
-javax/swing/plaf/basic/BasicListUI$Handler
-javax/swing/event/ListSelectionListener
-javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag
-javax/swing/plaf/basic/BasicComboPopup$Handler
-javax/swing/JScrollPane
-javax/swing/ScrollPaneConstants
-javax/swing/ScrollPaneLayout$UIResource
-javax/swing/ScrollPaneLayout
-javax/swing/JViewport
-javax/swing/ViewportLayout
-javax/swing/plaf/basic/BasicViewportUI
-javax/swing/plaf/ViewportUI
-javax/swing/JScrollPane$ScrollBar
-javax/swing/JViewport$ViewListener
-java/awt/event/ComponentAdapter
-javax/swing/plaf/metal/MetalScrollPaneUI
-javax/swing/plaf/basic/BasicScrollPaneUI
-javax/swing/plaf/ScrollPaneUI
-javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder
-javax/swing/plaf/basic/BasicScrollPaneUI$Handler
-javax/swing/plaf/metal/MetalScrollPaneUI$1
-javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource
-javax/swing/plaf/basic/BasicComboBoxRenderer
-javax/swing/plaf/metal/MetalComboBoxEditor$UIResource
-javax/swing/plaf/metal/MetalComboBoxEditor
-javax/swing/plaf/basic/BasicComboBoxEditor
-javax/swing/ComboBoxEditor
-javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField
-javax/swing/JTextField$NotifyAction
-javax/swing/text/TextAction
-javax/swing/AbstractAction
-javax/swing/text/JTextComponent$MutableCaretEvent
-javax/swing/plaf/metal/MetalTextFieldUI
-javax/swing/plaf/basic/BasicTextFieldUI
-javax/swing/plaf/basic/BasicTextUI
-javax/swing/text/ViewFactory
-javax/swing/plaf/TextUI
-javax/swing/plaf/basic/BasicTextUI$BasicCursor
+javax/swing/text/AbstractDocument$InsertStringResult
+javax/swing/text/AbstractDocument$LeafElement
+javax/swing/text/AttributeSet
+javax/swing/text/AttributeSet$CharacterAttribute
+javax/swing/text/AttributeSet$ColorAttribute
+javax/swing/text/AttributeSet$FontAttribute
+javax/swing/text/AttributeSet$ParagraphAttribute
+javax/swing/text/Caret
+javax/swing/text/DefaultCaret
+javax/swing/text/DefaultCaret$Handler
 javax/swing/text/DefaultEditorKit
-javax/swing/text/EditorKit
-javax/swing/text/DefaultEditorKit$InsertContentAction
-javax/swing/text/DefaultEditorKit$DeletePrevCharAction
-javax/swing/text/DefaultEditorKit$DeleteNextCharAction
-javax/swing/text/DefaultEditorKit$ReadOnlyAction
-javax/swing/text/DefaultEditorKit$DeleteWordAction
-javax/swing/text/DefaultEditorKit$WritableAction
-javax/swing/text/DefaultEditorKit$CutAction
-javax/swing/text/DefaultEditorKit$CopyAction
-javax/swing/text/DefaultEditorKit$PasteAction
-javax/swing/text/DefaultEditorKit$VerticalPageAction
-javax/swing/text/DefaultEditorKit$PageAction
-javax/swing/text/DefaultEditorKit$InsertBreakAction
 javax/swing/text/DefaultEditorKit$BeepAction
-javax/swing/text/DefaultEditorKit$NextVisualPositionAction
-javax/swing/text/DefaultEditorKit$BeginWordAction
-javax/swing/text/DefaultEditorKit$EndWordAction
-javax/swing/text/DefaultEditorKit$PreviousWordAction
-javax/swing/text/DefaultEditorKit$NextWordAction
-javax/swing/text/DefaultEditorKit$BeginLineAction
-javax/swing/text/DefaultEditorKit$EndLineAction
-javax/swing/text/DefaultEditorKit$BeginParagraphAction
-javax/swing/text/DefaultEditorKit$EndParagraphAction
 javax/swing/text/DefaultEditorKit$BeginAction
-javax/swing/text/DefaultEditorKit$EndAction
+javax/swing/text/DefaultEditorKit$BeginLineAction
+javax/swing/text/DefaultEditorKit$BeginParagraphAction
+javax/swing/text/DefaultEditorKit$BeginWordAction
+javax/swing/text/DefaultEditorKit$CopyAction
+javax/swing/text/DefaultEditorKit$CutAction
 javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction
+javax/swing/text/DefaultEditorKit$DeleteNextCharAction
+javax/swing/text/DefaultEditorKit$DeletePrevCharAction
+javax/swing/text/DefaultEditorKit$DeleteWordAction
+javax/swing/text/DefaultEditorKit$DumpModelAction
+javax/swing/text/DefaultEditorKit$EndAction
+javax/swing/text/DefaultEditorKit$EndLineAction
+javax/swing/text/DefaultEditorKit$EndParagraphAction
+javax/swing/text/DefaultEditorKit$EndWordAction
+javax/swing/text/DefaultEditorKit$InsertBreakAction
+javax/swing/text/DefaultEditorKit$InsertContentAction
 javax/swing/text/DefaultEditorKit$InsertTabAction
-javax/swing/text/DefaultEditorKit$SelectWordAction
+javax/swing/text/DefaultEditorKit$NextVisualPositionAction
+javax/swing/text/DefaultEditorKit$NextWordAction
+javax/swing/text/DefaultEditorKit$PageAction
+javax/swing/text/DefaultEditorKit$PasteAction
+javax/swing/text/DefaultEditorKit$PreviousWordAction
+javax/swing/text/DefaultEditorKit$ReadOnlyAction
+javax/swing/text/DefaultEditorKit$SelectAllAction
 javax/swing/text/DefaultEditorKit$SelectLineAction
 javax/swing/text/DefaultEditorKit$SelectParagraphAction
-javax/swing/text/DefaultEditorKit$SelectAllAction
-javax/swing/text/DefaultEditorKit$UnselectAction
+javax/swing/text/DefaultEditorKit$SelectWordAction
 javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction
-javax/swing/text/DefaultEditorKit$DumpModelAction
-javax/swing/plaf/basic/BasicTextUI$TextTransferHandler
-javax/swing/text/Position$Bias
-javax/swing/plaf/basic/BasicTextUI$RootView
-javax/swing/text/View
-javax/swing/plaf/basic/BasicTextUI$UpdateHandler
-javax/swing/event/DocumentListener
-javax/swing/plaf/basic/BasicTextUI$DragListener
-javax/swing/plaf/basic/BasicComboBoxEditor$UIResource
-javax/swing/plaf/basic/BasicTextUI$BasicCaret
-javax/swing/text/DefaultCaret
-javax/swing/text/Caret
-javax/swing/text/DefaultCaret$Handler
-java/awt/datatransfer/ClipboardOwner
-javax/swing/plaf/basic/BasicTextUI$BasicHighlighter
+javax/swing/text/DefaultEditorKit$UnselectAction
+javax/swing/text/DefaultEditorKit$VerticalPageAction
+javax/swing/text/DefaultEditorKit$WritableAction
 javax/swing/text/DefaultHighlighter
-javax/swing/text/LayeredHighlighter
+javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
+javax/swing/text/DefaultHighlighter$SafeDamager
+javax/swing/text/Document
+javax/swing/text/EditorKit
+javax/swing/text/Element
+javax/swing/text/FieldView
+javax/swing/text/GapContent
+javax/swing/text/GapContent$InsertUndo
+javax/swing/text/GapContent$MarkData
+javax/swing/text/GapContent$MarkVector
+javax/swing/text/GapContent$StickyPosition
+javax/swing/text/GapVector
 javax/swing/text/Highlighter
 javax/swing/text/Highlighter$Highlight
-javax/swing/text/DefaultHighlighter$DefaultHighlightPainter
-javax/swing/text/LayeredHighlighter$LayerPainter
 javax/swing/text/Highlighter$HighlightPainter
-javax/swing/text/DefaultHighlighter$SafeDamager
-javax/swing/text/FieldView
-javax/swing/text/PlainView
+javax/swing/text/JTextComponent
+javax/swing/text/JTextComponent$1
 javax/swing/text/JTextComponent$DefaultKeymap
-javax/swing/text/Keymap
-javax/swing/text/JTextComponent$KeymapWrapper
 javax/swing/text/JTextComponent$KeymapActionMap
-javax/swing/plaf/basic/BasicTextUI$FocusAction
-javax/swing/plaf/basic/BasicTextUI$TextActionWrapper
-javax/swing/JTextArea
-javax/swing/JEditorPane
-javax/swing/JTextField$ScrollRepainter
-javax/swing/plaf/metal/MetalComboBoxEditor$1
-javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder
-javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
-javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler
-javax/swing/plaf/basic/BasicComboBoxUI$Handler
-javax/swing/plaf/metal/MetalComboBoxButton
-javax/swing/plaf/metal/MetalComboBoxIcon
-javax/swing/plaf/metal/MetalComboBoxButton$1
-javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager
-javax/swing/JComboBox$KeySelectionManager
-javax/swing/JToolBar$DefaultToolBarLayout
-javax/swing/plaf/metal/MetalToolBarUI
-javax/swing/plaf/basic/BasicToolBarUI
-javax/swing/plaf/ToolBarUI
-javax/swing/plaf/metal/MetalBorders$ToolBarBorder
-javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1
-javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder
-javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder
-javax/swing/plaf/basic/BasicBorders$RadioButtonBorder
-javax/swing/plaf/basic/BasicBorders$ButtonBorder
-javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder
-javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener
-javax/swing/plaf/basic/BasicToolBarUI$DockingListener
-javax/swing/plaf/basic/BasicToolBarUI$Handler
-javax/swing/border/EtchedBorder
-javax/swing/JToolBar$Separator
-javax/swing/plaf/basic/BasicToolBarSeparatorUI
-sun/font/FontDesignMetrics$MetricsKey
-java/applet/Applet
-java/awt/Panel
-com/sun/awt/AWTUtilities
-javax/swing/KeyboardManager$ComponentKeyStrokePair
-sun/awt/im/InputMethodContext
-java/awt/im/spi/InputMethodContext
-sun/awt/im/InputContext
-sun/awt/windows/WInputMethod
-sun/awt/im/InputMethodAdapter
-java/awt/im/spi/InputMethod
-javax/swing/SizeRequirements
-javax/swing/plaf/basic/BasicGraphicsUtils
-java/awt/event/AdjustmentEvent
-java/awt/MenuBar
-java/awt/Window$1DisposeAction
-java/io/StringWriter
-java/io/UnsupportedEncodingException
-java/lang/StringCoding$StringEncoder
-java/net/UnknownHostException
-java/net/Socket
-java/nio/channels/SocketChannel
-java/nio/channels/spi/AbstractSelectableChannel
-java/nio/channels/SelectableChannel
-java/net/SocketException
-java/net/SocketImplFactory
-java/net/Proxy
-java/net/SocksSocketImpl$5
-java/net/ProxySelector
-sun/net/spi/DefaultProxySelector
-sun/net/spi/DefaultProxySelector$1
-sun/net/NetProperties
-sun/net/NetProperties$1
-sun/net/spi/DefaultProxySelector$NonProxyInfo
-java/util/regex/ASCII
-java/util/regex/Pattern$GroupCurly
-java/net/Inet6Address
-java/net/Proxy$Type
-java/net/SocketTimeoutException
-java/io/InterruptedIOException
-javax/swing/UnsupportedLookAndFeelException
-java/lang/UnsatisfiedLinkError
-javax/swing/Box$Filler
-javax/swing/JComponent$2
-sun/net/www/MimeTable
-java/net/FileNameMap
-sun/net/www/MimeTable$1
-sun/net/www/MimeEntry
-java/net/URLConnection$1
-java/text/SimpleDateFormat
-java/text/DateFormat
-java/text/DateFormat$Field
-java/util/Calendar
-java/util/GregorianCalendar
-sun/util/resources/CalendarData
-sun/util/resources/LocaleNamesBundle
-sun/util/resources/CalendarData_en
-java/text/DateFormatSymbols
-java/text/spi/DateFormatSymbolsProvider
-sun/text/resources/FormatData
-sun/text/resources/FormatData_en
-sun/text/resources/FormatData_en_US
-java/text/NumberFormat
-java/text/spi/NumberFormatProvider
-java/text/DecimalFormatSymbols
-java/text/spi/DecimalFormatSymbolsProvider
-java/util/Currency
-java/util/Currency$1
-java/util/spi/CurrencyNameProvider
-sun/util/resources/CurrencyNames
-sun/util/resources/CurrencyNames_en_US
-java/text/DecimalFormat
-java/text/DigitList
-java/math/RoundingMode
-java/text/DontCareFieldPosition
-java/text/DontCareFieldPosition$1
-java/text/Format$FieldDelegate
-javax/swing/plaf/BorderUIResource
-javax/swing/BorderFactory
-javax/swing/border/BevelBorder
-javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon
-javax/swing/plaf/metal/MetalIconFactory$FolderIcon16
-java/util/zip/ZipInputStream
-java/io/PushbackInputStream
-java/util/zip/CRC32
-java/util/zip/Checksum
-java/awt/TrayIcon
-java/lang/Thread$State
-javax/swing/SwingUtilities$SharedOwnerFrame
-javax/swing/JTable
-javax/swing/event/TableModelListener
-javax/swing/event/TableColumnModelListener
-javax/swing/event/CellEditorListener
-javax/swing/event/RowSorterListener
-java/awt/Component$BltSubRegionBufferStrategy
-sun/awt/SubRegionShowable
-java/awt/Component$BltBufferStrategy
-sun/print/PrinterGraphicsConfig
-javax/swing/JRadioButton
-java/lang/ClassFormatError
-sun/java2d/opengl/OGLGraphicsConfig
-java/awt/print/PrinterGraphics
-java/awt/PrintGraphics
-javax/swing/JTabbedPane
-javax/swing/JTabbedPane$ModelListener
-javax/swing/plaf/metal/MetalTabbedPaneUI
-javax/swing/plaf/basic/BasicTabbedPaneUI
-javax/swing/plaf/TabbedPaneUI
-javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout
-javax/swing/plaf/basic/BasicTabbedPaneUI$Handler
-sun/swing/ImageIconUIResource
-javax/swing/GrayFilter
-java/awt/image/RGBImageFilter
-java/awt/image/ImageFilter
-java/awt/image/FilteredImageSource
-org/w3c/dom/Node
-org/xml/sax/SAXException
-javax/xml/parsers/ParserConfigurationException
-org/xml/sax/EntityResolver
-java/security/NoSuchAlgorithmException
-java/security/GeneralSecurityException
-java/util/zip/GZIPInputStream
-java/util/zip/DeflaterOutputStream
-org/xml/sax/InputSource
-javax/xml/parsers/DocumentBuilderFactory
-javax/xml/parsers/FactoryFinder
-javax/xml/parsers/SecuritySupport
-javax/xml/parsers/SecuritySupport$2
-javax/xml/parsers/SecuritySupport$5
-javax/xml/parsers/SecuritySupport$1
-javax/xml/parsers/SecuritySupport$4
-javax/xml/parsers/DocumentBuilder
-org/w3c/dom/Document
-org/xml/sax/helpers/DefaultHandler
-org/xml/sax/DTDHandler
-org/xml/sax/ContentHandler
-org/xml/sax/ErrorHandler
-org/xml/sax/SAXNotSupportedException
-org/xml/sax/Locator
-org/xml/sax/SAXNotRecognizedException
-org/xml/sax/SAXParseException
-org/w3c/dom/NodeList
-org/w3c/dom/events/EventTarget
-org/w3c/dom/traversal/DocumentTraversal
-org/w3c/dom/events/DocumentEvent
-org/w3c/dom/ranges/DocumentRange
-org/w3c/dom/Entity
-org/w3c/dom/Element
-org/w3c/dom/CharacterData
-org/w3c/dom/CDATASection
-org/w3c/dom/Text
-org/xml/sax/AttributeList
-org/w3c/dom/DOMException
-org/w3c/dom/Notation
-org/w3c/dom/DocumentType
-org/w3c/dom/Attr
-org/w3c/dom/EntityReference
-org/w3c/dom/ProcessingInstruction
-org/w3c/dom/Comment
-org/w3c/dom/DocumentFragment
-org/w3c/dom/events/Event
-org/w3c/dom/events/MutationEvent
-org/w3c/dom/traversal/TreeWalker
-org/w3c/dom/ranges/Range
-org/w3c/dom/traversal/NodeIterator
-org/w3c/dom/events/EventException
-org/w3c/dom/NamedNodeMap
-java/lang/StringIndexOutOfBoundsException
-java/awt/GridLayout
-javax/swing/plaf/metal/MetalRadioButtonUI
-javax/swing/plaf/basic/BasicRadioButtonUI
-javax/swing/plaf/basic/BasicBorders
-javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon
-java/awt/event/ItemEvent
-java/awt/CardLayout$Card
-javax/swing/JCheckBox
-javax/swing/event/ListSelectionEvent
-javax/swing/plaf/metal/MetalCheckBoxUI
-javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon
-java/lang/ExceptionInInitializerError
-com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI
-javax/swing/JProgressBar
-javax/swing/JProgressBar$ModelListener
-javax/swing/plaf/metal/MetalProgressBarUI
-javax/swing/plaf/basic/BasicProgressBarUI
-javax/swing/plaf/ProgressBarUI
-javax/swing/plaf/BorderUIResource$LineBorderUIResource
-javax/swing/plaf/basic/BasicProgressBarUI$Handler
-javax/swing/tree/TreeModel
-javax/swing/table/TableCellRenderer
-javax/swing/table/JTableHeader
-javax/swing/event/TreeExpansionListener
-javax/swing/table/AbstractTableModel
-javax/swing/table/TableModel
-javax/swing/table/DefaultTableCellRenderer
-javax/swing/JTree
-javax/swing/tree/TreeSelectionModel
-javax/swing/tree/DefaultTreeCellRenderer
-javax/swing/tree/TreeCellRenderer
-javax/swing/table/TableCellEditor
-javax/swing/CellEditor
-javax/swing/JToolTip
-javax/swing/table/TableColumn
-javax/swing/table/DefaultTableColumnModel
-javax/swing/table/TableColumnModel
-javax/swing/table/DefaultTableModel
-javax/swing/event/TableModelEvent
-sun/swing/table/DefaultTableCellHeaderRenderer
-javax/swing/plaf/basic/BasicTableHeaderUI
-javax/swing/plaf/TableHeaderUI
-javax/swing/plaf/basic/BasicTableHeaderUI$1
-javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler
-javax/swing/DefaultCellEditor
-javax/swing/tree/TreeCellEditor
-javax/swing/AbstractCellEditor
-javax/swing/plaf/basic/BasicTableUI
-javax/swing/plaf/TableUI
-javax/swing/plaf/basic/BasicTableUI$TableTransferHandler
-javax/swing/plaf/basic/BasicTableUI$Handler
-javax/swing/tree/DefaultTreeSelectionModel
-javax/swing/tree/TreePath
-javax/swing/plaf/metal/MetalTreeUI
-javax/swing/plaf/basic/BasicTreeUI
-javax/swing/plaf/TreeUI
-javax/swing/plaf/basic/BasicTreeUI$Actions
-javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler
-javax/swing/plaf/metal/MetalTreeUI$LineListener
-javax/swing/plaf/basic/BasicTreeUI$Handler
-javax/swing/event/TreeModelListener
-javax/swing/event/TreeSelectionListener
-javax/swing/tree/VariableHeightLayoutCache
+javax/swing/text/JTextComponent$KeymapWrapper
+javax/swing/text/JTextComponent$MutableCaretEvent
+javax/swing/text/Keymap
+javax/swing/text/LayeredHighlighter
+javax/swing/text/LayeredHighlighter$LayerPainter
+javax/swing/text/MutableAttributeSet
+javax/swing/text/PlainDocument
+javax/swing/text/PlainView
+javax/swing/text/Position
+javax/swing/text/Position$Bias
+javax/swing/text/Segment
+javax/swing/text/SegmentCache
+javax/swing/text/SegmentCache$CachedSegment
+javax/swing/text/SimpleAttributeSet
+javax/swing/text/SimpleAttributeSet$EmptyAttributeSet
+javax/swing/text/Style
+javax/swing/text/StyleConstants
+javax/swing/text/StyleConstants$CharacterConstants
+javax/swing/text/StyleConstants$ColorConstants
+javax/swing/text/StyleConstants$FontConstants
+javax/swing/text/StyleConstants$ParagraphConstants
+javax/swing/text/StyleContext
+javax/swing/text/StyleContext$FontKey
+javax/swing/text/StyleContext$KeyEnumeration
+javax/swing/text/StyleContext$NamedStyle
+javax/swing/text/StyleContext$SmallAttributeSet
+javax/swing/text/TabExpander
+javax/swing/text/TextAction
+javax/swing/text/Utilities
+javax/swing/text/View
+javax/swing/text/ViewFactory
 javax/swing/tree/AbstractLayoutCache
-javax/swing/tree/RowMapper
-javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler
 javax/swing/tree/AbstractLayoutCache$NodeDimensions
-javax/swing/JTree$TreeModelHandler
-javax/swing/tree/VariableHeightLayoutCache$TreeStateNode
 javax/swing/tree/DefaultMutableTreeNode
-javax/swing/tree/MutableTreeNode
 javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration
-javax/swing/event/TableColumnModelEvent
-java/text/ParseException
-java/text/NumberFormat$Field
-javax/swing/event/UndoableEditListener
-javax/swing/filechooser/FileFilter
-javax/swing/tree/DefaultTreeModel
 javax/swing/tree/DefaultTreeCellEditor
 javax/swing/tree/DefaultTreeCellEditor$1
 javax/swing/tree/DefaultTreeCellEditor$DefaultTextField
-javax/swing/DefaultCellEditor$1
-javax/swing/DefaultCellEditor$EditorDelegate
 javax/swing/tree/DefaultTreeCellEditor$EditorContainer
-javax/swing/JTree$TreeSelectionRedirector
-javax/swing/event/TreeModelEvent
-javax/swing/plaf/metal/MetalSplitPaneUI
-javax/swing/plaf/basic/BasicSplitPaneUI
-javax/swing/plaf/SplitPaneUI
-javax/swing/plaf/basic/BasicSplitPaneDivider
-javax/swing/plaf/basic/BasicBorders$SplitPaneBorder
-javax/swing/plaf/metal/MetalSplitPaneDivider
-javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout
-javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler
-javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder
-javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager
-javax/swing/plaf/basic/BasicSplitPaneUI$1
-javax/swing/plaf/basic/BasicSplitPaneUI$Handler
-javax/swing/plaf/metal/MetalSplitPaneDivider$1
-javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler
-javax/swing/plaf/metal/MetalSplitPaneDivider$2
-javax/swing/border/TitledBorder
-javax/swing/plaf/basic/BasicTextAreaUI
-java/util/Collections$UnmodifiableCollection$1
-java/net/NoRouteToHostException
-java/net/BindException
+javax/swing/tree/DefaultTreeCellRenderer
+javax/swing/tree/DefaultTreeModel
+javax/swing/tree/DefaultTreeSelectionModel
+javax/swing/tree/MutableTreeNode
 javax/swing/tree/PathPlaceHolder
-javax/swing/event/TreeSelectionEvent
-javax/swing/JList$3
-javax/swing/JList$ListSelectionHandler
-javax/swing/JSlider
-javax/swing/JSlider$ModelListener
-javax/swing/plaf/metal/MetalSliderUI
-javax/swing/plaf/basic/BasicSliderUI
-javax/swing/plaf/SliderUI
-javax/swing/plaf/basic/BasicSliderUI$Actions
-javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon
-javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon
-javax/swing/plaf/basic/BasicSliderUI$TrackListener
-javax/swing/plaf/basic/BasicSliderUI$Handler
-javax/swing/plaf/basic/BasicSliderUI$ScrollListener
-javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener
-javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler
-sun/java2d/HeadlessGraphicsEnvironment
-java/util/Hashtable$KeySet
-javax/swing/DefaultListModel
-javax/swing/event/ListDataEvent
-javax/sound/sampled/DataLine
-javax/sound/sampled/Line
-javax/sound/sampled/Line$Info
-javax/sound/sampled/DataLine$Info
-javax/sound/sampled/Control$Type
-javax/sound/sampled/FloatControl$Type
-javax/sound/sampled/LineUnavailableException
-javax/sound/sampled/UnsupportedAudioFileException
-javax/swing/JRadioButtonMenuItem
-javax/swing/JMenuItem$AccessibleJMenuItem
-javax/swing/AbstractButton$AccessibleAbstractButton
-javax/accessibility/AccessibleAction
-javax/accessibility/AccessibleValue
-javax/accessibility/AccessibleText
-javax/accessibility/AccessibleExtendedComponent
-javax/accessibility/AccessibleComponent
-javax/swing/JComponent$AccessibleJComponent
-java/awt/Container$AccessibleAWTContainer
-java/awt/Component$AccessibleAWTComponent
-javax/accessibility/AccessibleRelationSet
-javax/accessibility/AccessibleState
-javax/accessibility/AccessibleBundle
-javax/swing/plaf/basic/BasicCheckBoxMenuItemUI
-javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon
-javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem
-javax/swing/plaf/basic/BasicRadioButtonMenuItemUI
-javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon
+javax/swing/tree/RowMapper
+javax/swing/tree/TreeCellEditor
+javax/swing/tree/TreeCellRenderer
+javax/swing/tree/TreeModel
+javax/swing/tree/TreeNode
+javax/swing/tree/TreePath
+javax/swing/tree/TreeSelectionModel
+javax/swing/tree/VariableHeightLayoutCache
+javax/swing/tree/VariableHeightLayoutCache$TreeStateNode
+javax/swing/undo/AbstractUndoableEdit
+javax/swing/undo/CompoundEdit
+javax/swing/undo/UndoableEdit
+javax/xml/parsers/DocumentBuilder
+javax/xml/parsers/DocumentBuilderFactory
+javax/xml/parsers/FactoryFinder
+javax/xml/parsers/FactoryFinder$1
+javax/xml/parsers/ParserConfigurationException
+javax/xml/parsers/SecuritySupport
+javax/xml/parsers/SecuritySupport$2
+javax/xml/parsers/SecuritySupport$5
+org/w3c/dom/Attr
+org/w3c/dom/CDATASection
+org/w3c/dom/CharacterData
+org/w3c/dom/Comment
+org/w3c/dom/DOMException
+org/w3c/dom/Document
+org/w3c/dom/DocumentFragment
+org/w3c/dom/DocumentType
+org/w3c/dom/Element
+org/w3c/dom/Entity
+org/w3c/dom/EntityReference
+org/w3c/dom/NamedNodeMap
+org/w3c/dom/Node
+org/w3c/dom/NodeList
+org/w3c/dom/Notation
+org/w3c/dom/ProcessingInstruction
+org/w3c/dom/Text
+org/w3c/dom/events/DocumentEvent
+org/w3c/dom/events/Event
+org/w3c/dom/events/EventException
+org/w3c/dom/events/EventTarget
+org/w3c/dom/events/MutationEvent
+org/w3c/dom/ranges/DocumentRange
+org/w3c/dom/ranges/Range
+org/w3c/dom/traversal/DocumentTraversal
+org/w3c/dom/traversal/NodeIterator
+org/w3c/dom/traversal/TreeWalker
+org/xml/sax/AttributeList
+org/xml/sax/ContentHandler
+org/xml/sax/DTDHandler
+org/xml/sax/EntityResolver
+org/xml/sax/ErrorHandler
+org/xml/sax/InputSource
+org/xml/sax/Locator
+org/xml/sax/SAXException
+org/xml/sax/SAXNotRecognizedException
+org/xml/sax/SAXNotSupportedException
+org/xml/sax/SAXParseException
+org/xml/sax/helpers/DefaultHandler
+sun/awt/AWTAccessor
+sun/awt/AWTAccessor$AWTEventAccessor
+sun/awt/AWTAccessor$ClientPropertyKeyAccessor
+sun/awt/AWTAccessor$ComponentAccessor
+sun/awt/AWTAccessor$ContainerAccessor
+sun/awt/AWTAccessor$CursorAccessor
+sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor
+sun/awt/AWTAccessor$EventQueueAccessor
+sun/awt/AWTAccessor$FrameAccessor
+sun/awt/AWTAccessor$InputEventAccessor
+sun/awt/AWTAccessor$InvocationEventAccessor
+sun/awt/AWTAccessor$KeyEventAccessor
+sun/awt/AWTAccessor$KeyboardFocusManagerAccessor
+sun/awt/AWTAccessor$SequencedEventAccessor
+sun/awt/AWTAccessor$ToolkitAccessor
+sun/awt/AWTAccessor$WindowAccessor
+sun/awt/AWTAutoShutdown
+sun/awt/AWTAutoShutdown$1
+sun/awt/AppContext
+sun/awt/AppContext$1
+sun/awt/AppContext$2
+sun/awt/AppContext$3
+sun/awt/AppContext$6
+sun/awt/AppContext$GetAppContextLock
+sun/awt/AppContext$PostShutdownEventRunnable
+sun/awt/AppContext$State
+sun/awt/CausedFocusEvent
+sun/awt/CausedFocusEvent$Cause
+sun/awt/ComponentFactory
+sun/awt/ConstrainableGraphics
+sun/awt/DisplayChangedListener
+sun/awt/EmbeddedFrame
+sun/awt/EventQueueDelegate
+sun/awt/EventQueueItem
+sun/awt/ExtendedKeyCodes
+sun/awt/FontConfiguration
+sun/awt/FontConfiguration$2
+sun/awt/FontDescriptor
+sun/awt/GlobalCursorManager
+sun/awt/GlobalCursorManager$NativeUpdater
+sun/awt/HeadlessToolkit
+sun/awt/InputMethodSupport
+sun/awt/KeyboardFocusManagerPeerImpl
+sun/awt/KeyboardFocusManagerPeerProvider
+sun/awt/LightweightFrame
+sun/awt/ModalExclude
+sun/awt/ModalityListener
+sun/awt/MostRecentKeyValue
+sun/awt/NativeLibLoader
+sun/awt/NativeLibLoader$1
+sun/awt/NullComponentPeer
+sun/awt/OSInfo
+sun/awt/OSInfo$1
+sun/awt/OSInfo$OSType
+sun/awt/OSInfo$WindowsVersion
+sun/awt/PaintEventDispatcher
+sun/awt/PeerEvent
+sun/awt/PlatformFont
+sun/awt/PostEventQueue
+sun/awt/RepaintArea
+sun/awt/RequestFocusController
+sun/awt/SubRegionShowable
+sun/awt/SunDisplayChanger
+sun/awt/SunGraphicsCallback
+sun/awt/SunHints
+sun/awt/SunHints$Key
+sun/awt/SunHints$LCDContrastKey
+sun/awt/SunHints$Value
+sun/awt/SunToolkit
+sun/awt/SunToolkit$ModalityListenerList
+sun/awt/Symbol
+sun/awt/Symbol$Encoder
+sun/awt/TimedWindowEvent
+sun/awt/Win32FontManager
+sun/awt/Win32FontManager$1
+sun/awt/Win32FontManager$2
+sun/awt/Win32GraphicsConfig
+sun/awt/Win32GraphicsDevice
+sun/awt/Win32GraphicsEnvironment
+sun/awt/WindowClosingListener
+sun/awt/WindowClosingSupport
+sun/awt/dnd/SunDragSourceContextPeer
+sun/awt/dnd/SunDropTargetEvent
+sun/awt/event/IgnorePaintEvent
+sun/awt/geom/PathConsumer2D
+sun/awt/im/ExecutableInputMethodManager
+sun/awt/im/ExecutableInputMethodManager$3
+sun/awt/im/InputContext
+sun/awt/im/InputMethodAdapter
+sun/awt/im/InputMethodContext
+sun/awt/im/InputMethodLocator
+sun/awt/im/InputMethodManager
+sun/awt/im/InputMethodWindow
+sun/awt/image/BufImgSurfaceData
+sun/awt/image/BufImgSurfaceData$ICMColorData
+sun/awt/image/BufImgSurfaceManager
+sun/awt/image/BufImgVolatileSurfaceManager
+sun/awt/image/BufferedImageDevice
+sun/awt/image/BufferedImageGraphicsConfig
+sun/awt/image/ByteComponentRaster
+sun/awt/image/ByteInterleavedRaster
+sun/awt/image/BytePackedRaster
+sun/awt/image/FetcherInfo
+sun/awt/image/GifFrame
+sun/awt/image/GifImageDecoder
+sun/awt/image/ImageConsumerQueue
+sun/awt/image/ImageDecoder
 sun/awt/image/ImageDecoder$1
-javax/swing/JTabbedPane$Page
-java/net/DatagramSocket
-java/net/MulticastSocket
-java/net/DatagramPacket
+sun/awt/image/ImageFetchable
+sun/awt/image/ImageFetcher
+sun/awt/image/ImageFetcher$1
+sun/awt/image/ImageRepresentation
+sun/awt/image/ImageWatched
+sun/awt/image/ImageWatched$Link
+sun/awt/image/ImageWatched$WeakLink
+sun/awt/image/InputStreamImageSource
+sun/awt/image/IntegerComponentRaster
+sun/awt/image/IntegerInterleavedRaster
+sun/awt/image/NativeLibLoader
+sun/awt/image/NativeLibLoader$1
+sun/awt/image/OffScreenImage
+sun/awt/image/PNGFilterInputStream
+sun/awt/image/PNGImageDecoder
+sun/awt/image/PixelConverter
+sun/awt/image/PixelConverter$Argb
+sun/awt/image/PixelConverter$ArgbBm
+sun/awt/image/PixelConverter$ArgbPre
+sun/awt/image/PixelConverter$Bgrx
+sun/awt/image/PixelConverter$ByteGray
+sun/awt/image/PixelConverter$Rgba
+sun/awt/image/PixelConverter$RgbaPre
+sun/awt/image/PixelConverter$Rgbx
+sun/awt/image/PixelConverter$Ushort4444Argb
+sun/awt/image/PixelConverter$Ushort555Rgb
+sun/awt/image/PixelConverter$Ushort555Rgbx
+sun/awt/image/PixelConverter$Ushort565Rgb
+sun/awt/image/PixelConverter$UshortGray
+sun/awt/image/PixelConverter$Xbgr
+sun/awt/image/PixelConverter$Xrgb
+sun/awt/image/SunVolatileImage
+sun/awt/image/SunWritableRaster
+sun/awt/image/SunWritableRaster$DataStealer
+sun/awt/image/SurfaceManager
+sun/awt/image/SurfaceManager$FlushableCacheData
+sun/awt/image/SurfaceManager$ImageAccessor
+sun/awt/image/SurfaceManager$ProxiedGraphicsConfig
+sun/awt/image/ToolkitImage
+sun/awt/image/URLImageSource
+sun/awt/image/VolatileSurfaceManager
+sun/awt/resources/awt
+sun/awt/util/IdentityArrayList
+sun/awt/windows/ThemeReader
+sun/awt/windows/WCanvasPeer
+sun/awt/windows/WColor
+sun/awt/windows/WComponentPeer
+sun/awt/windows/WComponentPeer$2
+sun/awt/windows/WDesktopProperties
+sun/awt/windows/WDesktopProperties$WinPlaySound
+sun/awt/windows/WFontConfiguration
+sun/awt/windows/WFontPeer
+sun/awt/windows/WFramePeer
+sun/awt/windows/WGlobalCursorManager
+sun/awt/windows/WInputMethod
+sun/awt/windows/WInputMethodDescriptor
+sun/awt/windows/WKeyboardFocusManagerPeer
+sun/awt/windows/WLabelPeer
+sun/awt/windows/WObjectPeer
+sun/awt/windows/WPanelPeer
+sun/awt/windows/WToolkit
+sun/awt/windows/WToolkit$1
+sun/awt/windows/WToolkit$2
+sun/awt/windows/WToolkit$3
+sun/awt/windows/WToolkit$3$1
+sun/awt/windows/WToolkit$ToolkitDisposer
+sun/awt/windows/WWindowPeer
+sun/awt/windows/WWindowPeer$ActiveWindowListener
+sun/awt/windows/WWindowPeer$GuiDisposedListener
+sun/awt/windows/WingDings
+sun/awt/windows/WingDings$Encoder
+sun/dc/DuctusRenderingEngine
+sun/dc/path/PathConsumer
+sun/dc/pr/PathDasher
+sun/dc/pr/PathDasher$1
+sun/dc/pr/PathStroker
+sun/dc/pr/PathStroker$1
+sun/font/AttributeValues
+sun/font/CMap
+sun/font/CMap$CMapFormat4
+sun/font/CMap$NullCMapClass
+sun/font/CharToGlyphMapper
+sun/font/CompositeFont
+sun/font/CompositeFontDescriptor
+sun/font/CompositeGlyphMapper
+sun/font/CompositeStrike
+sun/font/CoreMetrics
+sun/font/EAttribute
+sun/font/FileFont
+sun/font/FileFontStrike
+sun/font/Font2D
+sun/font/Font2DHandle
+sun/font/FontAccess
+sun/font/FontDesignMetrics
+sun/font/FontDesignMetrics$KeyReference
+sun/font/FontDesignMetrics$MetricsKey
+sun/font/FontFamily
+sun/font/FontLineMetrics
+sun/font/FontManager
+sun/font/FontManagerFactory
+sun/font/FontManagerFactory$1
+sun/font/FontManagerForSGE
+sun/font/FontManagerNativeLibrary
+sun/font/FontManagerNativeLibrary$1
+sun/font/FontScaler
+sun/font/FontStrike
+sun/font/FontStrikeDesc
+sun/font/FontStrikeDisposer
+sun/font/FontUtilities
+sun/font/FontUtilities$1
+sun/font/GlyphList
+sun/font/PhysicalFont
+sun/font/PhysicalStrike
+sun/font/StandardGlyphVector
+sun/font/StandardGlyphVector$GlyphStrike
+sun/font/StrikeCache
+sun/font/StrikeCache$1
+sun/font/StrikeCache$DisposableStrike
+sun/font/StrikeCache$SoftDisposerRef
+sun/font/StrikeMetrics
+sun/font/SunFontManager
+sun/font/SunFontManager$1
+sun/font/SunFontManager$11
+sun/font/SunFontManager$12
+sun/font/SunFontManager$2
+sun/font/SunFontManager$3
+sun/font/SunFontManager$FamilyDescription
+sun/font/SunFontManager$FontRegistrationInfo
+sun/font/SunFontManager$T1Filter
+sun/font/SunFontManager$TTFilter
+sun/font/T2KFontScaler
+sun/font/T2KFontScaler$1
+sun/font/TrueTypeFont
+sun/font/TrueTypeFont$1
+sun/font/TrueTypeFont$DirectoryEntry
+sun/font/TrueTypeFont$TTDisposerRecord
+sun/font/TrueTypeGlyphMapper
+sun/font/Type1Font
+sun/io/Win32ErrorMode
+sun/java2d/DefaultDisposerRecord
+sun/java2d/DestSurfaceProvider
+sun/java2d/Disposer
+sun/java2d/Disposer$1
+sun/java2d/Disposer$2
+sun/java2d/Disposer$PollDisposable
+sun/java2d/DisposerRecord
+sun/java2d/DisposerTarget
+sun/java2d/FontSupport
+sun/java2d/InvalidPipeException
+sun/java2d/NullSurfaceData
+sun/java2d/ScreenUpdateManager
+sun/java2d/StateTrackable
+sun/java2d/StateTrackable$State
+sun/java2d/StateTrackableDelegate
+sun/java2d/StateTrackableDelegate$2
+sun/java2d/StateTracker
+sun/java2d/StateTracker$1
+sun/java2d/StateTracker$2
+sun/java2d/SunGraphics2D
+sun/java2d/SunGraphicsEnvironment
+sun/java2d/SunGraphicsEnvironment$1
+sun/java2d/Surface
+sun/java2d/SurfaceData
+sun/java2d/SurfaceData$PixelToPgramLoopConverter
+sun/java2d/SurfaceData$PixelToShapeLoopConverter
+sun/java2d/SurfaceDataProxy
+sun/java2d/SurfaceDataProxy$1
+sun/java2d/SurfaceManagerFactory
+sun/java2d/WindowsSurfaceManagerFactory
+sun/java2d/cmm/ProfileActivator
+sun/java2d/cmm/ProfileDeferralInfo
+sun/java2d/cmm/ProfileDeferralMgr
+sun/java2d/d3d/D3DContext$D3DContextCaps
+sun/java2d/d3d/D3DGraphicsConfig
+sun/java2d/d3d/D3DGraphicsDevice
+sun/java2d/d3d/D3DGraphicsDevice$1
+sun/java2d/d3d/D3DGraphicsDevice$1Result
+sun/java2d/d3d/D3DRenderQueue
+sun/java2d/d3d/D3DRenderQueue$1
+sun/java2d/d3d/D3DScreenUpdateManager
+sun/java2d/d3d/D3DScreenUpdateManager$1
+sun/java2d/d3d/D3DScreenUpdateManager$1$1
+sun/java2d/d3d/D3DSurfaceData
+sun/java2d/d3d/D3DSurfaceData$D3DWindowSurfaceData
+sun/java2d/loops/Blit
+sun/java2d/loops/BlitBg
+sun/java2d/loops/CompositeType
+sun/java2d/loops/CustomComponent
+sun/java2d/loops/DrawGlyphList
+sun/java2d/loops/DrawGlyphListAA
+sun/java2d/loops/DrawGlyphListLCD
+sun/java2d/loops/DrawLine
+sun/java2d/loops/DrawParallelogram
+sun/java2d/loops/DrawPath
+sun/java2d/loops/DrawPolygons
+sun/java2d/loops/DrawRect
+sun/java2d/loops/FillParallelogram
+sun/java2d/loops/FillPath
+sun/java2d/loops/FillRect
+sun/java2d/loops/FillSpans
+sun/java2d/loops/FontInfo
+sun/java2d/loops/GeneralRenderer
+sun/java2d/loops/GraphicsPrimitive
+sun/java2d/loops/GraphicsPrimitiveMgr
+sun/java2d/loops/GraphicsPrimitiveMgr$1
+sun/java2d/loops/GraphicsPrimitiveMgr$2
+sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec
+sun/java2d/loops/GraphicsPrimitiveProxy
+sun/java2d/loops/MaskBlit
+sun/java2d/loops/MaskFill
+sun/java2d/loops/RenderCache
+sun/java2d/loops/RenderCache$Entry
+sun/java2d/loops/RenderLoops
+sun/java2d/loops/ScaledBlit
+sun/java2d/loops/SurfaceType
+sun/java2d/loops/TransformHelper
+sun/java2d/loops/XORComposite
+sun/java2d/opengl/OGLGraphicsConfig
+sun/java2d/opengl/WGLGraphicsConfig
+sun/java2d/pipe/AAShapePipe
+sun/java2d/pipe/AATextRenderer
+sun/java2d/pipe/AlphaColorPipe
+sun/java2d/pipe/AlphaPaintPipe
+sun/java2d/pipe/CompositePipe
+sun/java2d/pipe/DrawImage
+sun/java2d/pipe/DrawImagePipe
+sun/java2d/pipe/GeneralCompositePipe
+sun/java2d/pipe/GlyphListLoopPipe
+sun/java2d/pipe/GlyphListPipe
+sun/java2d/pipe/LCDTextRenderer
+sun/java2d/pipe/LoopBasedPipe
+sun/java2d/pipe/LoopPipe
+sun/java2d/pipe/NullPipe
+sun/java2d/pipe/OutlineTextRenderer
+sun/java2d/pipe/ParallelogramPipe
+sun/java2d/pipe/PixelDrawPipe
+sun/java2d/pipe/PixelFillPipe
+sun/java2d/pipe/PixelToParallelogramConverter
+sun/java2d/pipe/PixelToShapeConverter
+sun/java2d/pipe/Region
+sun/java2d/pipe/Region$ImmutableRegion
+sun/java2d/pipe/RegionIterator
+sun/java2d/pipe/RenderBuffer
+sun/java2d/pipe/RenderQueue
+sun/java2d/pipe/RenderingEngine
+sun/java2d/pipe/RenderingEngine$1
+sun/java2d/pipe/ShapeDrawPipe
+sun/java2d/pipe/ShapeSpanIterator
+sun/java2d/pipe/SolidTextRenderer
+sun/java2d/pipe/SpanClipRenderer
+sun/java2d/pipe/SpanIterator
+sun/java2d/pipe/SpanShapeRenderer
+sun/java2d/pipe/SpanShapeRenderer$Composite
+sun/java2d/pipe/TextPipe
+sun/java2d/pipe/TextRenderer
+sun/java2d/pipe/ValidatePipe
+sun/java2d/pipe/hw/AccelGraphicsConfig
+sun/java2d/pipe/hw/AccelSurface
+sun/java2d/pipe/hw/BufferedContextProvider
+sun/java2d/pipe/hw/ContextCapabilities
+sun/java2d/windows/GDIBlitLoops
+sun/java2d/windows/GDIRenderer
+sun/java2d/windows/GDIWindowSurfaceData
+sun/java2d/windows/WindowsFlags
+sun/java2d/windows/WindowsFlags$1
+sun/launcher/LauncherHelper
+sun/launcher/LauncherHelper$FXHelper
+sun/misc/ASCIICaseInsensitiveComparator
+sun/misc/Cleaner
+sun/misc/CompoundEnumeration
+sun/misc/ExtensionDependency
+sun/misc/FDBigInteger
+sun/misc/FileURLMapper
+sun/misc/FloatingDecimal
+sun/misc/FloatingDecimal$1
+sun/misc/FloatingDecimal$ASCIIToBinaryBuffer
+sun/misc/FloatingDecimal$ASCIIToBinaryConverter
+sun/misc/FloatingDecimal$BinaryToASCIIBuffer
+sun/misc/FloatingDecimal$BinaryToASCIIConverter
+sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer
+sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer
+sun/misc/IOUtils
+sun/misc/JarIndex
+sun/misc/JavaAWTAccess
+sun/misc/JavaIOFileDescriptorAccess
+sun/misc/JavaLangAccess
+sun/misc/JavaNetAccess
+sun/misc/JavaNioAccess
+sun/misc/JavaSecurityAccess
+sun/misc/JavaSecurityProtectionDomainAccess
+sun/misc/JavaUtilJarAccess
+sun/misc/JavaUtilZipFileAccess
+sun/misc/Launcher
+sun/misc/Launcher$AppClassLoader
+sun/misc/Launcher$AppClassLoader$1
+sun/misc/Launcher$BootClassPathHolder
+sun/misc/Launcher$BootClassPathHolder$1
+sun/misc/Launcher$ExtClassLoader
+sun/misc/Launcher$ExtClassLoader$1
+sun/misc/Launcher$Factory
+sun/misc/MetaIndex
+sun/misc/NativeSignalHandler
+sun/misc/OSEnvironment
+sun/misc/Perf
+sun/misc/Perf$GetPerfAction
+sun/misc/PerfCounter
+sun/misc/PerfCounter$CoreCounters
+sun/misc/PerfCounter$WindowsClientCounters
+sun/misc/PerformanceLogger
+sun/misc/PerformanceLogger$TimeData
+sun/misc/PostVMInitHook
+sun/misc/Resource
+sun/misc/SharedSecrets
+sun/misc/Signal
+sun/misc/SignalHandler
+sun/misc/SoftCache
+sun/misc/SoftCache$ValueCell
+sun/misc/URLClassPath
+sun/misc/URLClassPath$1
+sun/misc/URLClassPath$2
+sun/misc/URLClassPath$3
+sun/misc/URLClassPath$FileLoader
+sun/misc/URLClassPath$JarLoader
+sun/misc/URLClassPath$JarLoader$1
+sun/misc/URLClassPath$JarLoader$2
+sun/misc/URLClassPath$Loader
+sun/misc/Unsafe
+sun/misc/VM
+sun/misc/Version
+sun/net/DefaultProgressMeteringPolicy
+sun/net/InetAddressCachePolicy
 sun/net/InetAddressCachePolicy$1
-sun/security/action/GetIntegerAction
 sun/net/InetAddressCachePolicy$2
-java/net/InetAddress$CacheEntry
-java/net/DatagramSocketImpl
-java/text/Collator
-java/text/spi/CollatorProvider
-sun/text/resources/CollationData
-sun/text/resources/CollationData_en
-sun/util/EmptyListResourceBundle
-java/text/RuleBasedCollator
-java/text/CollationRules
-java/text/RBCollationTables
-java/text/RBTableBuilder
-java/text/RBCollationTables$BuildAPI
-sun/text/IntHashtable
-sun/text/UCompactIntArray
-sun/text/normalizer/NormalizerImpl
-sun/text/normalizer/ICUData
-sun/text/normalizer/NormalizerDataReader
-sun/text/normalizer/ICUBinary$Authenticate
-sun/text/normalizer/ICUBinary
-sun/text/normalizer/NormalizerImpl$FCDTrieImpl
-sun/text/normalizer/Trie$DataManipulate
-sun/text/normalizer/NormalizerImpl$NormTrieImpl
-sun/text/normalizer/NormalizerImpl$AuxTrieImpl
-sun/text/normalizer/IntTrie
-sun/text/normalizer/Trie
-sun/text/normalizer/CharTrie
-sun/text/normalizer/CharTrie$FriendAgent
-sun/text/normalizer/UnicodeSet
-sun/text/normalizer/UnicodeMatcher
-sun/text/normalizer/NormalizerImpl$DecomposeArgs
-java/text/MergeCollation
-java/text/PatternEntry$Parser
-java/text/PatternEntry
-java/text/EntryPair
-sun/text/ComposedCharIter
-sun/text/normalizer/UTF16
+sun/net/NetHooks
+sun/net/NetProperties
+sun/net/NetProperties$1
+sun/net/ProgressMeteringPolicy
+sun/net/ProgressMonitor
+sun/net/ResourceManager
+sun/net/spi/DefaultProxySelector
+sun/net/spi/DefaultProxySelector$1
+sun/net/spi/DefaultProxySelector$3
+sun/net/spi/DefaultProxySelector$NonProxyInfo
+sun/net/spi/nameservice/NameService
+sun/net/util/IPAddressUtil
+sun/net/util/URLUtil
+sun/net/www/MessageHeader
+sun/net/www/MimeEntry
+sun/net/www/MimeTable
+sun/net/www/MimeTable$1
+sun/net/www/MimeTable$DefaultInstanceHolder
+sun/net/www/MimeTable$DefaultInstanceHolder$1
+sun/net/www/ParseUtil
+sun/net/www/URLConnection
+sun/net/www/protocol/file/FileURLConnection
+sun/net/www/protocol/file/Handler
 sun/net/www/protocol/http/Handler
-java/security/SignatureException
-java/security/InvalidKeyException
-java/security/KeyException
-java/security/Signature
-java/security/SignatureSpi
-java/io/ObjectInputStream$BlockDataInputStream
-java/io/ObjectInputStream$PeekInputStream
-java/io/ObjectInputStream$HandleTable
-java/io/ObjectInputStream$HandleTable$HandleList
-java/io/ObjectInputStream$ValidationList
-sun/security/provider/DSAPublicKey
-java/security/interfaces/DSAPublicKey
-java/security/interfaces/DSAKey
-java/security/PublicKey
-java/security/Key
-sun/security/x509/X509Key
-java/io/ObjectStreamClass$Caches
-java/io/ObjectStreamClass$WeakClassKey
-java/io/ObjectStreamClass$EntryFuture
-java/io/ObjectStreamClass$2
-sun/security/x509/AlgorithmId
-sun/security/util/DerEncoder
-sun/security/util/BitArray
+sun/net/www/protocol/jar/Handler
+sun/net/www/protocol/jar/JarFileFactory
+sun/net/www/protocol/jar/JarURLConnection
+sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream
+sun/net/www/protocol/jar/URLJarFile
+sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController
+sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry
+sun/nio/ByteBuffered
+sun/nio/ch/DirectBuffer
+sun/nio/ch/FileChannelImpl
+sun/nio/ch/FileDispatcher
+sun/nio/ch/FileDispatcherImpl
+sun/nio/ch/IOStatus
+sun/nio/ch/IOUtil
+sun/nio/ch/IOUtil$1
+sun/nio/ch/Interruptible
+sun/nio/ch/NativeDispatcher
+sun/nio/ch/NativeThread
+sun/nio/ch/NativeThreadSet
+sun/nio/ch/Util
+sun/nio/ch/Util$1
+sun/nio/ch/Util$BufferCache
+sun/nio/cs/ArrayDecoder
+sun/nio/cs/ArrayEncoder
+sun/nio/cs/FastCharsetProvider
+sun/nio/cs/HistoricallyNamedCharset
+sun/nio/cs/ISO_8859_1
+sun/nio/cs/MS1252
+sun/nio/cs/SingleByte
+sun/nio/cs/SingleByte$Decoder
+sun/nio/cs/SingleByte$Encoder
+sun/nio/cs/StandardCharsets
+sun/nio/cs/StandardCharsets$Aliases
+sun/nio/cs/StandardCharsets$Cache
+sun/nio/cs/StandardCharsets$Classes
+sun/nio/cs/StreamDecoder
+sun/nio/cs/StreamEncoder
+sun/nio/cs/Surrogate
+sun/nio/cs/Surrogate$Parser
+sun/nio/cs/US_ASCII
+sun/nio/cs/UTF_16
+sun/nio/cs/UTF_16$Decoder
+sun/nio/cs/UTF_16BE
+sun/nio/cs/UTF_16LE
+sun/nio/cs/UTF_16LE$Decoder
+sun/nio/cs/UTF_16LE$Encoder
+sun/nio/cs/UTF_8
+sun/nio/cs/UTF_8$Decoder
+sun/nio/cs/UTF_8$Encoder
+sun/nio/cs/Unicode
+sun/nio/cs/UnicodeDecoder
+sun/nio/cs/UnicodeEncoder
+sun/print/PrinterGraphicsConfig
+sun/reflect/AccessorGenerator
+sun/reflect/BootstrapConstructorAccessorImpl
+sun/reflect/ByteVector
+sun/reflect/ByteVectorFactory
+sun/reflect/ByteVectorImpl
+sun/reflect/CallerSensitive
+sun/reflect/ClassDefiner
+sun/reflect/ClassDefiner$1
+sun/reflect/ClassFileAssembler
+sun/reflect/ClassFileConstants
+sun/reflect/ConstantPool
+sun/reflect/ConstructorAccessor
+sun/reflect/ConstructorAccessorImpl
+sun/reflect/DelegatingClassLoader
+sun/reflect/DelegatingConstructorAccessorImpl
+sun/reflect/DelegatingMethodAccessorImpl
+sun/reflect/FieldAccessor
+sun/reflect/FieldAccessorImpl
+sun/reflect/Label
+sun/reflect/Label$PatchInfo
+sun/reflect/LangReflectAccess
+sun/reflect/MagicAccessorImpl
+sun/reflect/MethodAccessor
+sun/reflect/MethodAccessorGenerator
+sun/reflect/MethodAccessorGenerator$1
+sun/reflect/MethodAccessorImpl
+sun/reflect/NativeConstructorAccessorImpl
+sun/reflect/NativeMethodAccessorImpl
+sun/reflect/Reflection
+sun/reflect/ReflectionFactory
+sun/reflect/ReflectionFactory$1
+sun/reflect/ReflectionFactory$GetReflectionFactoryAction
+sun/reflect/SerializationConstructorAccessorImpl
+sun/reflect/UTF8
+sun/reflect/UnsafeFieldAccessorFactory
+sun/reflect/UnsafeFieldAccessorImpl
+sun/reflect/UnsafeObjectFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl
+sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl
 sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl
-sun/security/util/DerOutputStream
-sun/security/util/DerValue
-java/io/ObjectStreamClass$FieldReflectorKey
-java/io/ObjectStreamClass$FieldReflector
-java/io/ObjectStreamClass$1
-java/io/DataOutputStream
-java/io/ObjectStreamClass$MemberSignature
-java/math/BigInteger
-java/security/interfaces/DSAParams
-java/io/ObjectStreamClass$ClassDataSlot
-java/io/ObjectStreamClass$4
-java/io/ObjectStreamClass$5
-java/security/MessageDigest
-java/security/MessageDigestSpi
+sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl
+sun/reflect/UnsafeStaticFieldAccessorImpl
+sun/reflect/annotation/AnnotationType
+sun/reflect/generics/repository/AbstractRepository
+sun/reflect/generics/repository/ClassRepository
+sun/reflect/generics/repository/GenericDeclRepository
+sun/reflect/misc/MethodUtil
+sun/reflect/misc/MethodUtil$1
+sun/reflect/misc/ReflectUtil
+sun/security/action/GetBooleanAction
+sun/security/action/GetIntegerAction
+sun/security/action/GetPropertyAction
 sun/security/jca/GetInstance
-sun/security/util/DerInputStream
-sun/security/jca/Providers
-sun/security/jca/ProviderList
-sun/security/jca/ProviderConfig
-sun/security/jca/ProviderList$3
-sun/security/jca/ProviderList$1
-sun/security/util/DerInputBuffer
-sun/security/jca/ProviderList$2
-sun/security/jca/ProviderConfig$1
-sun/security/util/ObjectIdentifier
-sun/security/jca/ProviderConfig$3
-java/security/Provider$Service
-java/security/Provider$UString
-java/security/AlgorithmParameters
-java/security/AlgorithmParametersSpi
-sun/security/provider/DSAParameters
-sun/security/provider/SHA
-sun/security/provider/DigestBase
 sun/security/jca/GetInstance$Instance
-sun/security/util/ByteArrayLexOrder
-sun/security/util/ByteArrayTagOrder
-java/security/MessageDigest$Delegate
-sun/security/provider/ByteArrayAccess
-sun/security/util/DerIndefLenConverter
-java/io/InvalidClassException
-java/io/ObjectStreamException
-java/io/ObjectInputStream$GetFieldImpl
-java/io/ObjectInputStream$GetField
-java/io/ObjectOutputStream$ReplaceTable
-sun/security/jca/ServiceId
+sun/security/jca/ProviderConfig
+sun/security/jca/ProviderConfig$2
+sun/security/jca/ProviderList
+sun/security/jca/ProviderList$1
+sun/security/jca/ProviderList$2
+sun/security/jca/ProviderList$3
 sun/security/jca/ProviderList$ServiceList
 sun/security/jca/ProviderList$ServiceList$1
-java/security/Signature$Delegate
-java/security/interfaces/DSAPrivateKey
-sun/security/provider/DSA$SHA1withDSA
+sun/security/jca/Providers
+sun/security/jca/ServiceId
+sun/security/provider/ByteArrayAccess
 sun/security/provider/DSA
-java/security/spec/DSAParameterSpec
-java/math/MutableBigInteger
-java/math/SignedMutableBigInteger
-java/awt/EventQueue$1AWTInvocationLock
-java/awt/LightweightDispatcher$2
-java/awt/Component$FlipBufferStrategy
-javax/swing/JTable$2
-javax/swing/JTable$Resizable3
-javax/swing/JTable$Resizable2
-javax/swing/JTable$5
-javax/swing/event/AncestorEvent
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel
-com/sun/java/swing/plaf/windows/XPStyle
-com/sun/java/swing/plaf/windows/XPStyle$SkinPainter
-sun/swing/CachedPainter
-sun/swing/ImageCache
-com/sun/java/swing/plaf/windows/WindowsRootPaneUI
-com/sun/java/swing/plaf/windows/WindowsRootPaneUI$AltProcessor
-java/awt/SystemColor
-com/sun/java/swing/plaf/windows/WindowsTreeUI$ExpandedIcon
-com/sun/java/swing/plaf/windows/WindowsTreeUI$CollapsedIcon
-com/sun/java/swing/plaf/windows/DesktopProperty
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$XPColorValue
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$XPValue
-com/sun/java/swing/plaf/windows/TMSchema$Part
-com/sun/java/swing/plaf/windows/TMSchema$Control
-com/sun/java/swing/plaf/windows/TMSchema$Prop
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$XPColorValue$XPColorValueKey
-com/sun/java/swing/plaf/windows/XPStyle$Skin
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$WindowsFontProperty
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$FontDesktopProperty
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$TriggerDesktopProperty
-com/sun/java/swing/plaf/windows/DesktopProperty$WeakPCL
-com/sun/java/swing/plaf/windows/WindowsClassicLookAndFeel
-com/sun/java/swing/plaf/windows/TMSchema$State
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$LazyWindowsIcon
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$XPBorderValue
-com/sun/java/swing/plaf/windows/WindowsIconFactory
-com/sun/java/swing/plaf/windows/WindowsIconFactory$FrameButtonIcon
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$XPDLUValue
-com/sun/java/swing/plaf/windows/WindowsLookAndFeel$ActiveWindowsIcon
-sun/swing/SwingUtilities2$2$1
-sun/awt/image/ByteArrayImageSource
-com/sun/java/swing/plaf/windows/resources/windows
-com/sun/java/swing/plaf/windows/WindowsLabelUI
-com/sun/java/swing/plaf/windows/WindowsButtonUI
-sun/awt/windows/ThemeReader
-java/util/EnumMap
-com/sun/java/swing/plaf/windows/TMSchema$TypeEnum
-com/sun/java/swing/plaf/windows/XPStyle$XPEmptyBorder
-com/sun/java/swing/plaf/windows/WindowsToggleButtonUI
-com/sun/java/swing/plaf/windows/XPStyle$XPFillBorder
-com/sun/java/swing/plaf/windows/WindowsMenuBarUI
-javax/swing/plaf/basic/BasicBorders$MenuBarBorder
-com/sun/java/swing/plaf/windows/WindowsMenuBarUI$TakeFocus
-javax/swing/plaf/basic/BasicMenuBarUI$Actions
-com/sun/java/swing/plaf/windows/WindowsMenuUI
-com/sun/java/swing/plaf/windows/WindowsIconFactory$MenuArrowIcon
-javax/swing/plaf/basic/BasicIconFactory
-javax/swing/plaf/basic/BasicIconFactory$MenuItemCheckIcon
-com/sun/java/swing/plaf/windows/WindowsMenuUI$WindowsMouseInputHandler
-javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler
-com/sun/java/swing/plaf/windows/WindowsMenuItemUI
-com/sun/java/swing/plaf/windows/WindowsIconFactory$MenuItemArrowIcon
-com/sun/java/swing/plaf/windows/WindowsIconFactory$MenuItemCheckIcon
-com/sun/java/swing/plaf/windows/WindowsPopupMenuUI
-javax/swing/Popup
-com/sun/java/swing/plaf/windows/WindowsPopupMenuUI$MnemonicListener
-com/sun/java/swing/plaf/windows/WindowsPopupMenuSeparatorUI
-javax/swing/plaf/basic/BasicPopupMenuSeparatorUI
-com/sun/java/swing/plaf/windows/WindowsScrollBarUI
-com/sun/java/swing/plaf/windows/WindowsScrollBarUI$Grid
-com/sun/java/swing/plaf/windows/WindowsScrollBarUI$WindowsArrowButton
-com/sun/java/swing/plaf/windows/WindowsComboBoxUI
-com/sun/java/swing/plaf/windows/WindowsComboBoxUI$1
-com/sun/java/swing/plaf/windows/WindowsComboBoxUI$2
-com/sun/java/swing/plaf/windows/XPStyle$XPStatefulFillBorder
-com/sun/java/swing/plaf/windows/WindowsComboBoxUI$WindowsComboBoxEditor
-com/sun/java/swing/plaf/windows/WindowsTextFieldUI
-com/sun/java/swing/plaf/windows/WindowsTextFieldUI$WindowsFieldCaret
-com/sun/java/swing/plaf/windows/WindowsComboBoxUI$XPComboBoxButton
-com/sun/java/swing/plaf/windows/XPStyle$GlyphButton
-com/sun/java/swing/plaf/windows/WindowsComboBoxUI$3
-com/sun/java/swing/plaf/windows/WindowsToolBarUI
-com/sun/java/swing/plaf/windows/WindowsBorders
-com/sun/java/swing/plaf/windows/WindowsBorders$ToolBarBorder
-com/sun/java/swing/plaf/windows/WindowsToolBarSeparatorUI
-com/sun/java/swing/plaf/windows/WindowsGraphicsUtils
-sun/awt/image/BufferedImageGraphicsConfig
-sun/reflect/SerializationConstructorAccessorImpl
-java/io/ObjectStreamClass$3
-java/io/ObjectOutputStream$BlockDataOutputStream
-java/io/ObjectOutputStream$HandleTable
-java/security/PrivateKey
-java/security/spec/AlgorithmParameterSpec
-sun/applet/Main
-sun/applet/AppletMessageHandler
-sun/applet/resources/MsgAppletViewer
-sun/applet/AppletSecurity
-sun/awt/AWTSecurityManager
-java/lang/SecurityManager
-java/security/DomainCombiner
-sun/applet/AppletSecurity$1
-java/lang/SecurityManager$1
-sun/net/InetAddressCachePolicy
-java/security/SecurityPermission
-java/util/PropertyPermission
-sun/applet/AppletViewer
-java/applet/AppletContext
-java/awt/print/Printable
-sun/security/util/SecurityConstants
-java/awt/AWTPermission
-java/net/NetPermission
-java/net/SocketPermission
-javax/security/auth/AuthPermission
-java/lang/Thread$1
-java/util/logging/LogManager$5
-sun/applet/StdAppletViewerFactory
-sun/applet/AppletViewerFactory
-sun/applet/AppletViewer$UserActionListener
-sun/applet/AppletViewerPanel
-sun/applet/AppletPanel
-java/applet/AppletStub
-sun/misc/MessageUtils
-sun/applet/AppletPanel$10
-java/security/Policy$1
-sun/security/provider/PolicyFile$1
-sun/security/provider/PolicyFile$3
-sun/security/util/PropertyExpander
-sun/security/provider/PolicyParser
-sun/security/util/PolicyUtil
-java/io/StreamTokenizer
-sun/security/provider/PolicyParser$GrantEntry
-sun/security/provider/PolicyParser$PermissionEntry
-sun/security/provider/PolicyFile$PolicyEntry
-sun/security/provider/PolicyParser$ParsingException
-sun/security/provider/PolicyFile$6
-sun/security/provider/PolicyFile$7
-java/net/SocketPermissionCollection
-java/util/PropertyPermissionCollection
-sun/applet/AppletPanel$9
-sun/applet/AppletClassLoader
-sun/applet/AppletThreadGroup
-sun/applet/AppContextCreator
-sun/applet/AppletPanel$1
-sun/awt/AppContext$3
-sun/awt/windows/WMenuBarPeer
-java/awt/peer/MenuBarPeer
-java/awt/peer/MenuComponentPeer
-sun/awt/windows/WMenuPeer
-java/awt/peer/MenuPeer
-java/awt/peer/MenuItemPeer
-sun/awt/windows/WMenuItemPeer
-sun/awt/windows/WMenuItemPeer$2
-sun/awt/windows/awtLocalization
-sun/awt/windows/WFontMetrics
-sun/applet/AppletViewer$1
-sun/applet/AppletViewer$1AppletEventListener
-sun/applet/AppletListener
-sun/applet/AppletEventMulticaster
-sun/awt/CausedFocusEvent
-sun/misc/Queue
-sun/misc/QueueElement
-sun/applet/AppletEvent
-sun/applet/AppletClassLoader$1
-java/net/URLClassLoader$4
-sun/applet/AppletClassLoader$2
-javax/swing/JApplet
-java/lang/ClassLoader$1
-sun/security/provider/PolicyFile$5
-java/security/PermissionsEnumerator
-java/util/Collections$1
-sun/applet/AppletPanel$11
-javax/swing/SwingHeavyWeight
-sun/applet/AppletPanel$8
-sun/applet/AppletPanel$2
-sun/applet/AppletPanel$3
-sun/applet/AppletPanel$6
-java/beans/PropertyVetoException
-javax/swing/BufferStrategyPaintManager$BufferInfo
-javax/swing/BufferStrategyPaintManager$1
-sun/java2d/opengl/WGLGraphicsConfig
-# dabe0c65d3c79925
+sun/security/provider/DSA$LegacyDSA
+sun/security/provider/DSA$SHA1withDSA
+sun/security/provider/DSAParameters
+sun/security/provider/DSAPublicKey
+sun/security/provider/DigestBase
+sun/security/provider/NativePRNG
+sun/security/provider/NativePRNG$Blocking
+sun/security/provider/NativePRNG$NonBlocking
+sun/security/provider/SHA
+sun/security/provider/Sun
+sun/security/provider/SunEntries
+sun/security/provider/SunEntries$1
+sun/security/util/ByteArrayLexOrder
+sun/security/util/ByteArrayTagOrder
+sun/security/util/Debug
+sun/security/util/DerEncoder
+sun/security/util/DerIndefLenConverter
+sun/security/util/DerInputBuffer
+sun/security/util/DerInputStream
+sun/security/util/DerOutputStream
+sun/security/util/DerValue
+sun/security/util/ManifestEntryVerifier
+sun/security/util/ObjectIdentifier
+sun/security/util/SignatureFileVerifier
+sun/security/x509/AlgorithmId
+sun/security/x509/X509Key
+sun/swing/DefaultLookup
+sun/swing/ImageIconUIResource
+sun/swing/JLightweightFrame
+sun/swing/MenuItemLayoutHelper
+sun/swing/MenuItemLayoutHelper$ColumnAlignment
+sun/swing/MenuItemLayoutHelper$LayoutResult
+sun/swing/MenuItemLayoutHelper$RectSize
+sun/swing/PrintColorUIResource
+sun/swing/StringUIClientPropertyKey
+sun/swing/SwingAccessor
+sun/swing/SwingAccessor$JTextComponentAccessor
+sun/swing/SwingLazyValue
+sun/swing/SwingLazyValue$1
+sun/swing/SwingUtilities2
+sun/swing/SwingUtilities2$2
+sun/swing/SwingUtilities2$AATextInfo
+sun/swing/SwingUtilities2$LSBCacheEntry
+sun/swing/UIAction
+sun/swing/UIClientPropertyKey
+sun/swing/table/DefaultTableCellHeaderRenderer
+sun/swing/table/DefaultTableCellHeaderRenderer$EmptyIcon
+sun/text/ComposedCharIter
+sun/text/IntHashtable
+sun/text/UCompactIntArray
+sun/text/normalizer/CharTrie
+sun/text/normalizer/CharTrie$FriendAgent
+sun/text/normalizer/ICUBinary
+sun/text/normalizer/ICUBinary$Authenticate
+sun/text/normalizer/ICUData
+sun/text/normalizer/IntTrie
+sun/text/normalizer/NormalizerDataReader
+sun/text/normalizer/NormalizerImpl
+sun/text/normalizer/NormalizerImpl$AuxTrieImpl
+sun/text/normalizer/NormalizerImpl$DecomposeArgs
+sun/text/normalizer/NormalizerImpl$FCDTrieImpl
+sun/text/normalizer/NormalizerImpl$NormTrieImpl
+sun/text/normalizer/Trie
+sun/text/normalizer/Trie$DataManipulate
+sun/text/normalizer/UTF16
+sun/text/normalizer/UnicodeMatcher
+sun/text/normalizer/UnicodeSet
+sun/text/resources/CollationData
+sun/text/resources/FormatData
+sun/text/resources/en/FormatData_en
+sun/text/resources/en/FormatData_en_US
+sun/util/CoreResourceBundleControl
+sun/util/PreHashedMap
+sun/util/ResourceBundleEnumeration
+sun/util/calendar/AbstractCalendar
+sun/util/calendar/BaseCalendar
+sun/util/calendar/BaseCalendar$Date
+sun/util/calendar/CalendarDate
+sun/util/calendar/CalendarSystem
+sun/util/calendar/CalendarUtils
+sun/util/calendar/Gregorian
+sun/util/calendar/Gregorian$Date
+sun/util/calendar/ZoneInfo
+sun/util/calendar/ZoneInfoFile
+sun/util/calendar/ZoneInfoFile$1
+sun/util/calendar/ZoneInfoFile$Checksum
+sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule
+sun/util/locale/BaseLocale
+sun/util/locale/BaseLocale$Cache
+sun/util/locale/BaseLocale$Key
+sun/util/locale/InternalLocaleBuilder
+sun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar
+sun/util/locale/LanguageTag
+sun/util/locale/LocaleObjectCache
+sun/util/locale/LocaleObjectCache$CacheEntry
+sun/util/locale/LocaleUtils
+sun/util/locale/ParseStatus
+sun/util/locale/StringTokenIterator
+sun/util/locale/provider/AuxLocaleProviderAdapter
+sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider
+sun/util/locale/provider/AvailableLanguageTags
+sun/util/locale/provider/CalendarDataProviderImpl
+sun/util/locale/provider/CalendarDataUtility
+sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter
+sun/util/locale/provider/CalendarProviderImpl
+sun/util/locale/provider/CollatorProviderImpl
+sun/util/locale/provider/CurrencyNameProviderImpl
+sun/util/locale/provider/DateFormatSymbolsProviderImpl
+sun/util/locale/provider/DecimalFormatSymbolsProviderImpl
+sun/util/locale/provider/JRELocaleProviderAdapter
+sun/util/locale/provider/JRELocaleProviderAdapter$1
+sun/util/locale/provider/LocaleDataMetaInfo
+sun/util/locale/provider/LocaleProviderAdapter
+sun/util/locale/provider/LocaleProviderAdapter$1
+sun/util/locale/provider/LocaleProviderAdapter$Type
+sun/util/locale/provider/LocaleResources
+sun/util/locale/provider/LocaleResources$ResourceReference
+sun/util/locale/provider/LocaleServiceProviderPool
+sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter
+sun/util/locale/provider/NumberFormatProviderImpl
+sun/util/locale/provider/ResourceBundleBasedAdapter
+sun/util/locale/provider/SPILocaleProviderAdapter
+sun/util/locale/provider/SPILocaleProviderAdapter$1
+sun/util/locale/provider/TimeZoneNameProviderImpl
+sun/util/locale/provider/TimeZoneNameUtility
+sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter
+sun/util/logging/LoggingProxy
+sun/util/logging/LoggingSupport
+sun/util/logging/LoggingSupport$1
+sun/util/logging/LoggingSupport$2
+sun/util/logging/PlatformLogger
+sun/util/logging/PlatformLogger$1
+sun/util/logging/PlatformLogger$DefaultLoggerProxy
+sun/util/logging/PlatformLogger$JavaLoggerProxy
+sun/util/logging/PlatformLogger$Level
+sun/util/logging/PlatformLogger$LoggerProxy
+sun/util/logging/resources/logging
+sun/util/resources/CalendarData
+sun/util/resources/CurrencyNames
+sun/util/resources/LocaleData
+sun/util/resources/LocaleData$1
+sun/util/resources/LocaleData$LocaleDataResourceBundleControl
+sun/util/resources/LocaleNamesBundle
+sun/util/resources/OpenListResourceBundle
+sun/util/resources/ParallelListResourceBundle
+sun/util/resources/ParallelListResourceBundle$KeySet
+sun/util/resources/TimeZoneNames
+sun/util/resources/TimeZoneNamesBundle
+sun/util/resources/en/CalendarData_en
+sun/util/resources/en/CurrencyNames_en_US
+sun/util/resources/en/TimeZoneNames_en
+sun/util/spi/CalendarProvider
+# 729efa63b41fc759
diff --git a/jdk/makefiles/lib/CoreLibraries.gmk b/jdk/makefiles/lib/CoreLibraries.gmk
index 29c1d5f..b773af1 100644
--- a/jdk/makefiles/lib/CoreLibraries.gmk
+++ b/jdk/makefiles/lib/CoreLibraries.gmk
@@ -115,7 +115,6 @@
 
 LIBJAVA_SRC_DIRS := $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/lang \
     $(JDK_TOPDIR)/src/share/native/java/lang \
-    $(JDK_TOPDIR)/src/share/native/java/lang/ref \
     $(JDK_TOPDIR)/src/share/native/java/lang/reflect \
     $(JDK_TOPDIR)/src/share/native/java/io \
     $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/java/io \
diff --git a/jdk/makefiles/lib/ServiceabilityLibraries.gmk b/jdk/makefiles/lib/ServiceabilityLibraries.gmk
index 0cc5ad9..d408eb3 100644
--- a/jdk/makefiles/lib/ServiceabilityLibraries.gmk
+++ b/jdk/makefiles/lib/ServiceabilityLibraries.gmk
@@ -275,19 +275,12 @@
 ##########################################################################################
 
 BUILD_LIBMANAGEMENT_SRC := $(JDK_TOPDIR)/src/share/native/sun/management \
-    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management \
-    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/com/sun/management
+    $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/native/sun/management
 
 BUILD_LIBMANAGEMENT_EXCLUDES :=
 
 BUILD_LIBMANAGEMENT_CFLAGS := -I$(JDK_TOPDIR)/src/share/native/sun/management
 
-ifneq ($(OPENJDK_TARGET_OS), windows)
-  BUILD_LIBMANAGEMENT_EXCLUDES += OperatingSystem_md.c
-else
-  BUILD_LIBMANAGEMENT_EXCLUDES += UnixOperatingSystem_md.c
-endif
-
 ifneq ($(OPENJDK_TARGET_OS), solaris)
   BUILD_LIBMANAGEMENT_EXCLUDES += SolarisOperatingSystem.c
 endif
diff --git a/jdk/makefiles/mapfiles/libjava/mapfile-vers b/jdk/makefiles/mapfiles/libjava/mapfile-vers
index 7b4d547..d2d8067 100644
--- a/jdk/makefiles/mapfiles/libjava/mapfile-vers
+++ b/jdk/makefiles/mapfiles/libjava/mapfile-vers
@@ -140,7 +140,6 @@
 		Java_java_lang_Double_doubleToRawLongBits;
 		Java_java_lang_reflect_Proxy_defineClass0;
 		Java_java_lang_Shutdown_runAllFinalizers;
-		Java_java_lang_ref_Finalizer_invokeFinalizeMethod;
 		Java_java_lang_Float_intBitsToFloat;
 		Java_java_lang_Float_floatToRawIntBits;
 		Java_java_lang_StrictMath_IEEEremainder;
diff --git a/jdk/makefiles/mapfiles/libjava/reorder-sparc b/jdk/makefiles/mapfiles/libjava/reorder-sparc
index 1657305..4a5cbf4 100644
--- a/jdk/makefiles/mapfiles/libjava/reorder-sparc
+++ b/jdk/makefiles/mapfiles/libjava/reorder-sparc
@@ -88,7 +88,6 @@
 text: .text%throwFileNotFoundException;
 text: .text%JNU_NotifyAll;
 # Test LoadFrame
-text: .text%Java_java_lang_ref_Finalizer_invokeFinalizeMethod;
 text: .text%JNU_CallMethodByName;
 text: .text%JNU_CallMethodByNameV;
 text: .text%Java_java_io_UnixFileSystem_createDirectory;
diff --git a/jdk/makefiles/mapfiles/libjava/reorder-sparcv9 b/jdk/makefiles/mapfiles/libjava/reorder-sparcv9
index fe80fca..81cbfcb 100644
--- a/jdk/makefiles/mapfiles/libjava/reorder-sparcv9
+++ b/jdk/makefiles/mapfiles/libjava/reorder-sparcv9
@@ -78,7 +78,6 @@
 text: .text%Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2Ljava_security_AccessControlContext_2;
 text: .text%JNU_GetEnv;
 text: .text%Java_java_io_UnixFileSystem_checkAccess;
-text: .text%Java_java_lang_ref_Finalizer_invokeFinalizeMethod;
 text: .text%Java_java_lang_reflect_Array_newArray;
 text: .text%Java_java_lang_Throwable_getStackTraceDepth;
 text: .text%Java_java_lang_Throwable_getStackTraceElement;
diff --git a/jdk/makefiles/mapfiles/libjava/reorder-x86 b/jdk/makefiles/mapfiles/libjava/reorder-x86
index 839ee50..1c971b8 100644
--- a/jdk/makefiles/mapfiles/libjava/reorder-x86
+++ b/jdk/makefiles/mapfiles/libjava/reorder-x86
@@ -78,7 +78,6 @@
 text: .text%JNU_GetEnv;
 text: .text%Java_java_io_UnixFileSystem_checkAccess;
 text: .text%Java_sun_reflect_NativeMethodAccessorImpl_invoke0;
-text: .text%Java_java_lang_ref_Finalizer_invokeFinalizeMethod;
 text: .text%Java_java_io_FileInputStream_available;
 text: .text%Java_java_lang_reflect_Array_newArray;
 text: .text%Java_java_lang_Throwable_getStackTraceDepth;
diff --git a/jdk/makefiles/mapfiles/libmanagement/mapfile-vers b/jdk/makefiles/mapfiles/libmanagement/mapfile-vers
index 724f7bb..218dd3e 100644
--- a/jdk/makefiles/mapfiles/libmanagement/mapfile-vers
+++ b/jdk/makefiles/mapfiles/libmanagement/mapfile-vers
@@ -27,17 +27,17 @@
 
 SUNWprivate_1.1 {
 	global:
-	    Java_com_sun_management_UnixOperatingSystem_getCommittedVirtualMemorySize;
-	    Java_com_sun_management_UnixOperatingSystem_getFreePhysicalMemorySize;
-	    Java_com_sun_management_UnixOperatingSystem_getFreeSwapSpaceSize;
-	    Java_com_sun_management_UnixOperatingSystem_getMaxFileDescriptorCount;
-	    Java_com_sun_management_UnixOperatingSystem_getOpenFileDescriptorCount;
-	    Java_com_sun_management_UnixOperatingSystem_getProcessCpuLoad;
-	    Java_com_sun_management_UnixOperatingSystem_getProcessCpuTime;
-	    Java_com_sun_management_UnixOperatingSystem_getSystemCpuLoad;
-	    Java_com_sun_management_UnixOperatingSystem_getTotalPhysicalMemorySize;
-	    Java_com_sun_management_UnixOperatingSystem_getTotalSwapSpaceSize;
-	    Java_com_sun_management_UnixOperatingSystem_initialize;
+	    Java_sun_management_OperatingSystemImpl_getCommittedVirtualMemorySize;
+	    Java_sun_management_OperatingSystemImpl_getFreePhysicalMemorySize;
+	    Java_sun_management_OperatingSystemImpl_getFreeSwapSpaceSize;
+	    Java_sun_management_OperatingSystemImpl_getMaxFileDescriptorCount;
+	    Java_sun_management_OperatingSystemImpl_getOpenFileDescriptorCount;
+	    Java_sun_management_OperatingSystemImpl_getProcessCpuLoad;
+	    Java_sun_management_OperatingSystemImpl_getProcessCpuTime;
+	    Java_sun_management_OperatingSystemImpl_getSystemCpuLoad;
+	    Java_sun_management_OperatingSystemImpl_getTotalPhysicalMemorySize;
+	    Java_sun_management_OperatingSystemImpl_getTotalSwapSpaceSize;
+	    Java_sun_management_OperatingSystemImpl_initialize;
 	    Java_sun_management_ClassLoadingImpl_setVerboseClass;
             Java_sun_management_DiagnosticCommandImpl_executeDiagnosticCommand;
             Java_sun_management_DiagnosticCommandImpl_getDiagnosticCommands;
@@ -103,6 +103,7 @@
 	    Java_sun_management_VMManagementImpl_getSafepointCount;
 	    Java_sun_management_VMManagementImpl_getSafepointSyncTime;
 	    Java_sun_management_VMManagementImpl_getStartupTime;
+	    Java_sun_management_VMManagementImpl_getUptime0;
 	    Java_sun_management_VMManagementImpl_getTotalApplicationNonStoppedTime;
 	    Java_sun_management_VMManagementImpl_getTotalClassCount;
 	    Java_sun_management_VMManagementImpl_getTotalCompileTime;
diff --git a/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java b/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java
index be4b5b7..5669d10 100644
--- a/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java
+++ b/jdk/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java
@@ -227,7 +227,7 @@
         // Exist in basic.properties (though we might want to override)
         fileDescriptionText = UIManager.getString("FileChooser.fileDescriptionText");
         directoryDescriptionText = UIManager.getString("FileChooser.directoryDescriptionText");
-        newFolderErrorText = getString("FileChooser.newFolderErrorText", "Error occured during folder creation");
+        newFolderErrorText = getString("FileChooser.newFolderErrorText", "Error occurred during folder creation");
 
         saveButtonText = UIManager.getString("FileChooser.saveButtonText");
         openButtonText = UIManager.getString("FileChooser.openButtonText");
diff --git a/jdk/src/macosx/classes/com/apple/laf/resources/aqua.properties b/jdk/src/macosx/classes/com/apple/laf/resources/aqua.properties
index 17f7a94..ac14702 100644
--- a/jdk/src/macosx/classes/com/apple/laf/resources/aqua.properties
+++ b/jdk/src/macosx/classes/com/apple/laf/resources/aqua.properties
@@ -38,7 +38,7 @@
 ############ FILE CHOOSER STRINGS #############
 FileChooser.fileDescription.textAndMnemonic=Generic File
 FileChooser.directoryDescription.textAndMnemonic=Directory
-FileChooser.newFolderError.textAndMnemonic=Error occured during folder creation
+FileChooser.newFolderError.textAndMnemonic=Error occurred during folder creation
 FileChooser.newFolderErrorSeparator= :
 FileChooser.acceptAllFileFilter.textAndMnemonic=All Files
 FileChooser.cancelButton.textAndMnemonic=Cancel
diff --git a/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java b/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java
index 96f099c..00bf1ee 100644
--- a/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java
@@ -123,7 +123,7 @@
           "The vertical position, in millimeters, where the image should be rendered on media " },
 
         { "HorizontalPixelOffset",
-          "The horizonal position, in pixels, where the image should be rendered onto a raster display" },
+          "The horizontal position, in pixels, where the image should be rendered onto a raster display" },
 
         { "VerticalPixelOffset",
           "The vertical position, in pixels, where the image should be rendered onto a raster display" },
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java
index 6dc479f..aa34952 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubBulkRequestHandler.java
@@ -111,7 +111,7 @@
             if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
                 SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpSubRequestHandler.class.getName(),
                     "run", "[" + Thread.currentThread() +
-                    "]:an Snmp error occured during the operation", x);
+                    "]:an Snmp error occurred during the operation", x);
             }
         }
         catch(Exception x) {
@@ -119,7 +119,7 @@
             if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
                 SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpSubRequestHandler.class.getName(),
                     "run", "[" + Thread.currentThread() +
-                    "]:a generic error occured during the operation", x);
+                    "]:a generic error occurred during the operation", x);
             }
         }
         if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java
index 3ff95f6..99eebaa 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubNextRequestHandler.java
@@ -127,7 +127,7 @@
             if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
                 SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpSubRequestHandler.class.getName(),
                     "run", "[" + Thread.currentThread() +
-                      "]:an Snmp error occured during the operation", x);
+                      "]:an Snmp error occurred during the operation", x);
             }
         }
         catch(Exception x) {
@@ -135,7 +135,7 @@
             if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
                 SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpSubRequestHandler.class.getName(),
                     "run", "[" + Thread.currentThread() +
-                      "]:a generic error occured during the operation", x);
+                      "]:a generic error occurred during the operation", x);
             }
         }
         if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
diff --git a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java
index 0b98131..391d528 100644
--- a/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java
+++ b/jdk/src/share/classes/com/sun/jmx/snmp/daemon/SnmpSubRequestHandler.java
@@ -231,7 +231,7 @@
             if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
                 SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpSubRequestHandler.class.getName(),
                     "run", "[" + Thread.currentThread() +
-                      "]:an Snmp error occured during the operation", x);
+                      "]:an Snmp error occurred during the operation", x);
             }
         }
         catch(Exception x) {
@@ -239,7 +239,7 @@
             if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINEST)) {
                 SNMP_ADAPTOR_LOGGER.logp(Level.FINEST, SnmpSubRequestHandler.class.getName(),
                     "run", "[" + Thread.currentThread() +
-                      "]:a generic error occured during the operation", x);
+                      "]:a generic error occurred during the operation", x);
             }
         }
         if (SNMP_ADAPTOR_LOGGER.isLoggable(Level.FINER)) {
diff --git a/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java b/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
index 7a7f693..80109fd 100644
--- a/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
+++ b/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java
@@ -541,7 +541,7 @@
         if (rowSetWriter != null) {
             Class<?> c = rowSetWriter.getClass();
             if (c != null) {
-                Class[] theInterfaces = c.getInterfaces();
+                Class<?>[] theInterfaces = c.getInterfaces();
                 for (int i = 0; i < theInterfaces.length; i++) {
                     if ((theInterfaces[i].getName()).indexOf("TransactionalWriter") > 0) {
                         tXWriter = true;
diff --git a/jdk/src/share/classes/com/sun/rowset/internal/BaseRow.java b/jdk/src/share/classes/com/sun/rowset/internal/BaseRow.java
index 814e745..dec4270 100644
--- a/jdk/src/share/classes/com/sun/rowset/internal/BaseRow.java
+++ b/jdk/src/share/classes/com/sun/rowset/internal/BaseRow.java
@@ -52,6 +52,11 @@
 public abstract class BaseRow implements Serializable, Cloneable {
 
 /**
+ * Specify the serialVersionUID
+ */
+private static final long serialVersionUID = 4152013523511412238L;
+
+/**
  * The array containing the original values for this <code>BaseRow</code>
  * object.
  * @serial
@@ -77,7 +82,7 @@
  * @param idx the index of the element to return
  * @return the <code>Object</code> value at the given index into this
  *         row's array of original values
- * @throws <code>SQLException</code> if there is an error
+ * @throws SQLException if there is an error
  */
     public abstract Object getColumnObject(int idx) throws SQLException;
 
@@ -90,7 +95,7 @@
  * @param idx the index of the element to be set
  * @param obj the <code>Object</code> to which the element at index
  *              <code>idx</code> to be set
- * @throws <code>SQLException</code> if there is an error
+ * @throws SQLException if there is an error
  */
     public abstract void setColumnObject(int idx, Object obj) throws SQLException;
 }
diff --git a/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java b/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java
index b0494c2..1b16420 100644
--- a/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java
@@ -377,7 +377,7 @@
                     env.failure("Attempt to launch main class \"" + clname + "\" failed.");
                 }
             } else {
-                env.failure("No main class specifed and no current default defined.");
+                env.failure("No main class specified and no current default defined.");
             }
         } else {
             clname = t.nextToken();
@@ -428,7 +428,7 @@
                     env.failure("Attempt to attach to port \"" + portName + "\" failed.");
                 }
             } else {
-                env.failure("No port specifed and no current default defined.");
+                env.failure("No port specified and no current default defined.");
             }
         } else {
             portName = t.nextToken();
diff --git a/jdk/src/share/classes/com/sun/tools/script/shell/init.js b/jdk/src/share/classes/com/sun/tools/script/shell/init.js
index ae2cdc4..ced3ba0 100644
--- a/jdk/src/share/classes/com/sun/tools/script/shell/init.js
+++ b/jdk/src/share/classes/com/sun/tools/script/shell/init.js
@@ -806,7 +806,7 @@
         out = arguments[2];
         break;
     default:
-        println("XSL tranform requires 2 or 3 arguments");
+        println("XSL transform requires 2 or 3 arguments");
         return;
     }
 
diff --git a/jdk/src/share/classes/com/sun/tools/script/shell/messages.properties b/jdk/src/share/classes/com/sun/tools/script/shell/messages.properties
index 9caf20e..4494f73 100644
--- a/jdk/src/share/classes/com/sun/tools/script/shell/messages.properties
+++ b/jdk/src/share/classes/com/sun/tools/script/shell/messages.properties
@@ -36,7 +36,7 @@
 	script engine for language {0} can not be found
 
 engine.info=\
-	Language {0} {1} implemention "{2}" {3}
+	Language {0} {1} implementation "{2}" {3}
 
 encoding.unsupported=\
 	encoding {0} is not supported
diff --git a/jdk/src/share/classes/java/awt/GraphicsDevice.java b/jdk/src/share/classes/java/awt/GraphicsDevice.java
index 3c9d417..d55cced 100644
--- a/jdk/src/share/classes/java/awt/GraphicsDevice.java
+++ b/jdk/src/share/classes/java/awt/GraphicsDevice.java
@@ -341,12 +341,11 @@
     }
 
     /**
-     * Returns the {@code Window} object representing the
+     * Returns the <code>Window</code> object representing the
      * full-screen window if the device is in full-screen mode.
      *
-     * @return the full-screen window, or {@code null} if the device is
-     * not in full-screen mode. The {@code Window} object can differ
-     * from the object previously set by {@code setFullScreenWindow}.
+     * @return the full-screen window, or <code>null</code> if the device is
+     * not in full-screen mode.
      * @see #setFullScreenWindow(Window)
      * @since 1.4
      */
diff --git a/jdk/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java b/jdk/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java
index 1258881..86713ad 100644
--- a/jdk/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java
+++ b/jdk/src/share/classes/java/awt/datatransfer/SystemFlavorMap.java
@@ -40,7 +40,6 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
@@ -1321,16 +1320,16 @@
     }
 
     private List<String> getAllNativesForType(String type) {
-        List<String> retval = null;
+        Set<String> retval = null;
         for (DataFlavor dataFlavor : convertMimeTypeToDataFlavors(type)) {
             List<String> natives = getFlavorToNative().get(dataFlavor);
             if (natives != null && !natives.isEmpty()) {
                 if (retval == null) {
-                    retval = new ArrayList<>();
+                    retval = new LinkedHashSet<>();
                 }
                 retval.addAll(natives);
             }
         }
-        return retval;
+        return retval == null ? null : new ArrayList<>(retval);
     }
 }
diff --git a/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java b/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
index 866d35b..f38c357 100644
--- a/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
+++ b/jdk/src/share/classes/java/beans/IndexedPropertyDescriptor.java
@@ -373,12 +373,13 @@
             if (params[0] != Integer.TYPE) {
                 throw new IntrospectionException("non int index to indexed write method");
             }
-            if (indexedPropertyType != null && indexedPropertyType != params[1]) {
+            if (indexedPropertyType == null || params[1].isAssignableFrom(indexedPropertyType)) {
+                indexedPropertyType = params[1];
+            } else if (!indexedPropertyType.isAssignableFrom(params[1])) {
                 throw new IntrospectionException(
                                                  "type mismatch between indexed read and indexed write methods: "
                                                  + getName());
             }
-            indexedPropertyType = params[1];
         }
         Class<?> propertyType = getPropertyType();
         if (propertyType != null && (!propertyType.isArray() ||
diff --git a/jdk/src/share/classes/java/beans/Introspector.java b/jdk/src/share/classes/java/beans/Introspector.java
index fc8b218..61745dd 100644
--- a/jdk/src/share/classes/java/beans/Introspector.java
+++ b/jdk/src/share/classes/java/beans/Introspector.java
@@ -684,8 +684,7 @@
                     ipd = (IndexedPropertyDescriptor)pd;
                     if (ipd.getIndexedWriteMethod() != null) {
                         if (igpd != null) {
-                            if (igpd.getIndexedPropertyType()
-                                == ipd.getIndexedPropertyType()) {
+                            if (isAssignable(igpd.getIndexedPropertyType(), ipd.getIndexedPropertyType())) {
                                 if (ispd != null) {
                                     ispd = new IndexedPropertyDescriptor(ispd, ipd);
                                 } else {
@@ -703,7 +702,7 @@
                 } else {
                     if (pd.getWriteMethod() != null) {
                         if (gpd != null) {
-                            if (gpd.getPropertyType() == pd.getPropertyType()) {
+                            if (isAssignable(gpd.getPropertyType(), pd.getPropertyType())) {
                                 if (spd != null) {
                                     spd = new PropertyDescriptor(spd, pd);
                                 } else {
@@ -806,6 +805,10 @@
         }
     }
 
+    private static boolean isAssignable(Class<?> current, Class<?> candidate) {
+        return current == null ? candidate == null : current.isAssignableFrom(candidate);
+    }
+
     /**
      * Adds the property descriptor to the indexedproperty descriptor only if the
      * types are the same.
diff --git a/jdk/src/share/classes/java/io/DataInput.java b/jdk/src/share/classes/java/io/DataInput.java
index c61aeb5..3e0f0dd 100644
--- a/jdk/src/share/classes/java/io/DataInput.java
+++ b/jdk/src/share/classes/java/io/DataInput.java
@@ -444,7 +444,7 @@
      * a {@code double} value. It does this
      * by first constructing a {@code long}
      * value in exactly the manner
-     * of the {@code readlong}
+     * of the {@code readLong}
      * method, then converting this {@code long}
      * value to a {@code double} in exactly
      * the manner of the method {@code Double.longBitsToDouble}.
diff --git a/jdk/src/share/classes/java/io/ObjectOutputStream.java b/jdk/src/share/classes/java/io/ObjectOutputStream.java
index c851b3a..612bb4e 100644
--- a/jdk/src/share/classes/java/io/ObjectOutputStream.java
+++ b/jdk/src/share/classes/java/io/ObjectOutputStream.java
@@ -1248,7 +1248,7 @@
         handles.assign(unshared ? null : desc);
 
         Class<?> cl = desc.forClass();
-        Class[] ifaces = cl.getInterfaces();
+        Class<?>[] ifaces = cl.getInterfaces();
         bout.writeInt(ifaces.length);
         for (int i = 0; i < ifaces.length; i++) {
             bout.writeUTF(ifaces[i].getName());
diff --git a/jdk/src/share/classes/java/io/ObjectStreamClass.java b/jdk/src/share/classes/java/io/ObjectStreamClass.java
index 04873c8..5667690 100644
--- a/jdk/src/share/classes/java/io/ObjectStreamClass.java
+++ b/jdk/src/share/classes/java/io/ObjectStreamClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1746,7 +1746,7 @@
                 dout.writeUTF("()V");
             }
 
-            Constructor[] cons = cl.getDeclaredConstructors();
+            Constructor<?>[] cons = cl.getDeclaredConstructors();
             MemberSignature[] consSigs = new MemberSignature[cons.length];
             for (int i = 0; i < cons.length; i++) {
                 consSigs[i] = new MemberSignature(cons[i]);
diff --git a/jdk/src/share/classes/java/lang/String.java b/jdk/src/share/classes/java/lang/String.java
index 9223c0a..e0a73d5 100644
--- a/jdk/src/share/classes/java/lang/String.java
+++ b/jdk/src/share/classes/java/lang/String.java
@@ -122,14 +122,9 @@
     /**
      * Class String is special cased within the Serialization Stream Protocol.
      *
-     * A String instance is written initially into an ObjectOutputStream in the
-     * following format:
-     * <pre>
-     *      {@code TC_STRING} (utf String)
-     * </pre>
-     * The String is written by method {@code DataOutput.writeUTF}.
-     * A new handle is generated to  refer to all future references to the
-     * string instance within the stream.
+     * A String instance is written into an ObjectOutputStream according to
+     * <a href="{@docroot}../platform/serialization/spec/output.html">
+     * Object Serialization Specification, Section 6.2, "Stream Elements"</a>
      */
     private static final ObjectStreamField[] serialPersistentFields =
         new ObjectStreamField[0];
@@ -2242,6 +2237,11 @@
      * expression does not match any part of the input then the resulting array
      * has just one element, namely this string.
      *
+     * <p> When there is a positive-width match at the beginning of this
+     * string then an empty leading substring is included at the beginning
+     * of the resulting array. A zero-width match at the beginning however
+     * never produces such empty leading substring.
+     *
      * <p> The {@code limit} parameter controls the number of times the
      * pattern is applied and therefore affects the length of the resulting
      * array.  If the limit <i>n</i> is greater than zero then the pattern
diff --git a/jdk/src/share/classes/java/lang/System.java b/jdk/src/share/classes/java/lang/System.java
index f68a540..69d1d0f 100644
--- a/jdk/src/share/classes/java/lang/System.java
+++ b/jdk/src/share/classes/java/lang/System.java
@@ -1263,6 +1263,9 @@
             public Thread newThreadWithAcc(Runnable target, AccessControlContext acc) {
                 return new Thread(target, acc);
             }
+            public void invokeFinalize(Object o) throws Throwable {
+                o.finalize();
+            }
         });
     }
 }
diff --git a/jdk/src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java b/jdk/src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
index a85c505..2fc8618 100644
--- a/jdk/src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
+++ b/jdk/src/share/classes/java/lang/invoke/InnerClassLambdaMetafactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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,7 +51,7 @@
 /* package */ final class InnerClassLambdaMetafactory extends AbstractValidatingLambdaMetafactory {
     private static final Unsafe UNSAFE = Unsafe.getUnsafe();
 
-    private static final int CLASSFILE_VERSION = 51;
+    private static final int CLASSFILE_VERSION = 52;
     private static final String METHOD_DESCRIPTOR_VOID = Type.getMethodDescriptor(Type.VOID_TYPE);
     private static final String JAVA_LANG_OBJECT = "java/lang/Object";
     private static final String NAME_CTOR = "<init>";
@@ -465,7 +465,9 @@
             convertArgumentTypes(methodType);
 
             // Invoke the method we want to forward to
-            visitMethodInsn(invocationOpcode(), implMethodClassName, implMethodName, implMethodDesc);
+            visitMethodInsn(invocationOpcode(), implMethodClassName,
+                            implMethodName, implMethodDesc,
+                            implDefiningClass.isInterface());
 
             // Convert the return value (if any) and return it
             // Note: if adapting from non-void to void, the 'return'
diff --git a/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java b/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
index 639b362..5a3ee42 100644
--- a/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
+++ b/jdk/src/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java
@@ -275,7 +275,7 @@
      */
     private void classFilePrologue() {
         cw = new ClassWriter(ClassWriter.COMPUTE_MAXS + ClassWriter.COMPUTE_FRAMES);
-        cw.visit(Opcodes.V1_6, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL + Opcodes.ACC_SUPER, className, null, superName, null);
+        cw.visit(Opcodes.V1_8, Opcodes.ACC_PUBLIC + Opcodes.ACC_FINAL + Opcodes.ACC_SUPER, className, null, superName, null);
         cw.visitSource(sourceFile, null);
 
         String invokerDesc = invokerType.toMethodDescriptorString();
@@ -646,7 +646,8 @@
         // invocation
         if (member.isMethod()) {
             mtype = member.getMethodType().toMethodDescriptorString();
-            mv.visitMethodInsn(refKindOpcode(refKind), cname, mname, mtype);
+            mv.visitMethodInsn(refKindOpcode(refKind), cname, mname, mtype,
+                               member.getDeclaringClass().isInterface());
         } else {
             mtype = MethodType.toFieldDescriptorString(member.getFieldType());
             mv.visitFieldInsn(refKindOpcode(refKind), cname, mname, mtype);
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java b/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
index 0d6ed2d..eca236c 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodHandleImpl.java
@@ -744,8 +744,11 @@
             MethodHandle ginvoker = GuardWithCatch.INVOKES[nargs].bindReceiver(gguard);
             return makePairwiseConvert(ginvoker, type, 2);
         } else {
+            target = target.asType(type.changeReturnType(Object.class));
             MethodHandle gtarget = makeSpreadArguments(target, Object[].class, 0, nargs);
-            catcher = catcher.asType(ctype.changeParameterType(0, Throwable.class));
+            MethodType catcherType = ctype.changeParameterType(0, Throwable.class)
+                                          .changeReturnType(Object.class);
+            catcher = catcher.asType(catcherType);
             MethodHandle gcatcher = makeSpreadArguments(catcher, Object[].class, 1, nargs);
             GuardWithCatch gguard = new GuardWithCatch(gtarget, exType, gcatcher);
             if (gtarget == null || gcatcher == null)  throw new InternalError();
diff --git a/jdk/src/share/classes/java/lang/invoke/MethodType.java b/jdk/src/share/classes/java/lang/invoke/MethodType.java
index cfef437..214ca6c 100644
--- a/jdk/src/share/classes/java/lang/invoke/MethodType.java
+++ b/jdk/src/share/classes/java/lang/invoke/MethodType.java
@@ -32,6 +32,7 @@
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
+import java.util.Objects;
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.ConcurrentHashMap;
 import sun.invoke.util.BytecodeDescriptor;
@@ -98,14 +99,26 @@
     private @Stable MethodTypeForm form; // erased form, plus cached data about primitives
     private @Stable MethodType wrapAlt;  // alternative wrapped/unwrapped version
     private @Stable Invokers invokers;   // cache of handy higher-order adapters
+    private @Stable String methodDescriptor;  // cache for toMethodDescriptorString
 
     /**
      * Check the given parameters for validity and store them into the final fields.
      */
-    private MethodType(Class<?> rtype, Class<?>[] ptypes) {
+    private MethodType(Class<?> rtype, Class<?>[] ptypes, boolean trusted) {
         checkRtype(rtype);
         checkPtypes(ptypes);
         this.rtype = rtype;
+        // defensively copy the array passed in by the user
+        this.ptypes = trusted ? ptypes : Arrays.copyOf(ptypes, ptypes.length);
+    }
+
+    /**
+     * Construct a temporary unchecked instance of MethodType for use only as a key to the intern table.
+     * Does not check the given parameters for validity, and must be discarded after it is used as a searching key.
+     * The parameters are reversed for this constructor, so that is is not accidentally used.
+     */
+    private MethodType(Class<?>[] ptypes, Class<?> rtype) {
+        this.rtype = rtype;
         this.ptypes = ptypes;
     }
 
@@ -146,20 +159,21 @@
     /*non-public*/ static final int MAX_MH_INVOKER_ARITY = MAX_MH_ARITY-1;  // deduct one more for invoker
 
     private static void checkRtype(Class<?> rtype) {
-        rtype.equals(rtype);  // null check
+        Objects.requireNonNull(rtype);
     }
-    private static int checkPtype(Class<?> ptype) {
-        ptype.getClass();  //NPE
+    private static void checkPtype(Class<?> ptype) {
+        Objects.requireNonNull(ptype);
         if (ptype == void.class)
             throw newIllegalArgumentException("parameter type cannot be void");
-        if (ptype == double.class || ptype == long.class)  return 1;
-        return 0;
     }
     /** Return number of extra slots (count of long/double args). */
     private static int checkPtypes(Class<?>[] ptypes) {
         int slots = 0;
         for (Class<?> ptype : ptypes) {
-            slots += checkPtype(ptype);
+            checkPtype(ptype);
+            if (ptype == double.class || ptype == long.class) {
+                slots++;
+            }
         }
         checkSlotCount(ptypes.length + slots);
         return slots;
@@ -284,20 +298,16 @@
      */
     /*trusted*/ static
     MethodType makeImpl(Class<?> rtype, Class<?>[] ptypes, boolean trusted) {
+        MethodType mt = internTable.get(new MethodType(ptypes, rtype));
+        if (mt != null)
+            return mt;
         if (ptypes.length == 0) {
             ptypes = NO_PTYPES; trusted = true;
         }
-        MethodType mt1 = new MethodType(rtype, ptypes);
-        MethodType mt0 = internTable.get(mt1);
-        if (mt0 != null)
-            return mt0;
-        if (!trusted)
-            // defensively copy the array passed in by the user
-            mt1 = new MethodType(rtype, ptypes.clone());
+        mt = new MethodType(rtype, ptypes, trusted);
         // promote the object to the Real Thing, and reprobe
-        MethodTypeForm form = MethodTypeForm.findForm(mt1);
-        mt1.form = form;
-        return internTable.add(mt1);
+        mt.form = MethodTypeForm.findForm(mt);
+        return internTable.add(mt);
     }
     private static final MethodType[] objectOnlyTypes = new MethodType[20];
 
@@ -919,7 +929,12 @@
      * @return the bytecode type descriptor representation
      */
     public String toMethodDescriptorString() {
-        return BytecodeDescriptor.unparse(this);
+        String desc = methodDescriptor;
+        if (desc == null) {
+            desc = BytecodeDescriptor.unparse(this);
+            methodDescriptor = desc;
+        }
+        return desc;
     }
 
     /*non-public*/ static String toFieldDescriptorString(Class<?> cls) {
diff --git a/jdk/src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java b/jdk/src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java
index f65049d..5d8e1bf 100644
--- a/jdk/src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java
+++ b/jdk/src/share/classes/java/lang/invoke/TypeConvertingMethodAdapter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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,7 @@
 class TypeConvertingMethodAdapter extends MethodVisitor {
 
     TypeConvertingMethodAdapter(MethodVisitor mv) {
-        super(Opcodes.ASM4, mv);
+        super(Opcodes.ASM5, mv);
     }
 
     private static final int NUM_WRAPPERS = Wrapper.values().length;
diff --git a/jdk/src/share/classes/java/lang/ref/Finalizer.java b/jdk/src/share/classes/java/lang/ref/Finalizer.java
index 2be6466..f37b3e7 100644
--- a/jdk/src/share/classes/java/lang/ref/Finalizer.java
+++ b/jdk/src/share/classes/java/lang/ref/Finalizer.java
@@ -27,17 +27,14 @@
 
 import java.security.PrivilegedAction;
 import java.security.AccessController;
-
+import sun.misc.JavaLangAccess;
+import sun.misc.SharedSecrets;
+import sun.misc.VM;
 
 final class Finalizer extends FinalReference<Object> { /* Package-private; must be in
                                                           same package as the Reference
                                                           class */
 
-    /* A native method that invokes an arbitrary object's finalize method is
-       required since the finalize method is protected
-     */
-    static native void invokeFinalizeMethod(Object o) throws Throwable;
-
     private static ReferenceQueue<Object> queue = new ReferenceQueue<>();
     private static Finalizer unfinalized = null;
     private static final Object lock = new Object();
@@ -90,7 +87,7 @@
         new Finalizer(finalizee);
     }
 
-    private void runFinalizer() {
+    private void runFinalizer(JavaLangAccess jla) {
         synchronized (this) {
             if (hasBeenFinalized()) return;
             remove();
@@ -98,7 +95,8 @@
         try {
             Object finalizee = this.get();
             if (finalizee != null && !(finalizee instanceof java.lang.Enum)) {
-                invokeFinalizeMethod(finalizee);
+                jla.invokeFinalize(finalizee);
+
                 /* Clear stack slot containing this variable, to decrease
                    the chances of false retention with a conservative GC */
                 finalizee = null;
@@ -141,16 +139,21 @@
 
     /* Called by Runtime.runFinalization() */
     static void runFinalization() {
+        if (!VM.isBooted()) {
+            return;
+        }
+
         forkSecondaryFinalizer(new Runnable() {
             private volatile boolean running;
             public void run() {
                 if (running)
                     return;
+                final JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
                 running = true;
                 for (;;) {
                     Finalizer f = (Finalizer)queue.poll();
                     if (f == null) break;
-                    f.runFinalizer();
+                    f.runFinalizer(jla);
                 }
             }
         });
@@ -158,11 +161,16 @@
 
     /* Invoked by java.lang.Shutdown */
     static void runAllFinalizers() {
+        if (!VM.isBooted()) {
+            return;
+        }
+
         forkSecondaryFinalizer(new Runnable() {
             private volatile boolean running;
             public void run() {
                 if (running)
                     return;
+                final JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
                 running = true;
                 for (;;) {
                     Finalizer f;
@@ -171,7 +179,7 @@
                         if (f == null) break;
                         unfinalized = f.next;
                     }
-                    f.runFinalizer();
+                    f.runFinalizer(jla);
                 }}});
     }
 
@@ -183,13 +191,25 @@
         public void run() {
             if (running)
                 return;
+
+            // Finalizer thread starts before System.initializeSystemClass
+            // is called.  Wait until JavaLangAccess is available
+            while (!VM.isBooted()) {
+                // delay until VM completes initialization
+                try {
+                    VM.awaitBooted();
+                } catch (InterruptedException x) {
+                    // ignore and continue
+                }
+            }
+            final JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
             running = true;
             for (;;) {
                 try {
                     Finalizer f = (Finalizer)queue.remove();
-                    f.runFinalizer();
+                    f.runFinalizer(jla);
                 } catch (InterruptedException x) {
-                    continue;
+                    // ignore and continue
                 }
             }
         }
diff --git a/jdk/src/share/classes/java/lang/reflect/Executable.java b/jdk/src/share/classes/java/lang/reflect/Executable.java
index d033e7e..9566570 100644
--- a/jdk/src/share/classes/java/lang/reflect/Executable.java
+++ b/jdk/src/share/classes/java/lang/reflect/Executable.java
@@ -240,6 +240,7 @@
      * declared or implicitly declared or neither) for the executable
      * represented by this object.
      *
+     * @since 1.8
      * @return The number of formal parameters for the executable this
      * object represents
      */
@@ -290,6 +291,7 @@
      * have unique names, or names that are legal identifiers in the
      * Java programming language (JLS 3.8).
      *
+     * @since 1.8
      * @throws MalformedParametersException if the class file contains
      * a MethodParameters attribute that is improperly formatted.
      * @return an array of {@code Parameter} objects representing all
diff --git a/jdk/src/share/classes/java/lang/reflect/Proxy.java b/jdk/src/share/classes/java/lang/reflect/Proxy.java
index f2e4eda..20e62b6 100644
--- a/jdk/src/share/classes/java/lang/reflect/Proxy.java
+++ b/jdk/src/share/classes/java/lang/reflect/Proxy.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -494,9 +494,10 @@
         private final int hash;
         private final WeakReference<Class<?>>[] refs;
 
+        @SuppressWarnings("unchecked")
         KeyX(Class<?>[] interfaces) {
             hash = Arrays.hashCode(interfaces);
-            refs = new WeakReference[interfaces.length];
+            refs = (WeakReference<Class<?>>[])new WeakReference<?>[interfaces.length];
             for (int i = 0; i < interfaces.length; i++) {
                 refs[i] = new WeakReference<>(interfaces[i]);
             }
diff --git a/jdk/src/share/classes/java/net/HostPortrange.java b/jdk/src/share/classes/java/net/HostPortrange.java
index fc5e3d9..3c924d8 100644
--- a/jdk/src/share/classes/java/net/HostPortrange.java
+++ b/jdk/src/share/classes/java/net/HostPortrange.java
@@ -114,7 +114,7 @@
                 if (hoststr.equals("*")) {
                     hoststr = "";
                 } else if (hoststr.startsWith("*.")) {
-                    hoststr = hoststr.substring(1).toLowerCase(); // leave the '.' ?
+                    hoststr = toLowerCase(hoststr.substring(1));
                 } else {
                     throw new IllegalArgumentException("invalid host wildcard specification");
                 }
@@ -147,7 +147,7 @@
                         hoststr = sb.toString();
                     } else {
                         // regular domain name
-                        hoststr = hoststr.toLowerCase();
+                        hoststr = toLowerCase(hoststr);
                     }
                 }
             }
@@ -161,6 +161,38 @@
         }
     }
 
+    static final int CASE_DIFF = 'A' - 'a';
+
+    /**
+     * Convert to lower case, and check that all chars are ascii
+     * alphanumeric, '-' or '.' only.
+     */
+    static String toLowerCase(String s) {
+        int len = s.length();
+        StringBuilder sb = null;
+
+        for (int i=0; i<len; i++) {
+            char c = s.charAt(i);
+            if ((c >= 'a' && c <= 'z') || (c == '.')) {
+                if (sb != null)
+                    sb.append(c);
+            } else if ((c >= '0' && c <= '9') || (c == '-')) {
+                if (sb != null)
+                    sb.append(c);
+            } else if (c >= 'A' && c <= 'Z') {
+                if (sb == null) {
+                    sb = new StringBuilder(len);
+                    sb.append(s, 0, i);
+                }
+                sb.append((char)(c - CASE_DIFF));
+            } else {
+                throw new IllegalArgumentException("Invalid characters in hostname");
+            }
+        }
+        return sb == null ? s : sb.toString();
+    }
+
+
     public boolean literal() {
         return literal;
     }
diff --git a/jdk/src/share/classes/java/net/InetAddress.java b/jdk/src/share/classes/java/net/InetAddress.java
index 3bb7249..99ec1ac 100644
--- a/jdk/src/share/classes/java/net/InetAddress.java
+++ b/jdk/src/share/classes/java/net/InetAddress.java
@@ -1135,7 +1135,7 @@
             // see if it is IPv4 address
             addr = IPAddressUtil.textToNumericFormatV4(host);
             if (addr == null) {
-                // see if it is IPv6 address
+                // This is supposed to be an IPv6 literal
                 // Check if a numeric or string zone id is present
                 int pos;
                 if ((pos=host.indexOf ("%")) != -1) {
@@ -1144,7 +1144,9 @@
                         ifname = host.substring (pos+1);
                     }
                 }
-                addr = IPAddressUtil.textToNumericFormatV6(host);
+                if ((addr = IPAddressUtil.textToNumericFormatV6(host)) == null && host.contains(":")) {
+                    throw new UnknownHostException(host + ": invalid IPv6 address");
+                }
             } else if (ipv6Expected) {
                 // Means an IPv4 litteral between brackets!
                 throw new UnknownHostException("["+host+"]");
@@ -1162,10 +1164,10 @@
                 }
                 return ret;
             }
-            } else if (ipv6Expected) {
-                // We were expecting an IPv6 Litteral, but got something else
-                throw new UnknownHostException("["+host+"]");
-            }
+        } else if (ipv6Expected) {
+            // We were expecting an IPv6 Litteral, but got something else
+            throw new UnknownHostException("["+host+"]");
+        }
         return getAllByName0(host, reqAddr, true);
     }
 
diff --git a/jdk/src/share/classes/java/net/URLPermission.java b/jdk/src/share/classes/java/net/URLPermission.java
index 7ad56a1..13472a9e 100644
--- a/jdk/src/share/classes/java/net/URLPermission.java
+++ b/jdk/src/share/classes/java/net/URLPermission.java
@@ -426,7 +426,10 @@
         this.ssp = url.substring(delim + 1);
 
         if (!ssp.startsWith("//")) {
-            this.authority = new Authority(scheme, ssp.toLowerCase());
+            if (!ssp.equals("*")) {
+                throw new IllegalArgumentException("invalid URL string");
+            }
+            this.authority = new Authority(scheme, "*");
             return;
         }
         String authpath = ssp.substring(2);
diff --git a/jdk/src/share/classes/java/nio/file/TempFileHelper.java b/jdk/src/share/classes/java/nio/file/TempFileHelper.java
index 7c348d5..8d171de 100644
--- a/jdk/src/share/classes/java/nio/file/TempFileHelper.java
+++ b/jdk/src/share/classes/java/nio/file/TempFileHelper.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -81,7 +81,7 @@
                                String prefix,
                                String suffix,
                                boolean createDirectory,
-                               FileAttribute[] attrs)
+                               FileAttribute<?>[] attrs)
         throws IOException
     {
         if (prefix == null)
@@ -155,7 +155,7 @@
     static Path createTempFile(Path dir,
                                String prefix,
                                String suffix,
-                               FileAttribute[] attrs)
+                               FileAttribute<?>[] attrs)
         throws IOException
     {
         return create(dir, prefix, suffix, false, attrs);
@@ -167,7 +167,7 @@
      */
     static Path createTempDirectory(Path dir,
                                     String prefix,
-                                    FileAttribute[] attrs)
+                                    FileAttribute<?>[] attrs)
         throws IOException
     {
         return create(dir, prefix, null, true, attrs);
diff --git a/jdk/src/share/classes/java/time/format/DateTimeParseContext.java b/jdk/src/share/classes/java/time/format/DateTimeParseContext.java
index 3157747..026a595 100644
--- a/jdk/src/share/classes/java/time/format/DateTimeParseContext.java
+++ b/jdk/src/share/classes/java/time/format/DateTimeParseContext.java
@@ -369,7 +369,8 @@
         Objects.requireNonNull(chrono, "chrono");
         currentParsed().chrono = chrono;
         if (chronoListeners != null && !chronoListeners.isEmpty()) {
-            Consumer[] tmp = new Consumer[1];
+            @SuppressWarnings({"rawtypes", "unchecked"})
+            Consumer<Chronology>[] tmp = new Consumer[1];
             Consumer<Chronology>[] listeners = chronoListeners.toArray(tmp);
             chronoListeners.clear();
             for (Consumer<Chronology> l : listeners) {
diff --git a/jdk/src/share/classes/java/time/format/Parsed.java b/jdk/src/share/classes/java/time/format/Parsed.java
index 38eda94..7196100 100644
--- a/jdk/src/share/classes/java/time/format/Parsed.java
+++ b/jdk/src/share/classes/java/time/format/Parsed.java
@@ -266,14 +266,14 @@
                     TemporalAccessor resolvedObject = targetField.resolve(fieldValues, this, resolverStyle);
                     if (resolvedObject != null) {
                         if (resolvedObject instanceof ChronoZonedDateTime) {
-                            ChronoZonedDateTime czdt = (ChronoZonedDateTime) resolvedObject;
+                            ChronoZonedDateTime<?> czdt = (ChronoZonedDateTime) resolvedObject;
                             if (zone.equals(czdt.getZone()) == false) {
                                 throw new DateTimeException("ChronoZonedDateTime must use the effective parsed zone: " + zone);
                             }
                             resolvedObject = czdt.toLocalDateTime();
                         }
                         if (resolvedObject instanceof ChronoLocalDateTime) {
-                            ChronoLocalDateTime cldt = (ChronoLocalDateTime) resolvedObject;
+                            ChronoLocalDateTime<?> cldt = (ChronoLocalDateTime) resolvedObject;
                             updateCheckConflict(cldt.toLocalTime(), Period.ZERO);
                             updateCheckConflict(cldt.toLocalDate());
                             changedCount++;
diff --git a/jdk/src/share/classes/java/util/Base64.java b/jdk/src/share/classes/java/util/Base64.java
index db28138..ac5a5d6 100644
--- a/jdk/src/share/classes/java/util/Base64.java
+++ b/jdk/src/share/classes/java/util/Base64.java
@@ -138,7 +138,7 @@
          if (lineLength <= 0) {
              return Encoder.RFC4648;
          }
-         return new Encoder(false, lineSeparator, lineLength >> 2 << 2);
+         return new Encoder(false, lineSeparator, lineLength >> 2 << 2, true);
     }
 
     /**
@@ -192,11 +192,13 @@
         private final byte[] newline;
         private final int linemax;
         private final boolean isURL;
+        private final boolean doPadding;
 
-        private Encoder(boolean isURL, byte[] newline, int linemax) {
+        private Encoder(boolean isURL, byte[] newline, int linemax, boolean doPadding) {
             this.isURL = isURL;
             this.newline = newline;
             this.linemax = linemax;
+            this.doPadding = doPadding;
         }
 
         /**
@@ -228,9 +230,22 @@
         private static final int MIMELINEMAX = 76;
         private static final byte[] CRLF = new byte[] {'\r', '\n'};
 
-        static final Encoder RFC4648 = new Encoder(false, null, -1);
-        static final Encoder RFC4648_URLSAFE = new Encoder(true, null, -1);
-        static final Encoder RFC2045 = new Encoder(false, CRLF, MIMELINEMAX);
+        static final Encoder RFC4648 = new Encoder(false, null, -1, true);
+        static final Encoder RFC4648_URLSAFE = new Encoder(true, null, -1, true);
+        static final Encoder RFC2045 = new Encoder(false, CRLF, MIMELINEMAX, true);
+
+        private final int outLength(int srclen) {
+            int len = 0;
+            if (doPadding) {
+                len = 4 * ((srclen + 2) / 3);
+            } else {
+                int n = srclen % 3;
+                len = 4 * (srclen / 3) + (n == 0 ? 0 : n + 1);
+            }
+            if (linemax > 0)                                  // line separators
+                len += (len - 1) / linemax * newline.length;
+            return len;
+        }
 
         /**
          * Encodes all bytes from the specified byte array into a newly-allocated
@@ -243,9 +258,7 @@
          *          encoded bytes.
          */
         public byte[] encode(byte[] src) {
-            int len = 4 * ((src.length + 2) / 3);    // dst array size
-            if (linemax > 0)                          // line separators
-                len += (len - 1) / linemax * newline.length;
+            int len = outLength(src.length);          // dst array size
             byte[] dst = new byte[len];
             int ret = encode0(src, 0, src.length, dst);
             if (ret != dst.length)
@@ -273,10 +286,7 @@
          *          space for encoding all input bytes.
          */
         public int encode(byte[] src, byte[] dst) {
-            int len = 4 * ((src.length + 2) / 3);    // dst array size
-            if (linemax > 0) {
-                len += (len - 1) / linemax * newline.length;
-            }
+            int len = outLength(src.length);         // dst array size
             if (dst.length < len)
                 throw new IllegalArgumentException(
                     "Output byte array is too small for encoding all input bytes");
@@ -321,9 +331,7 @@
          * @return  A newly-allocated byte buffer containing the encoded bytes.
          */
         public ByteBuffer encode(ByteBuffer buffer) {
-            int len = 4 * ((buffer.remaining() + 2) / 3);
-            if (linemax > 0)
-                len += (len - 1) / linemax * newline.length;
+            int len = outLength(buffer.remaining());
             byte[] dst = new byte[len];
             int ret = 0;
             if (buffer.hasArray()) {
@@ -415,7 +423,25 @@
         public OutputStream wrap(OutputStream os) {
             Objects.requireNonNull(os);
             return new EncOutputStream(os, isURL ? toBase64URL : toBase64,
-                                       newline, linemax);
+                                       newline, linemax, doPadding);
+        }
+
+        /**
+         * Returns an encoder instance that encodes equivalently to this one,
+         * but without adding any padding character at the end of the encoded
+         * byte data.
+         *
+         * <p> The encoding scheme of this encoder instance is unaffected by
+         * this invocation. The returned encoder instance should be used for
+         * non-padding encoding operation.
+         *
+         * @return an equivalent encoder that encodes without adding any
+         *         padding character at the end
+         */
+        public Encoder withoutPadding() {
+            if (!doPadding)
+                return this;
+            return new Encoder(isURL, newline, linemax, false);
         }
 
         private int encodeArray(ByteBuffer src, ByteBuffer dst, int bytesOut) {
@@ -476,13 +502,17 @@
                     da[dp++] = (byte)base64[b0 >> 2];
                     if (sp == sl) {
                         da[dp++] = (byte)base64[(b0 << 4) & 0x3f];
-                        da[dp++] = '=';
-                        da[dp++] = '=';
+                        if (doPadding) {
+                            da[dp++] = '=';
+                            da[dp++] = '=';
+                        }
                     } else {
                         int b1 = sa[sp++] & 0xff;
                         da[dp++] = (byte)base64[(b0 << 4) & 0x3f | (b1 >> 4)];
                         da[dp++] = (byte)base64[(b1 << 2) & 0x3f];
-                        da[dp++] = '=';
+                        if (doPadding) {
+                            da[dp++] = '=';
+                        }
                     }
                 }
                 return dp - dp00 + bytesOut;
@@ -548,13 +578,17 @@
                     dst.put(dp++, (byte)base64[b0 >> 2]);
                     if (sp == src.limit()) {
                         dst.put(dp++, (byte)base64[(b0 << 4) & 0x3f]);
-                        dst.put(dp++, (byte)'=');
-                        dst.put(dp++, (byte)'=');
+                        if (doPadding) {
+                            dst.put(dp++, (byte)'=');
+                            dst.put(dp++, (byte)'=');
+                        }
                     } else {
                         int b1 = src.get(sp++) & 0xff;
                         dst.put(dp++, (byte)base64[(b0 << 4) & 0x3f | (b1 >> 4)]);
                         dst.put(dp++, (byte)base64[(b1 << 2) & 0x3f]);
-                        dst.put(dp++, (byte)'=');
+                        if (doPadding) {
+                            dst.put(dp++, (byte)'=');
+                        }
                     }
                 }
                 return dp - dp00 + bytesOut;
@@ -597,13 +631,17 @@
                 dst[dp++] = (byte)base64[b0 >> 2];
                 if (sp == end) {
                     dst[dp++] = (byte)base64[(b0 << 4) & 0x3f];
-                    dst[dp++] = '=';
-                    dst[dp++] = '=';
+                    if (doPadding) {
+                        dst[dp++] = '=';
+                        dst[dp++] = '=';
+                    }
                 } else {
                     int b1 = src[sp++] & 0xff;
                     dst[dp++] = (byte)base64[(b0 << 4) & 0x3f | (b1 >> 4)];
                     dst[dp++] = (byte)base64[(b1 << 2) & 0x3f];
-                    dst[dp++] = '=';
+                    if (doPadding) {
+                        dst[dp++] = '=';
+                    }
                 }
             }
             return dp;
@@ -1149,14 +1187,16 @@
         private final char[] base64;    // byte->base64 mapping
         private final byte[] newline;   // line separator, if needed
         private final int linemax;
+        private final boolean doPadding;// whether or not to pad
         private int linepos = 0;
 
-        EncOutputStream(OutputStream os,
-                        char[] base64, byte[] newline, int linemax) {
+        EncOutputStream(OutputStream os, char[] base64,
+                        byte[] newline, int linemax, boolean doPadding) {
             super(os);
             this.base64 = base64;
             this.newline = newline;
             this.linemax = linemax;
+            this.doPadding = doPadding;
         }
 
         @Override
@@ -1228,14 +1268,18 @@
                     checkNewline();
                     out.write(base64[b0 >> 2]);
                     out.write(base64[(b0 << 4) & 0x3f]);
-                    out.write('=');
-                    out.write('=');
+                    if (doPadding) {
+                        out.write('=');
+                        out.write('=');
+                    }
                 } else if (leftover == 2) {
                     checkNewline();
                     out.write(base64[b0 >> 2]);
                     out.write(base64[(b0 << 4) & 0x3f | (b1 >> 4)]);
                     out.write(base64[(b1 << 2) & 0x3f]);
-                    out.write('=');
+                    if (doPadding) {
+                       out.write('=');
+                    }
                 }
                 leftover = 0;
                 out.close();
diff --git a/jdk/src/share/classes/java/util/IdentityHashMap.java b/jdk/src/share/classes/java/util/IdentityHashMap.java
index 4080821..3db4058 100644
--- a/jdk/src/share/classes/java/util/IdentityHashMap.java
+++ b/jdk/src/share/classes/java/util/IdentityHashMap.java
@@ -1243,7 +1243,7 @@
                     if (ti >= size) {
                         throw new ConcurrentModificationException();
                     }
-                    a[ti++] = (T) new AbstractMap.SimpleEntry(unmaskNull(key), tab[si + 1]);
+                    a[ti++] = (T) new AbstractMap.SimpleEntry<>(unmaskNull(key), tab[si + 1]);
                 }
             }
             // fewer elements than expected or concurrent modification from other thread detected
diff --git a/jdk/src/share/classes/java/util/concurrent/ForkJoinPool.java b/jdk/src/share/classes/java/util/concurrent/ForkJoinPool.java
index 749f8b5..edf1787 100644
--- a/jdk/src/share/classes/java/util/concurrent/ForkJoinPool.java
+++ b/jdk/src/share/classes/java/util/concurrent/ForkJoinPool.java
@@ -1820,7 +1820,7 @@
                         }
                     }
                     for (;;) { // help stealer or descend to its stealer
-                        ForkJoinTask[] a; int b;
+                        ForkJoinTask<?>[] a; int b;
                         if (subtask.status < 0)     // surround probes with
                             continue restart;       //   consistency checks
                         if ((b = v.base) - v.top < 0 && (a = v.array) != null) {
diff --git a/jdk/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java b/jdk/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
index 458828c..24ab59a 100644
--- a/jdk/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
+++ b/jdk/src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
@@ -1253,11 +1253,11 @@
          * Snapshot iterator that works off copy of underlying q array.
          */
         private class Itr implements Iterator<Runnable> {
-            final RunnableScheduledFuture[] array;
+            final RunnableScheduledFuture<?>[] array;
             int cursor = 0;     // index of next element to return
             int lastRet = -1;   // index of last element, or -1 if no such
 
-            Itr(RunnableScheduledFuture[] array) {
+            Itr(RunnableScheduledFuture<?>[] array) {
                 this.array = array;
             }
 
diff --git a/jdk/src/share/classes/java/util/logging/Logger.java b/jdk/src/share/classes/java/util/logging/Logger.java
index efc18c5..1976512 100644
--- a/jdk/src/share/classes/java/util/logging/Logger.java
+++ b/jdk/src/share/classes/java/util/logging/Logger.java
@@ -351,7 +351,7 @@
                                          ? caller.getClassLoader()
                                          : null);
         if (callersClassLoader != null) {
-            this.callersClassLoaderRef = new WeakReference(callersClassLoader);
+            this.callersClassLoaderRef = new WeakReference<>(callersClassLoader);
         }
     }
 
diff --git a/jdk/src/share/classes/java/util/logging/Logging.java b/jdk/src/share/classes/java/util/logging/Logging.java
index e22a82e..740a533 100644
--- a/jdk/src/share/classes/java/util/logging/Logging.java
+++ b/jdk/src/share/classes/java/util/logging/Logging.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -55,11 +55,11 @@
     }
 
     public List<String> getLoggerNames() {
-        Enumeration loggers = logManager.getLoggerNames();
+        Enumeration<String> loggers = logManager.getLoggerNames();
         ArrayList<String> array = new ArrayList<>();
 
         for (; loggers.hasMoreElements();) {
-            array.add((String) loggers.nextElement());
+            array.add(loggers.nextElement());
         }
         return array;
     }
diff --git a/jdk/src/share/classes/java/util/regex/Pattern.java b/jdk/src/share/classes/java/util/regex/Pattern.java
index e9a0c67..b5578b6 100644
--- a/jdk/src/share/classes/java/util/regex/Pattern.java
+++ b/jdk/src/share/classes/java/util/regex/Pattern.java
@@ -1142,10 +1142,15 @@
      * input sequence that is terminated by another subsequence that matches
      * this pattern or is terminated by the end of the input sequence.  The
      * substrings in the array are in the order in which they occur in the
-     * input.  If this pattern does not match any subsequence of the input then
+     * input. If this pattern does not match any subsequence of the input then
      * the resulting array has just one element, namely the input sequence in
      * string form.
      *
+     * <p> When there is a positive-width match at the beginning of the input
+     * sequence then an empty leading substring is included at the beginning
+     * of the resulting array. A zero-width match at the beginning however
+     * never produces such empty leading substring.
+     *
      * <p> The <tt>limit</tt> parameter controls the number of times the
      * pattern is applied and therefore affects the length of the resulting
      * array.  If the limit <i>n</i> is greater than zero then the pattern
@@ -1185,7 +1190,6 @@
      *     <td><tt>{ "b", "", ":and:f" }</tt></td></tr>
      * </table></blockquote>
      *
-     *
      * @param  input
      *         The character sequence to be split
      *
@@ -1204,6 +1208,11 @@
         // Add segments before each match found
         while(m.find()) {
             if (!matchLimited || matchList.size() < limit - 1) {
+                if (index == 0 && index == m.start() && m.start() == m.end()) {
+                    // no empty leading substring included for zero-width match
+                    // at the beginning of the input char sequence.
+                    continue;
+                }
                 String match = input.subSequence(index, m.start()).toString();
                 matchList.add(match);
                 index = m.end();
@@ -5755,13 +5764,18 @@
      * input sequence that is terminated by another subsequence that matches
      * this pattern or is terminated by the end of the input sequence.  The
      * substrings in the stream are in the order in which they occur in the
-     * input.  Trailing empty strings will be discarded and not encountered in
+     * input. Trailing empty strings will be discarded and not encountered in
      * the stream.
      *
      * <p> If this pattern does not match any subsequence of the input then
      * the resulting stream has just one element, namely the input sequence in
      * string form.
      *
+     * <p> When there is a positive-width match at the beginning of the input
+     * sequence then an empty leading substring is included at the beginning
+     * of the stream. A zero-width match at the beginning however never produces
+     * such empty leading substring.
+     *
      * <p> If the input sequence is mutable, it must remain constant during the
      * execution of the terminal stream operation.  Otherwise, the result of the
      * terminal stream operation is undefined.
@@ -5817,7 +5831,8 @@
                     current = matcher.end();
                     if (!nextElement.isEmpty()) {
                         return true;
-                    } else {
+                    } else if (current > 0) { // no empty leading substring for zero-width
+                                              // match at the beginning of the input
                         emptyElementCount++;
                     }
                 }
diff --git a/jdk/src/share/classes/javax/management/AttributeList.java b/jdk/src/share/classes/javax/management/AttributeList.java
index 9825d93..2fd3bdb 100644
--- a/jdk/src/share/classes/javax/management/AttributeList.java
+++ b/jdk/src/share/classes/javax/management/AttributeList.java
@@ -178,8 +178,8 @@
     /**
      * Inserts the attribute specified as an element at the position specified.
      * Elements with an index greater than or equal to the current position are
-     * shifted up. If the index is out of range (index < 0 || index >
-     * size()) a RuntimeOperationsException should be raised, wrapping the
+     * shifted up. If the index is out of range {@literal (index < 0 || index >
+     * size())} a RuntimeOperationsException should be raised, wrapping the
      * java.lang.IndexOutOfBoundsException thrown.
      *
      * @param object  The <CODE>Attribute</CODE> object to be inserted.
@@ -199,7 +199,7 @@
     /**
      * Sets the element at the position specified to be the attribute specified.
      * The previous element at that position is discarded. If the index is
-     * out of range (index < 0 || index > size() a RuntimeOperationsException
+     * out of range {@literal (index < 0 || index > size())} a RuntimeOperationsException
      * should be raised, wrapping the java.lang.IndexOutOfBoundsException thrown.
      *
      * @param object  The value to which the attribute element should be set.
@@ -234,7 +234,7 @@
      * Inserts all of the elements in the <CODE>AttributeList</CODE> specified
      * into this list, starting at the specified position, in the order in which
      * they are returned by the Iterator of the {@code AttributeList} specified.
-     * If the index is out of range (index < 0 || index > size() a
+     * If the index is out of range {@literal (index < 0 || index > size())} a
      * RuntimeOperationsException should be raised, wrapping the
      * java.lang.IndexOutOfBoundsException thrown.
      *
diff --git a/jdk/src/share/classes/javax/management/BooleanValueExp.java b/jdk/src/share/classes/javax/management/BooleanValueExp.java
index 8aa399a..2384261 100644
--- a/jdk/src/share/classes/javax/management/BooleanValueExp.java
+++ b/jdk/src/share/classes/javax/management/BooleanValueExp.java
@@ -44,12 +44,12 @@
     private boolean val = false;
 
 
-    /** Creates a new BooleanValueExp representing the boolean literal <val>.*/
+    /** Creates a new BooleanValueExp representing the boolean literal {@code val}.*/
     BooleanValueExp(boolean val) {
         this.val = val;
     }
 
-    /**Creates a new BooleanValueExp representing the Boolean object <val>.*/
+    /**Creates a new BooleanValueExp representing the Boolean object {@code val}.*/
     BooleanValueExp(Boolean val) {
         this.val = val.booleanValue();
     }
diff --git a/jdk/src/share/classes/javax/management/Descriptor.java b/jdk/src/share/classes/javax/management/Descriptor.java
index b07447a..0cd325f 100644
--- a/jdk/src/share/classes/javax/management/Descriptor.java
+++ b/jdk/src/share/classes/javax/management/Descriptor.java
@@ -96,7 +96,7 @@
  * of the mapped Java type, called <em>opendata</em>(J) in the <a
  * href="MXBean.html#mapping-rules">MXBean type mapping rules</a>.</p>
  *
- * <table border="1" cellpadding="5">
+ * <table border="1" cellpadding="5" summary="Descriptor Fields">
  *
  * <tr><th>Name</th><th>Type</th><th>Used in</th><th>Meaning</th></tr>
  *
@@ -330,7 +330,7 @@
  * interest outside Model MBeans, for example.  But only Model MBeans have
  * a predefined behavior for these fields.</p>
  *
- * <table border="1" cellpadding="5">
+ * <table border="1" cellpadding="5" summary="ModelMBean Fields">
  *
  * <tr><th>Name</th><th>Type</th><th>Used in</th><th>Meaning</th></tr>
  *
diff --git a/jdk/src/share/classes/javax/management/DescriptorKey.java b/jdk/src/share/classes/javax/management/DescriptorKey.java
index 6422499..5ca8ee9 100644
--- a/jdk/src/share/classes/javax/management/DescriptorKey.java
+++ b/jdk/src/share/classes/javax/management/DescriptorKey.java
@@ -94,7 +94,7 @@
  * <p>then the resulting {@code Descriptor} will contain the following
  * fields:</p>
  *
- * <table border="2">
+ * <table border="2" summary="Descriptor Fields">
  * <tr><th>Name</th><th>Value</th></tr>
  * <tr><td>units</td><td>"bytes"</td></tr>
  * <tr><td>descriptionResourceKey</td><td>"bytes.key"</td></tr>
@@ -143,7 +143,7 @@
  * or an array of annotations.  The value of the field is derived from
  * the value of the annotation element as follows:</p>
  *
- * <table border="2">
+ * <table border="2" summary="Descriptor Field Types">
  * <tr><th>Annotation element</th><th>Descriptor field</th></tr>
  * <tr><td>Primitive value ({@code 5}, {@code false}, etc)</td>
  *     <td>Wrapped value ({@code Integer.valueOf(5)},
diff --git a/jdk/src/share/classes/javax/management/ImmutableDescriptor.java b/jdk/src/share/classes/javax/management/ImmutableDescriptor.java
index 3eff0c2..b2af95e 100644
--- a/jdk/src/share/classes/javax/management/ImmutableDescriptor.java
+++ b/jdk/src/share/classes/javax/management/ImmutableDescriptor.java
@@ -344,7 +344,7 @@
      * the given object is also a Descriptor, and if the two Descriptors have
      * the same field names (possibly differing in case) and the same
      * associated values.  The respective values for a field in the two
-     * Descriptors are equal if the following conditions hold:</p>
+     * Descriptors are equal if the following conditions hold:
      *
      * <ul>
      * <li>If one value is null then the other must be too.</li>
diff --git a/jdk/src/share/classes/javax/management/JMX.java b/jdk/src/share/classes/javax/management/JMX.java
index fe5d909..ffa53cf 100644
--- a/jdk/src/share/classes/javax/management/JMX.java
+++ b/jdk/src/share/classes/javax/management/JMX.java
@@ -217,8 +217,7 @@
     }
 
     /**
-     * <p>Make a proxy for an MXBean in a local or remote
-     * MBean Server.</p>
+     * Make a proxy for an MXBean in a local or remote MBean Server.
      *
      * <p>If you have an MBean Server {@code mbs} containing an
      * MXBean with {@link ObjectName} {@code name}, and if the
@@ -253,7 +252,7 @@
      * <li><p>{@code proxy.setSimpleAttribute("whatever")} will result
      * in a call to {@code mbs.}{@link
      * MBeanServerConnection#setAttribute setAttribute}<code>(name,
-     * new Attribute("SimpleAttribute", "whatever"))</code>.<p>
+     * new Attribute("SimpleAttribute", "whatever"))</code>.</p>
      *
      *     <p>Because {@code String} is a <em>simple type</em>, in the
      *     sense of {@link javax.management.openmbean.SimpleType}, it
diff --git a/jdk/src/share/classes/javax/management/MBeanFeatureInfo.java b/jdk/src/share/classes/javax/management/MBeanFeatureInfo.java
index ec8e8b6..5acd054 100644
--- a/jdk/src/share/classes/javax/management/MBeanFeatureInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanFeatureInfo.java
@@ -162,7 +162,7 @@
      * Serializes an {@link MBeanFeatureInfo} to an {@link ObjectOutputStream}.
      * @serialData
      * For compatibility reasons, an object of this class is serialized as follows.
-     * <ul>
+     * <p>
      * The method {@link ObjectOutputStream#defaultWriteObject defaultWriteObject()}
      * is called first to serialize the object except the field {@code descriptor}
      * which is declared as transient. The field {@code descriptor} is serialized
@@ -180,7 +180,7 @@
      * {@link ObjectOutputStream#writeObject writeObject(Object obj)} is called
      * to serialize directly the field {@code descriptor}.
      *     </ul>
-     * </ul>
+     *
      * @since 1.6
      */
     private void writeObject(ObjectOutputStream out) throws IOException {
@@ -206,7 +206,7 @@
      * Deserializes an {@link MBeanFeatureInfo} from an {@link ObjectInputStream}.
      * @serialData
      * For compatibility reasons, an object of this class is deserialized as follows.
-     * <ul>
+     * <p>
      * The method {@link ObjectInputStream#defaultReadObject defaultReadObject()}
      * is called first to deserialize the object except the field
      * {@code descriptor}, which is not serialized in the default way. Then the method
@@ -228,7 +228,7 @@
      *       to {@link ImmutableDescriptor#EMPTY_DESCRIPTOR EMPTY_DESCRIPTOR}</li>
      *    <li>Any other value. A {@link StreamCorruptedException} is thrown.</li>
      *    </ul>
-     * </ul>
+     *
      * @since 1.6
      */
     private void readObject(ObjectInputStream in)
diff --git a/jdk/src/share/classes/javax/management/MBeanInfo.java b/jdk/src/share/classes/javax/management/MBeanInfo.java
index f4a9581..d10dd1c 100644
--- a/jdk/src/share/classes/javax/management/MBeanInfo.java
+++ b/jdk/src/share/classes/javax/management/MBeanInfo.java
@@ -619,7 +619,7 @@
      * Serializes an {@link MBeanInfo} to an {@link ObjectOutputStream}.
      * @serialData
      * For compatibility reasons, an object of this class is serialized as follows.
-     * <ul>
+     * <p>
      * The method {@link ObjectOutputStream#defaultWriteObject defaultWriteObject()}
      * is called first to serialize the object except the field {@code descriptor}
      * which is declared as transient. The field {@code descriptor} is serialized
@@ -637,7 +637,7 @@
      *        {@link ObjectOutputStream#writeObject writeObject(Object obj)} is called
      *        to serialize the field {@code descriptor} directly.
      *     </ul>
-     * </ul>
+     *
      * @since 1.6
      */
     private void writeObject(ObjectOutputStream out) throws IOException {
@@ -661,7 +661,7 @@
      * Deserializes an {@link MBeanInfo} from an {@link ObjectInputStream}.
      * @serialData
      * For compatibility reasons, an object of this class is deserialized as follows.
-     * <ul>
+     * <p>
      * The method {@link ObjectInputStream#defaultReadObject defaultReadObject()}
      * is called first to deserialize the object except the field
      * {@code descriptor}, which is not serialized in the default way. Then the method
@@ -683,7 +683,7 @@
      *       {@link ImmutableDescriptor#EMPTY_DESCRIPTOR EMPTY_DESCRIPTOR}.</li>
      *    <li>Any other value. A {@link StreamCorruptedException} is thrown.</li>
      *    </ul>
-     * </ul>
+     *
      * @since 1.6
      */
 
diff --git a/jdk/src/share/classes/javax/management/MBeanServer.java b/jdk/src/share/classes/javax/management/MBeanServer.java
index 901be10..909e31d 100644
--- a/jdk/src/share/classes/javax/management/MBeanServer.java
+++ b/jdk/src/share/classes/javax/management/MBeanServer.java
@@ -244,7 +244,6 @@
  * the caller's permissions must imply {@link
  * MBeanPermission#MBeanPermission(String,String,ObjectName,String)
  * MBeanPermission(className, null, name, "unregisterMBean")}.</p>
- * </p>
  *
  * </ul>
  *
diff --git a/jdk/src/share/classes/javax/management/MBeanServerConnection.java b/jdk/src/share/classes/javax/management/MBeanServerConnection.java
index dc3c3f4..505a44e 100644
--- a/jdk/src/share/classes/javax/management/MBeanServerConnection.java
+++ b/jdk/src/share/classes/javax/management/MBeanServerConnection.java
@@ -627,7 +627,7 @@
      * for that attribute, although this is not guaranteed to work.  (For
      * example, the values of two attributes may have been rejected because
      * they were inconsistent with each other.  Setting one of them alone might
-     * be allowed.)<p>
+     * be allowed.)
      *
      * <p>Here is an example of calling this method and checking that it
      * succeeded in setting all the requested attributes:</p>
diff --git a/jdk/src/share/classes/javax/management/MBeanServerNotification.java b/jdk/src/share/classes/javax/management/MBeanServerNotification.java
index 61d57e6..aec2f18 100644
--- a/jdk/src/share/classes/javax/management/MBeanServerNotification.java
+++ b/jdk/src/share/classes/javax/management/MBeanServerNotification.java
@@ -86,7 +86,7 @@
  *     be set to an array of ObjectNames containing the names of all MBeans
  *     being registered or unregistered.</li>
  * </ul>
- * </p>
+ *
  * <p>
  * MBeans which emit these group registration/unregistration notifications will
  * declare them in their {@link MBeanInfo#getNotifications()
diff --git a/jdk/src/share/classes/javax/management/MXBean.java b/jdk/src/share/classes/javax/management/MXBean.java
index e4c9206..85db37b 100644
--- a/jdk/src/share/classes/javax/management/MXBean.java
+++ b/jdk/src/share/classes/javax/management/MXBean.java
@@ -79,7 +79,7 @@
     public interface MisleadingMXBean {}
     </pre>
 
-    <h3 id="MXBean-spec">MXBean specification</a></h3>
+    <h3 id="MXBean-spec">MXBean specification</h3>
 
     <p>The MXBean concept provides a simple way to code an MBean
       that only references a predefined set of types, the ones defined
@@ -93,7 +93,7 @@
       Standard MBean concept.  Here is how a managed object might be
       represented as a Standard MBean, and as an MXBean:</p>
 
-    <table border="1" cellpadding="5">
+    <table border="1" cellpadding="5" summary="Standard Bean vs. MXBean">
       <tr>
         <th>Standard MBean</th><th>MXBean</th>
       </tr>
@@ -133,7 +133,7 @@
 
     <p>So, we might define <code>MemoryUsage</code> like this:</p>
 
-    <table border="1" cellpadding="5">
+    <table border="1" cellpadding="5" summary="Standard Bean vs. MXBean">
       <tr>
         <th>Standard MBean</th><th>MXBean</th>
       </tr>
@@ -195,7 +195,7 @@
     <p>This becomes clearer if we compare what the clients of the two
       models might look like:</p>
 
-    <table border="1" cellpadding="5">
+    <table border="1" cellpadding="5" summary="Standard Bean vs. MXBean">
       <tr>
         <th>Standard MBean</th><th>MXBean</th>
       </tr>
@@ -232,7 +232,7 @@
       managed objects when you know the model beforehand, regardless
       of whether you are using Standard MBeans or MXBeans:</p>
 
-    <table border="1" cellpadding="5">
+    <table border="1" cellpadding="5" summary="Standard Bean vs. MXBean">
       <tr>
         <th>Standard MBean</th><th>MXBean</th>
       </tr>
@@ -265,7 +265,7 @@
     <p>Implementing the MemoryPool object works similarly for both
       Standard MBeans and MXBeans.</p>
 
-    <table border="1" cellpadding="5">
+    <table border="1" cellpadding="5" summary="Standard Bean vs. MXBean">
       <tr>
         <th>Standard MBean</th><th>MXBean</th>
       </tr>
@@ -292,7 +292,7 @@
     <p>Registering the MBean in the MBean Server works in the same way
       in both cases:</p>
 
-    <table border="1" cellpadding="5">
+    <table border="1" cellpadding="5" summary="Standard Bean vs. MXBean">
       <tr>
         <th>Standard MBean</th><th>MXBean</th>
       </tr>
@@ -478,13 +478,13 @@
 
     <p>The following table summarizes the type mapping rules.</p>
 
-    <table border="1" cellpadding="5">
+    <table border="1" cellpadding="5" summary="Type Mapping Rules">
       <tr>
         <th>Java type <em>J</em></th>
         <th><em>opentype(J)</em></th>
         <th><em>opendata(J)</em></th>
       </tr>
-      <tbody cellvalign="top">
+      <tbody valign="top">
         <tr>
           <td>{@code int}, {@code boolean}, etc<br>
             (the 8 primitive Java types)</td>
@@ -785,7 +785,7 @@
     </blockquote>
 
     then the item in the {@code CompositeType} is called {@code name}
-    and has type {@code SimpleType.BOOLEAN}.</p>
+    and has type {@code SimpleType.BOOLEAN}.
 
     <p>Notice that the first character (or code point) is converted to
       lower case.  This follows the Java Beans convention, which for
diff --git a/jdk/src/share/classes/javax/management/NumericValueExp.java b/jdk/src/share/classes/javax/management/NumericValueExp.java
index 9609035..2feb1f3 100644
--- a/jdk/src/share/classes/javax/management/NumericValueExp.java
+++ b/jdk/src/share/classes/javax/management/NumericValueExp.java
@@ -112,7 +112,7 @@
     public NumericValueExp() {
     }
 
-    /** Creates a new NumericValue representing the numeric literal <val>.*/
+    /** Creates a new NumericValue representing the numeric literal @{code val}.*/
     NumericValueExp(Number val)
     {
       this.val = val;
diff --git a/jdk/src/share/classes/javax/management/ObjectName.java b/jdk/src/share/classes/javax/management/ObjectName.java
index 32b06cc..c1942f0 100644
--- a/jdk/src/share/classes/javax/management/ObjectName.java
+++ b/jdk/src/share/classes/javax/management/ObjectName.java
@@ -195,7 +195,7 @@
  * represents an ObjectName with two keys.  The name of each key
  * contains six characters, of which the first and last are spaces.
  * The value associated with the key <code>"&nbsp;key1&nbsp;"</code>
- * also begins and ends with a space.</p>
+ * also begins and ends with a space.
  *
  * <p>In addition to the restrictions on characters spelt out above,
  * no part of an ObjectName may contain a newline character
@@ -665,7 +665,7 @@
      * Construct an ObjectName from a domain and a Hashtable.
      *
      * @param domain Domain of the ObjectName.
-     * @param props  Map containing couples <i>key</i> -> <i>value</i>.
+     * @param props  Map containing couples <i>key</i> {@literal ->} <i>value</i>.
      *
      * @exception MalformedObjectNameException The <code>domain</code>
      * contains an illegal character, or one of the keys or values in
@@ -1549,7 +1549,7 @@
      * <li>a comma and an
      * asterisk (<code>,*</code>) for an ObjectName that is a property
      * list pattern with at least one key.
-     * </ul></p>
+     * </ul>
      *
      * @return The canonical form of the name.
      */
diff --git a/jdk/src/share/classes/javax/management/PersistentMBean.java b/jdk/src/share/classes/javax/management/PersistentMBean.java
index 0f16202..6333409 100644
--- a/jdk/src/share/classes/javax/management/PersistentMBean.java
+++ b/jdk/src/share/classes/javax/management/PersistentMBean.java
@@ -70,17 +70,19 @@
      * <P>
      * Persistence policy from the MBean and attribute descriptor is used to guide execution
      * of this method. The MBean should be stored if 'persistPolicy' field is:
-     * <PRE>  != "never"
+     * <PRE>{@literal  != "never"
      *   = "always"
      *   = "onTimer" and now > 'lastPersistTime' + 'persistPeriod'
      *   = "NoMoreOftenThan" and now > 'lastPersistTime' + 'persistPeriod'
      *   = "onUnregister"
-     * <P>
+     * }</PRE>
+     * <p>
      * Do not store the MBean if 'persistPolicy' field is:
+     * <PRE>{@literal
      *    = "never"
      *    = "onUpdate"
      *    = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
-     * <P></PRE>
+     * }</PRE>
      *
      * @exception MBeanException Wraps another exception or persistence is not supported
      * @exception RuntimeOperationsException Wraps exceptions from the persistence mechanism
diff --git a/jdk/src/share/classes/javax/management/Query.java b/jdk/src/share/classes/javax/management/Query.java
index 267f6aa..2a1b33e 100644
--- a/jdk/src/share/classes/javax/management/Query.java
+++ b/jdk/src/share/classes/javax/management/Query.java
@@ -127,9 +127,9 @@
       * @param q2 Another query expression.
       *
       * @return  The conjunction of the two arguments.  The returned object
-      * will be serialized as an instance of the non-public class {@link
+      * will be serialized as an instance of the non-public class
       * <a href="../../serialized-form.html#javax.management.AndQueryExp">
-      * javax.management.AndQueryExp</a>}.
+      * javax.management.AndQueryExp</a>.
       */
      public static QueryExp and(QueryExp q1, QueryExp q2)  {
          return new AndQueryExp(q1, q2);
@@ -143,9 +143,9 @@
       * @param q2 Another query expression.
       *
       * @return  The disjunction of the two arguments.  The returned object
-      * will be serialized as an instance of the non-public class {@link
+      * will be serialized as an instance of the non-public class
       * <a href="../../serialized-form.html#javax.management.OrQueryExp">
-      * javax.management.OrQueryExp</a>}.
+      * javax.management.OrQueryExp</a>.
       */
      public static QueryExp or(QueryExp q1, QueryExp q2)  {
          return new OrQueryExp(q1, q2);
@@ -160,9 +160,9 @@
       *
       * @return A "greater than" constraint on the arguments.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
-      * javax.management.BinaryRelQueryExp</a>} with a {@code relOp} equal
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
+      * javax.management.BinaryRelQueryExp</a> with a {@code relOp} equal
       * to {@link #GT}.
       */
      public static QueryExp gt(ValueExp v1, ValueExp v2)  {
@@ -178,9 +178,9 @@
       *
       * @return A "greater than or equal to" constraint on the
       * arguments.  The returned object will be serialized as an
-      * instance of the non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
-      * javax.management.BinaryRelQueryExp</a>} with a {@code relOp} equal
+      * instance of the non-public class
+      * <a href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
+      * javax.management.BinaryRelQueryExp</a> with a {@code relOp} equal
       * to {@link #GE}.
       */
      public static QueryExp geq(ValueExp v1, ValueExp v2)  {
@@ -196,9 +196,9 @@
       *
       * @return A "less than or equal to" constraint on the arguments.
       * The returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
-      * javax.management.BinaryRelQueryExp</a>} with a {@code relOp} equal
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
+      * javax.management.BinaryRelQueryExp</a> with a {@code relOp} equal
       * to {@link #LE}.
       */
      public static QueryExp leq(ValueExp v1, ValueExp v2)  {
@@ -214,9 +214,9 @@
       *
       * @return A "less than" constraint on the arguments.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
-      * javax.management.BinaryRelQueryExp</a>} with a {@code relOp} equal
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
+      * javax.management.BinaryRelQueryExp</a> with a {@code relOp} equal
       * to {@link #LT}.
       */
      public static QueryExp lt(ValueExp v1, ValueExp v2)  {
@@ -232,9 +232,9 @@
       *
       * @return A "equal to" constraint on the arguments.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
-      * javax.management.BinaryRelQueryExp</a>} with a {@code relOp} equal
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.BinaryRelQueryExp">
+      * javax.management.BinaryRelQueryExp</a> with a {@code relOp} equal
       * to {@link #EQ}.
       */
      public static QueryExp eq(ValueExp v1, ValueExp v2)  {
@@ -251,9 +251,9 @@
       *
       * @return The constraint that v1 lies between v2 and v3.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BetweenQueryExp">
-      * javax.management.BetweenQueryExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.BetweenQueryExp">
+      * javax.management.BetweenQueryExp</a>.
       */
      public static QueryExp between(ValueExp v1, ValueExp v2, ValueExp v3) {
          return new BetweenQueryExp(v1, v2, v3);
@@ -279,9 +279,9 @@
       *
       * @return A query expression that represents the matching
       * constraint on the string argument.  The returned object will
-      * be serialized as an instance of the non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.MatchQueryExp">
-      * javax.management.MatchQueryExp</a>}.
+      * be serialized as an instance of the non-public class
+      * <a href="../../serialized-form.html#javax.management.MatchQueryExp">
+      * javax.management.MatchQueryExp</a>.
       */
      public static QueryExp match(AttributeValueExp a, StringValueExp s)  {
          return new MatchQueryExp(a, s);
@@ -319,9 +319,9 @@
       *
       * @return An attribute expression for the attribute named name.
       * The returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.QualifiedAttributeValueExp">
-      * javax.management.QualifiedAttributeValueExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.QualifiedAttributeValueExp">
+      * javax.management.QualifiedAttributeValueExp</a>.
       */
      public static AttributeValueExp attr(String className, String name)  {
          return new QualifiedAttributeValueExp(className, name);
@@ -338,9 +338,8 @@
       *
       * @return A class attribute expression.  The returned object
       * will be serialized as an instance of the non-public class
-      * {@link <a
-      * href="../../serialized-form.html#javax.management.ClassAttributeValueExp">
-      * javax.management.ClassAttributeValueExp</a>}.
+      * <a href="../../serialized-form.html#javax.management.ClassAttributeValueExp">
+      * javax.management.ClassAttributeValueExp</a>.
       */
      public static AttributeValueExp classattr()  {
          return new ClassAttributeValueExp();
@@ -352,9 +351,9 @@
       * @param queryExp The constraint to negate.
       *
       * @return A negated constraint.  The returned object will be
-      * serialized as an instance of the non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.NotQueryExp">
-      * javax.management.NotQueryExp</a>}.
+      * serialized as an instance of the non-public class
+      * <a href="../../serialized-form.html#javax.management.NotQueryExp">
+      * javax.management.NotQueryExp</a>.
       */
      public static QueryExp not(QueryExp queryExp)  {
          return new NotQueryExp(queryExp);
@@ -368,9 +367,9 @@
       *
       * @return A QueryExp that represents the constraint.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.InQueryExp">
-      * javax.management.InQueryExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.InQueryExp">
+      * javax.management.InQueryExp</a>.
       */
      public static QueryExp in(ValueExp val, ValueExp valueList[])  {
          return new InQueryExp(val, valueList);
@@ -395,9 +394,9 @@
       *
       * @return A ValueExp object containing the argument.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.NumericValueExp">
-      * javax.management.NumericValueExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.NumericValueExp">
+      * javax.management.NumericValueExp</a>.
       */
      public static ValueExp value(Number val)  {
          return new NumericValueExp(val);
@@ -411,9 +410,9 @@
       *
       * @return A ValueExp object containing the argument.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.NumericValueExp">
-      * javax.management.NumericValueExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.NumericValueExp">
+      * javax.management.NumericValueExp</a>.
       */
      public static ValueExp value(int val)  {
          return new NumericValueExp((long) val);
@@ -427,9 +426,9 @@
       *
       * @return A ValueExp object containing the argument.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.NumericValueExp">
-      * javax.management.NumericValueExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.NumericValueExp">
+      * javax.management.NumericValueExp</a>.
       */
      public static ValueExp value(long val)  {
          return new NumericValueExp(val);
@@ -443,9 +442,9 @@
       *
       * @return A ValueExp object containing the argument.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.NumericValueExp">
-      * javax.management.NumericValueExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.NumericValueExp">
+      * javax.management.NumericValueExp</a>.
       */
      public static ValueExp value(float val)  {
          return new NumericValueExp((double) val);
@@ -459,9 +458,9 @@
       *
       * @return  A ValueExp object containing the argument.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.NumericValueExp">
-      * javax.management.NumericValueExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.NumericValueExp">
+      * javax.management.NumericValueExp</a>.
       */
      public static ValueExp value(double val)  {
          return new NumericValueExp(val);
@@ -475,9 +474,9 @@
       *
       * @return A ValueExp object containing the argument.  The
       * returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BooleanValueExp">
-      * javax.management.BooleanValueExp</a>}.
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.BooleanValueExp">
+      * javax.management.BooleanValueExp</a>.
       */
      public static ValueExp value(boolean val)  {
          return new BooleanValueExp(val);
@@ -492,9 +491,9 @@
       *
       * @return A ValueExp representing the sum or concatenation of
       * the two arguments.  The returned object will be serialized as
-      * an instance of the non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryOpValueExp">
-      * javax.management.BinaryOpValueExp</a>} with an {@code op} equal to
+      * an instance of the non-public class
+      * <a href="../../serialized-form.html#javax.management.BinaryOpValueExp">
+      * javax.management.BinaryOpValueExp</a> with an {@code op} equal to
       * {@link #PLUS}.
       */
      public static ValueExp plus(ValueExp value1, ValueExp value2) {
@@ -510,9 +509,9 @@
       *
       * @return A ValueExp representing the product.  The returned
       * object will be serialized as an instance of the non-public
-      * class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryOpValueExp">
-      * javax.management.BinaryOpValueExp</a>} with an {@code op} equal to
+      * class
+      * <a href="../../serialized-form.html#javax.management.BinaryOpValueExp">
+      * javax.management.BinaryOpValueExp</a> with an {@code op} equal to
       * {@link #TIMES}.
       */
      public static ValueExp times(ValueExp value1,ValueExp value2) {
@@ -528,9 +527,9 @@
       *
       * @return A ValueExp representing the difference between two
       * arguments.  The returned object will be serialized as an
-      * instance of the non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryOpValueExp">
-      * javax.management.BinaryOpValueExp</a>} with an {@code op} equal to
+      * instance of the non-public class
+      * <a href="../../serialized-form.html#javax.management.BinaryOpValueExp">
+      * javax.management.BinaryOpValueExp</a> with an {@code op} equal to
       * {@link #MINUS}.
       */
      public static ValueExp minus(ValueExp value1, ValueExp value2) {
@@ -546,9 +545,9 @@
       *
       * @return A ValueExp representing the quotient of two arguments.
       * The returned object will be serialized as an instance of the
-      * non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.BinaryOpValueExp">
-      * javax.management.BinaryOpValueExp</a>} with an {@code op} equal to
+      * non-public class
+      * <a href="../../serialized-form.html#javax.management.BinaryOpValueExp">
+      * javax.management.BinaryOpValueExp</a> with an {@code op} equal to
       * {@link #DIV}.
       */
      public static ValueExp div(ValueExp value1, ValueExp value2) {
@@ -566,9 +565,9 @@
       *
       * @return The constraint that a matches s.  The returned object
       * will be serialized as an instance of the non-public class
-      * {@link <a
-      * href="../../serialized-form.html#javax.management.MatchQueryExp">
-      * javax.management.MatchQueryExp</a>}.
+      *
+      * <a href="../../serialized-form.html#javax.management.MatchQueryExp">
+      * javax.management.MatchQueryExp</a>.
       */
      public static QueryExp initialSubString(AttributeValueExp a, StringValueExp s)  {
          return new MatchQueryExp(a,
@@ -585,9 +584,9 @@
       *
       * @return The constraint that a matches s.  The returned object
       * will be serialized as an instance of the non-public class
-      * {@link <a
-      * href="../../serialized-form.html#javax.management.MatchQueryExp">
-      * javax.management.MatchQueryExp</a>}.
+      *
+      * <a href="../../serialized-form.html#javax.management.MatchQueryExp">
+      * javax.management.MatchQueryExp</a>.
       */
      public static QueryExp anySubString(AttributeValueExp a, StringValueExp s) {
          return new MatchQueryExp(a,
@@ -605,9 +604,9 @@
       *
       * @return The constraint that a matches s.  The returned object
       * will be serialized as an instance of the non-public class
-      * {@link <a
-      * href="../../serialized-form.html#javax.management.MatchQueryExp">
-      * javax.management.MatchQueryExp</a>}.
+      *
+      * <a href="../../serialized-form.html#javax.management.MatchQueryExp">
+      * javax.management.MatchQueryExp</a>.
       */
      public static QueryExp finalSubString(AttributeValueExp a, StringValueExp s) {
          return new MatchQueryExp(a,
@@ -630,9 +629,9 @@
       *        of the class of which selected MBeans should be instances.
       * @return a query expression that represents an inheritance
       * constraint on an MBean class.  The returned object will be
-      * serialized as an instance of the non-public class {@link <a
-      * href="../../serialized-form.html#javax.management.InstanceOfQueryExp">
-      * javax.management.InstanceOfQueryExp</a>}.
+      * serialized as an instance of the non-public class
+      * <a href="../../serialized-form.html#javax.management.InstanceOfQueryExp">
+      * javax.management.InstanceOfQueryExp</a>.
       * @since 1.6
       */
      public static QueryExp isInstanceOf(StringValueExp classNameValue) {
diff --git a/jdk/src/share/classes/javax/management/loading/MLet.java b/jdk/src/share/classes/javax/management/loading/MLet.java
index b1dc72a..ab50507 100644
--- a/jdk/src/share/classes/javax/management/loading/MLet.java
+++ b/jdk/src/share/classes/javax/management/loading/MLet.java
@@ -145,17 +145,17 @@
  * This optional attribute specifies a list of one or more parameters for the
  * MBean to be instantiated. This list describes the parameters to be passed the MBean's constructor.
  * Use the following syntax to specify each item in
- * <VAR>arglist</VAR>:</DD>
+ * <VAR>arglist</VAR>:
  * <DL>
- * <P>
  * <DT>&lt;<CODE>ARG TYPE=</CODE><VAR>argumentType</VAR> <CODE>VALUE=</CODE><VAR>value</VAR>&gt;</DT>
- * <P>
- * <DD>where:</DD>
+ * <DD>where:
  * <UL>
  * <LI><VAR>argumentType</VAR> is the type of the argument that will be passed as parameter to the MBean's constructor.</UL>
+ * </DD>
  * </DL>
  * <P>The arguments' type in the argument list should be a Java primitive type or a Java basic type
  * (<CODE>java.lang.Boolean, java.lang.Byte, java.lang.Short, java.lang.Long, java.lang.Integer, java.lang.Float, java.lang.Double, java.lang.String</CODE>).
+ * </DD>
  * </DL>
  *
  * When an m-let text file is loaded, an
diff --git a/jdk/src/share/classes/javax/management/loading/MLetParser.java b/jdk/src/share/classes/javax/management/loading/MLetParser.java
index 88fb37a..bc3af8c 100644
--- a/jdk/src/share/classes/javax/management/loading/MLetParser.java
+++ b/jdk/src/share/classes/javax/management/loading/MLetParser.java
@@ -149,7 +149,7 @@
     }
 
     /**
-     * Scan an html file for <mlet> tags
+     * Scan an html file for {@literal <mlet>} tags.
      */
     public List<MLetContent> parse(URL url) throws IOException {
         String mth = "parse";
diff --git a/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java b/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java
index 4ba4d4c..1f7ad27 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java
@@ -799,7 +799,7 @@
      * the given object is also a Descriptor, and if the two Descriptors have
      * the same field names (possibly differing in case) and the same
      * associated values.  The respective values for a field in the two
-     * Descriptors are equal if the following conditions hold:</p>
+     * Descriptors are equal if the following conditions hold:
      *
      * <ul>
      * <li>If one value is null then the other must be too.</li>
@@ -871,7 +871,6 @@
      * done on the <i>"export"</i> field.
      * <P>
      * Otherwise this implementation returns false if:
-     * <P>
      * <UL>
      * <LI> name and descriptorType fieldNames are not defined, or
      * null, or empty, or not String
@@ -879,14 +878,14 @@
      * are null or not String
      * <LI> persistPeriod, currencyTimeLimit, lastUpdatedTimeStamp,
      * lastReturnedTimeStamp if defined, are null, or not a Numeric
-     * String or not a Numeric Value >= -1
+     * String or not a Numeric Value {@literal >= -1}
      * <LI> log fieldName, if defined, is null, or not a Boolean or
      * not a String with value "t", "f", "true", "false". These String
      * values must not be case sensitive.
      * <LI> visibility fieldName, if defined, is null, or not a
-     * Numeric String or a not Numeric Value >= 1 and &lt;= 4
+     * Numeric String or a not Numeric Value {@literal >= 1 and <= 4}
      * <LI> severity fieldName, if defined, is null, or not a Numeric
-     * String or not a Numeric Value >= 0 and &lt;= 6<br>
+     * String or not a Numeric Value {@literal >= 0 and <= 6}<br>
      * <LI> persistPolicy fieldName, if defined, is null, or not one of
      * the following strings:<br>
      *   "OnUpdate", "OnTimer", "NoMoreOftenThan", "OnUnregister", "Always",
@@ -1270,8 +1269,8 @@
     }
 
     /**
-     * Returns <pv>a human readable string representing the
-     * descriptor</pv>.  The string will be in the format of
+     * Returns a human readable string representing the
+     * descriptor.  The string will be in the format of
      * "fieldName=fieldValue,fieldName2=fieldValue2,..."<br>
      *
      * If there are no fields in the descriptor, then an empty String
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java
index 90d710a..a4fd412 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanAttributeInfo.java
@@ -57,7 +57,7 @@
  * Note that when the Type in this table is Number, a String that is the decimal
  * representation of a Long can also be used.</P>
  *
- * <table border="1" cellpadding="5">
+ * <table border="1" cellpadding="5" summary="ModelMBeanAttributeInfo Fields">
  * <tr><th>Name</th><th>Type</th><th>Meaning</th></tr>
  * <tr><td>name</td><td>String</td>
  *     <td>Attribute name.</td></tr>
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java
index 635553f..1f308e5 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanConstructorInfo.java
@@ -58,7 +58,7 @@
  * Note that when the Type in this table is Number, a String that is the decimal
  * representation of a Long can also be used.</P>
  *
- * <table border="1" cellpadding="5">
+ * <table border="1" cellpadding="5" summary="ModelMBeanConstructorInfo Fields">
  * <tr><th>Name</th><th>Type</th><th>Meaning</th></tr>
  * <tr><td>name</td><td>String</td>
  *     <td>Constructor name.</td></tr>
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java
index 95ce0eb..5d9fb01 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanInfo.java
@@ -165,7 +165,7 @@
      * following.  Note that when the Type in this table is Number, a String
      * that is the decimal representation of a Long can also be used.</P>
      *
-     * <table border="1" cellpadding="5">
+     * <table border="1" cellpadding="5" summary="ModelMBean Fields">
      * <tr><th>Name</th><th>Type</th><th>Meaning</th></tr>
      * <tr><td>name</td><td>String</td>
      *     <td>MBean name.</td></tr>
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java
index 0dacebf..0d1aa06 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationBroadcaster.java
@@ -127,7 +127,6 @@
          * <P>
          * @param oldValue The original value for the Attribute
          * @param newValue The current value for the Attribute
-         *<P>
          * <PRE>
          * The constructed attributeChangeNotification will be:
          *   type        "jmx.attribute.change"
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java
index 31d9199..538205a 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanNotificationInfo.java
@@ -56,7 +56,7 @@
  * Note that when the Type in this table is Number, a String that is the decimal
  * representation of a Long can also be used.</P>
  *
- * <table border="1" cellpadding="5">
+ * <table border="1" cellpadding="5" summary="ModelMBeanNotificationInfo Fields">
  * <tr><th>Name</th><th>Type</th><th>Meaning</th></tr>
  * <tr><td>name</td><td>String</td>
  *     <td>Notification name.</td></tr>
diff --git a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java
index 2d8e624..08e5b24 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/ModelMBeanOperationInfo.java
@@ -59,7 +59,7 @@
  * Note that when the Type in this table is Number, a String that is the decimal
  * representation of a Long can also be used.</P>
  *
- * <table border="1" cellpadding="5">
+ * <table border="1" cellpadding="5" summary="ModelMBeanOperationInfo Fields">
  * <tr><th>Name</th><th>Type</th><th>Meaning</th></tr>
  * <tr><td>name</td><td>String</td>
  *     <td>Operation name.</td></tr>
diff --git a/jdk/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java b/jdk/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java
index 0afd70f..d19aa48 100644
--- a/jdk/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java
+++ b/jdk/src/share/classes/javax/management/modelmbean/RequiredModelMBean.java
@@ -360,7 +360,7 @@
                 MODELMBEAN_LOGGER.logp(Level.FINER,
                         RequiredModelMBean.class.getName(),
                     "setManagedResource(Object,String)",
-                    "Managed Resouce Type is not supported: " + mr_type);
+                    "Managed Resource Type is not supported: " + mr_type);
             }
             throw new InvalidTargetObjectTypeException(mr_type);
         }
@@ -369,7 +369,7 @@
             MODELMBEAN_LOGGER.logp(Level.FINER,
                     RequiredModelMBean.class.getName(),
                 "setManagedResource(Object,String)",
-                "Managed Resouce is valid");
+                "Managed Resource is valid");
         }
         managedResource = mr;
 
@@ -421,19 +421,19 @@
      * is used to guide execution of this method. The MBean should be
      * stored if 'persistPolicy' field is:</p>
      *
-     * <PRE>  != "never"
+     * <PRE>{@literal  != "never"
      *   = "always"
      *   = "onTimer" and now > 'lastPersistTime' + 'persistPeriod'
      *   = "NoMoreOftenThan" and now > 'lastPersistTime' + 'persistPeriod'
      *   = "onUnregister"
-     * </PRE>
+     * }</PRE>
      *
      * <p>Do not store the MBean if 'persistPolicy' field is:</p>
-     * <PRE>
+     * <PRE>{@literal
      *    = "never"
      *    = "onUpdate"
      *    = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'
-     * </PRE>
+     * }</PRE>
      *
      * @exception MBeanException Wraps another exception, or
      * persistence is not supported
@@ -469,11 +469,14 @@
      *   <li><b>&gt;0</b> Represents the number of seconds that the
      *         'value' field is valid.
      *         The 'value' field is no longer valid when
-     *         'lastUpdatedTimeStamp' + 'currencyTimeLimit' &gt; Now.</li>
+     *         'lastUpdatedTimeStamp' + 'currencyTimeLimit' &gt; Now.
+     *       <ul>
+     *       <li>When 'value' is valid, 'valid' is returned.</li>
+     *       <li>When 'value' is no longer valid then null is returned and
+     *           'value' and 'lastUpdatedTimeStamp' fields are cleared.</li>
+     *       </ul>
+     *   </li>
      * </ul>
-     * <li>When 'value' is valid, 'valid' is returned.</li>
-     * <li>When 'value' is no longer valid then null is returned and
-     *     'value' and 'lastUpdatedTimeStamp' fields are cleared.</li>
      *
      **/
     private Object resolveForCacheValue(Descriptor descr)
@@ -1842,17 +1845,17 @@
      * <Li> != "never"</Li>
      * <Li> = "always"</Li>
      * <Li> = "onUpdate"</Li>
-     * <Li> = "onTimer" and now &gt; 'lastPersistTime' + 'persistPeriod'</Li>
-     * <Li> = "NoMoreOftenThan" and now &gt; 'lastPersistTime' +
-     *         'persistPeriod'</Li>
+     * <Li> {@literal = "onTimer" and now > 'lastPersistTime' + 'persistPeriod'}</Li>
+     * <Li> {@literal = "NoMoreOftenThan" and now > 'lastPersistTime' +
+     *         'persistPeriod'}</Li>
      * </UL>
      * Do not store the MBean if 'persistPolicy' field is:
      * <UL>
      * <Li> = "never"</Li>
-     * <Li> = "onTimer" && now &lt; 'lastPersistTime' + 'persistPeriod'</Li>
+     * <Li> = {@literal = "onTimer" && now < 'lastPersistTime' + 'persistPeriod'}</Li>
      * <Li> = "onUnregister"</Li>
-     * <Li> = "NoMoreOftenThan" and now &lt; 'lastPersistTime' +
-     *        'persistPeriod'</Li>
+     * <Li> = {@literal = "NoMoreOftenThan" and now < 'lastPersistTime' +
+     *        'persistPeriod'}</Li>
      * </UL>
      *
      * <p>The ModelMBeanInfo of the Model MBean is stored in a file.
diff --git a/jdk/src/share/classes/javax/management/monitor/Monitor.java b/jdk/src/share/classes/javax/management/monitor/Monitor.java
index 2746f10..f80b1f7 100644
--- a/jdk/src/share/classes/javax/management/monitor/Monitor.java
+++ b/jdk/src/share/classes/javax/management/monitor/Monitor.java
@@ -1609,7 +1609,7 @@
      * the thread instantiating this DaemonThreadFactory. Each new
      * thread is created as a daemon thread with priority
      * Thread.NORM_PRIORITY. New threads have names accessible via
-     * Thread.getName() of "JMX Monitor <pool-name> Pool [Thread-M]",
+     * Thread.getName() of "{@literal JMX Monitor <pool-name> Pool [Thread-M]}",
      * where M is the sequence number of the thread created by this
      * factory.
      */
diff --git a/jdk/src/share/classes/javax/management/openmbean/ArrayType.java b/jdk/src/share/classes/javax/management/openmbean/ArrayType.java
index 55d173c..afd2b6a 100644
--- a/jdk/src/share/classes/javax/management/openmbean/ArrayType.java
+++ b/jdk/src/share/classes/javax/management/openmbean/ArrayType.java
@@ -33,7 +33,7 @@
  * all <i>open data</i> values which are n-dimensional arrays of <i>open data</i> values.
  * <p>
  * Examples of valid {@code ArrayType} instances are:
- * <pre>
+ * <pre>{@code
  * // 2-dimension array of java.lang.String
  * ArrayType<String[][]> a1 = new ArrayType<String[][]>(2, SimpleType.STRING);
  *
@@ -90,7 +90,7 @@
  *
  * // 3-dimension array of java.lang.String
  * ArrayType<String[][][]> a19 = new ArrayType<String[][][]>(1, a18);
- * </pre>
+ * }</pre>
  *
  *
  * @since 1.5
@@ -241,23 +241,23 @@
      * </ul>
      * <p>
      * As an example, the following piece of code:
-     * <pre>
+     * <pre>{@code
      * ArrayType<String[][][]> t = new ArrayType<String[][][]>(3, SimpleType.STRING);
      * System.out.println("array class name       = " + t.getClassName());
      * System.out.println("element class name     = " + t.getElementOpenType().getClassName());
      * System.out.println("array type name        = " + t.getTypeName());
      * System.out.println("array type description = " + t.getDescription());
-     * </pre>
+     * }</pre>
      * would produce the following output:
-     * <pre>
+     * <pre>{@code
      * array class name       = [[[Ljava.lang.String;
      * element class name     = java.lang.String
      * array type name        = [[[Ljava.lang.String;
      * array type description = 3-dimension array of java.lang.String
-     * </pre>
+     * }</pre>
      * And the following piece of code which is equivalent to the one listed
      * above would also produce the same output:
-     * <pre>
+     * <pre>{@code
      * ArrayType<String[]> t1 = new ArrayType<String[]>(1, SimpleType.STRING);
      * ArrayType<String[][]> t2 = new ArrayType<String[][]>(1, t1);
      * ArrayType<String[][][]> t3 = new ArrayType<String[][][]>(1, t2);
@@ -265,7 +265,7 @@
      * System.out.println("element class name     = " + t3.getElementOpenType().getClassName());
      * System.out.println("array type name        = " + t3.getTypeName());
      * System.out.println("array type description = " + t3.getDescription());
-     * </pre>
+     * }</pre>
      *
      * @param  dimension  the dimension of arrays described by this <tt>ArrayType</tt> instance;
      *                    must be greater than or equal to 1.
@@ -334,20 +334,20 @@
      * </ul>
      * <p>
      * As an example, the following piece of code:
-     * <pre>
+     * <pre>{@code
      * ArrayType<int[]> t = new ArrayType<int[]>(SimpleType.INTEGER, true);
      * System.out.println("array class name       = " + t.getClassName());
      * System.out.println("element class name     = " + t.getElementOpenType().getClassName());
      * System.out.println("array type name        = " + t.getTypeName());
      * System.out.println("array type description = " + t.getDescription());
-     * </pre>
+     * }</pre>
      * would produce the following output:
-     * <pre>
+     * <pre>{@code
      * array class name       = [I
      * element class name     = java.lang.Integer
      * array type name        = [I
      * array type description = 1-dimension array of int
-     * </pre>
+     * }</pre>
      *
      * @param elementType the {@code SimpleType} of the element values
      *                    contained in the arrays described by this
@@ -533,7 +533,7 @@
      * <li>if this <code>ArrayType</code> instance describes an array of
      * classes implementing the {@code TabularData} interface or the
      * {@code CompositeData} interface, <var>obj</var> is assignable to
-     * such a declared array, and each element contained in <var>obj</var>
+     * such a declared array, and each element contained in {<var>obj</var>
      * is either null or a valid value for the element's open type specified
      * by this <code>ArrayType</code> instance.</li>
      * </ul>
@@ -776,7 +776,7 @@
      * object or two equal but not identical objects.
      * <p>
      * As an example, the following piece of code:
-     * <pre>
+     * <pre>{@code
      * ArrayType<String[]> t1 = ArrayType.getArrayType(SimpleType.STRING);
      * ArrayType<String[][]> t2 = ArrayType.getArrayType(t1);
      * ArrayType<String[][][]> t3 = ArrayType.getArrayType(t2);
@@ -784,14 +784,14 @@
      * System.out.println("element class name     = " + t3.getElementOpenType().getClassName());
      * System.out.println("array type name        = " + t3.getTypeName());
      * System.out.println("array type description = " + t3.getDescription());
-     * </pre>
+     * }</pre>
      * would produce the following output:
-     * <pre>
+     * <pre>{@code
      * array class name       = [[[Ljava.lang.String;
      * element class name     = java.lang.String
      * array type name        = [[[Ljava.lang.String;
      * array type description = 3-dimension array of java.lang.String
-     * </pre>
+     * }</pre>
      *
      * @param  elementType  the <i>open type</i> of element values contained
      *                      in the arrays described by this <tt>ArrayType</tt>
@@ -819,20 +819,20 @@
      * same object or two equal but not identical objects.
      * <p>
      * As an example, the following piece of code:
-     * <pre>
+     * <pre>{@code
      * ArrayType<int[][][]> t = ArrayType.getPrimitiveArrayType(int[][][].class);
      * System.out.println("array class name       = " + t.getClassName());
      * System.out.println("element class name     = " + t.getElementOpenType().getClassName());
      * System.out.println("array type name        = " + t.getTypeName());
      * System.out.println("array type description = " + t.getDescription());
-     * </pre>
+     * }</pre>
      * would produce the following output:
-     * <pre>
+     * <pre>{@code
      * array class name       = [[[I
      * element class name     = java.lang.Integer
      * array type name        = [[[I
      * array type description = 3-dimension array of int
-     * </pre>
+     * }</pre>
      *
      * @param arrayClass a primitive array class such as {@code int[].class},
      *                   {@code boolean[][].class}, etc. The {@link
diff --git a/jdk/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java b/jdk/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java
index 6b42050..2d9e238 100644
--- a/jdk/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java
+++ b/jdk/src/share/classes/javax/management/openmbean/CompositeDataInvocationHandler.java
@@ -80,7 +80,7 @@
    </pre>
    </blockquote>
 
-   A call to {@code nn.getNumber()} will then return <b>5</b>.</p>
+   A call to {@code nn.getNumber()} will then return <b>5</b>.
 
    <p>If the first letter of the property defined by a getter is a
    capital, then this handler will look first for an item in the
diff --git a/jdk/src/share/classes/javax/management/openmbean/CompositeType.java b/jdk/src/share/classes/javax/management/openmbean/CompositeType.java
index 74e58fa..93540af 100644
--- a/jdk/src/share/classes/javax/management/openmbean/CompositeType.java
+++ b/jdk/src/share/classes/javax/management/openmbean/CompositeType.java
@@ -40,7 +40,7 @@
 
 /**
  * The <code>CompositeType</code> class is the <i>open type</i> class
- * whose instances describe the types of {@link CompositeData <code>CompositeData</code>} values.
+ * whose instances describe the types of {@link CompositeData CompositeData} values.
  *
  *
  * @since 1.5
diff --git a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
index 116ca6d..550a507 100644
--- a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
+++ b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanAttributeInfoSupport.java
@@ -138,8 +138,8 @@
      *
      * <p>The {@code descriptor} can contain entries that will define
      * the values returned by certain methods of this class, as
-     * explained in the {@link <a href="package-summary.html#constraints">
-     * package description</a>}.
+     * explained in the <a href="package-summary.html#constraints">
+     * package description</a>.
      *
      * @param name  cannot be a null or empty string.
      *
@@ -162,8 +162,7 @@
      * @throws IllegalArgumentException if {@code name} or {@code
      * description} are null or empty string, or {@code openType} is
      * null, or the descriptor entries are invalid as described in the
-     * {@link <a href="package-summary.html#constraints">package
-     * description</a>}.
+     * <a href="package-summary.html#constraints">package description</a>.
      *
      * @since 1.6
      */
diff --git a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java
index 4ef8f75..56ad0cf 100644
--- a/jdk/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java
+++ b/jdk/src/share/classes/javax/management/openmbean/OpenMBeanParameterInfoSupport.java
@@ -111,16 +111,16 @@
     }
 
     /**
-     * <p>Constructs an {@code OpenMBeanParameterInfoSupport} instance,
+     * Constructs an {@code OpenMBeanParameterInfoSupport} instance,
      * which describes the parameter used in one or more operations or
      * constructors of a class of open MBeans, with the specified
      * {@code name}, {@code openType}, {@code description},
-     * and {@code descriptor}.</p>
+     * and {@code descriptor}.
      *
      * <p>The {@code descriptor} can contain entries that will define
      * the values returned by certain methods of this class, as
-     * explained in the {@link <a href="package-summary.html#constraints">
-     * package description</a>}.
+     * explained in the <a href="package-summary.html#constraints">
+     * package description</a>.
      *
      * @param name  cannot be a null or empty string.
      *
@@ -134,8 +134,8 @@
      * @throws IllegalArgumentException if {@code name} or {@code
      * description} are null or empty string, or {@code openType} is
      * null, or the descriptor entries are invalid as described in the
-     * {@link <a href="package-summary.html#constraints">package
-     * description</a>}.
+     * <a href="package-summary.html#constraints">package
+     * description</a>.
      *
      * @since 1.6
      */
diff --git a/jdk/src/share/classes/javax/management/openmbean/SimpleType.java b/jdk/src/share/classes/javax/management/openmbean/SimpleType.java
index 8672426..ea26ae5 100644
--- a/jdk/src/share/classes/javax/management/openmbean/SimpleType.java
+++ b/jdk/src/share/classes/javax/management/openmbean/SimpleType.java
@@ -45,8 +45,8 @@
 /**
  * The <code>SimpleType</code> class is the <i>open type</i> class whose instances describe
  * all <i>open data</i> values which are neither arrays,
- * nor {@link CompositeData <code>CompositeData</code>} values,
- * nor {@link TabularData <code>TabularData</code>} values.
+ * nor {@link CompositeData CompositeData} values,
+ * nor {@link TabularData TabularData} values.
  * It predefines all its possible instances as static fields, and has no public constructor.
  * <p>
  * Given a <code>SimpleType</code> instance describing values whose Java class name is <i>className</i>,
diff --git a/jdk/src/share/classes/javax/management/openmbean/TabularType.java b/jdk/src/share/classes/javax/management/openmbean/TabularType.java
index a1bcc71..9eca491 100644
--- a/jdk/src/share/classes/javax/management/openmbean/TabularType.java
+++ b/jdk/src/share/classes/javax/management/openmbean/TabularType.java
@@ -40,7 +40,7 @@
 
 /**
  * The <code>TabularType</code> class is the <i> open type</i> class
- * whose instances describe the types of {@link TabularData <code>TabularData</code>} values.
+ * whose instances describe the types of {@link TabularData TabularData} values.
  *
  * @since 1.5
  */
@@ -89,8 +89,8 @@
      *                     cannot be null or empty. Each element should be an item name defined in <var>rowType</var>
      *                     (no null or empty string allowed).
      *                     It is important to note that the <b>order</b> of the item names in <var>indexNames</var>
-     *                     is used by the methods {@link TabularData#get(java.lang.Object[]) <code>get</code>} and
-     *                     {@link TabularData#remove(java.lang.Object[]) <code>remove</code>} of class
+     *                     is used by the methods {@link TabularData#get(java.lang.Object[]) get} and
+     *                     {@link TabularData#remove(java.lang.Object[]) remove} of class
      *                     <code>TabularData</code> to match their array of values parameter to items.
      * <br>&nbsp;
      * @throws IllegalArgumentException  if <var>rowType</var> is null,
diff --git a/jdk/src/share/classes/javax/management/relation/Relation.java b/jdk/src/share/classes/javax/management/relation/Relation.java
index 7a77f7b..3ef3ce7 100644
--- a/jdk/src/share/classes/javax/management/relation/Relation.java
+++ b/jdk/src/share/classes/javax/management/relation/Relation.java
@@ -236,7 +236,7 @@
      * Retrieves MBeans referenced in the various roles of the relation.
      *
      * @return a HashMap mapping:
-     * <P> ObjectName -> ArrayList of String (role names)
+     * <P> ObjectName {@literal ->} ArrayList of String (role names)
      */
     public Map<ObjectName,List<String>> getReferencedMBeans();
 
diff --git a/jdk/src/share/classes/javax/management/relation/RelationService.java b/jdk/src/share/classes/javax/management/relation/RelationService.java
index 6ea329a..2585d11 100644
--- a/jdk/src/share/classes/javax/management/relation/RelationService.java
+++ b/jdk/src/share/classes/javax/management/relation/RelationService.java
@@ -2306,8 +2306,7 @@
      * @param relationId  relation id
      *
      * @return a HashMap mapping:
-     * <P> ObjectName -> ArrayList of String (role
-     * names)
+     * <P> ObjectName {@literal ->} ArrayList of String (role names)
      *
      * @exception IllegalArgumentException  if null parameter
      * @exception RelationNotFoundException  if no relation for given
diff --git a/jdk/src/share/classes/javax/management/relation/RelationServiceMBean.java b/jdk/src/share/classes/javax/management/relation/RelationServiceMBean.java
index 48dde4b..a875304 100644
--- a/jdk/src/share/classes/javax/management/relation/RelationServiceMBean.java
+++ b/jdk/src/share/classes/javax/management/relation/RelationServiceMBean.java
@@ -770,7 +770,7 @@
      * @param relationId  relation id
      *
      * @return a HashMap mapping:
-     * <P> ObjectName -> ArrayList of String (role
+     * <P> ObjectName {@literal ->} ArrayList of String (role
      * names)
      *
      * @exception IllegalArgumentException  if null parameter
diff --git a/jdk/src/share/classes/javax/management/relation/RelationSupport.java b/jdk/src/share/classes/javax/management/relation/RelationSupport.java
index c5ebd4e..be18fd2 100644
--- a/jdk/src/share/classes/javax/management/relation/RelationSupport.java
+++ b/jdk/src/share/classes/javax/management/relation/RelationSupport.java
@@ -590,7 +590,7 @@
      * Retrieves MBeans referenced in the various roles of the relation.
      *
      * @return a HashMap mapping:
-     * <P> ObjectName -> ArrayList of String (role names)
+     * <P> ObjectName {@literal ->} ArrayList of String (role names)
      */
     public Map<ObjectName,List<String>> getReferencedMBeans() {
 
diff --git a/jdk/src/share/classes/javax/management/remote/JMXConnectionNotification.java b/jdk/src/share/classes/javax/management/remote/JMXConnectionNotification.java
index fa0fb0e..401d592 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXConnectionNotification.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnectionNotification.java
@@ -40,7 +40,7 @@
  *
  * <p>The notification type is one of the following:</p>
  *
- * <table>
+ * <table summary="JMXConnectionNotification Types">
  *
  * <tr>
  * <th align=left>Type</th>
diff --git a/jdk/src/share/classes/javax/management/remote/JMXConnector.java b/jdk/src/share/classes/javax/management/remote/JMXConnector.java
index c036640..81502d8 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXConnector.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnector.java
@@ -76,7 +76,7 @@
      * <p>If <code>connect</code> has already been called successfully
      * on this object, calling it again has no effect.  If, however,
      * {@link #close} was called after <code>connect</code>, the new
-     * <code>connect</code> will throw an <code>IOException</code>.<p>
+     * <code>connect</code> will throw an <code>IOException</code>.
      *
      * <p>Otherwise, either <code>connect</code> has never been called
      * on this object, or it has been called but produced an
diff --git a/jdk/src/share/classes/javax/management/remote/JMXConnectorProvider.java b/jdk/src/share/classes/javax/management/remote/JMXConnectorProvider.java
index 18d74c2..4d982aa 100644
--- a/jdk/src/share/classes/javax/management/remote/JMXConnectorProvider.java
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnectorProvider.java
@@ -50,7 +50,7 @@
      * @param environment a read-only Map containing named attributes
      * to determine how the connection is made.  Keys in this map must
      * be Strings.  The appropriate type of each associated value
-     * depends on the attribute.</p>
+     * depends on the attribute.
      *
      * @return a <code>JMXConnector</code> representing the new
      * connector client.  Each successful call to this method produces
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java
index 294308d..4d0a3d4 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java
@@ -1613,7 +1613,7 @@
 
     /**
      * Construct a new IOException with a nested exception.
-     * The nested exception is set only if JDK >= 1.4
+     * The nested exception is set only if JDK {@literal >= 1.4}
      */
     private static IOException newIOException(String message,
                                               Throwable cause) {
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnector.java b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnector.java
index a336566..9d71ed9 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnector.java
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnector.java
@@ -1688,17 +1688,17 @@
      * this method will attempt to connect the stub to an ORB as
      * follows:
      * <ul>
-     * <p>This method looks in the provided <var>environment</var> for
+     * <li>This method looks in the provided <var>environment</var> for
      * the "java.naming.corba.orb" property. If it is found, the
      * referenced object (an {@link org.omg.CORBA.ORB ORB}) is used to
      * connect the stub. Otherwise, a new org.omg.CORBA.ORB is created
      * by calling {@link
      * org.omg.CORBA.ORB#init(String[], Properties)
-     * org.omg.CORBA.ORB.init((String[])null,(Properties)null)}
-     * <p>The new created ORB is kept in a static
+     * org.omg.CORBA.ORB.init((String[])null,(Properties)null)}</li>
+     * <li>The new created ORB is kept in a static
      * {@link WeakReference} and can be reused for connecting other
      * stubs. However, no reference is ever kept on the ORB provided
-     * in the <var>environment</var> map, if any.
+     * in the <var>environment</var> map, if any.</li>
      * </ul>
      * @param rmiServer A RMI Server Stub.
      * @param environment An environment map, possibly containing an ORB.
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java
index faa949c..9db8bd9 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java
@@ -820,7 +820,7 @@
 
     /**
      * Construct a new IOException with a nested exception.
-     * The nested exception is set only if JDK >= 1.4
+     * The nested exception is set only if JDK {@literal >= 1.4}
      */
     private static IOException newIOException(String message,
                                               Throwable cause) {
diff --git a/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java b/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java
index 2226f6c..e3e10d4 100644
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java
@@ -117,7 +117,7 @@
      * server.</p>
      *
      * @return the default <code>ClassLoader</code> used by this
-     * connector server.</p>
+     * connector server.
      *
      * @see #setDefaultClassLoader
      */
diff --git a/jdk/src/share/classes/javax/swing/AbstractButton.java b/jdk/src/share/classes/javax/swing/AbstractButton.java
index 5157b16..6f75be9 100644
--- a/jdk/src/share/classes/javax/swing/AbstractButton.java
+++ b/jdk/src/share/classes/javax/swing/AbstractButton.java
@@ -1381,7 +1381,7 @@
      * If <code>true</code> and the button has a border,
      * the border is painted. The default value for the
      * <code>borderPainted</code> property is <code>true</code>.
-     * <p/>
+     * <p>
      * Some look and feels might not support
      * the <code>borderPainted</code> property,
      * in which case they ignore this.
@@ -1476,7 +1476,7 @@
      * This function may cause the component's opaque property to change.
      * <p>
      * The exact behavior of calling this function varies on a
-     * component-by-component and L&F-by-L&F basis.
+     * component-by-component and L&amp;F-by-L&amp;F basis.
      *
      * @param b if true, the content should be filled; if false
      *          the content area is not filled
@@ -1702,7 +1702,7 @@
      * @see #getMultiClickThreshhold
      * @param threshhold the amount of time required between mouse
      *        press events to generate corresponding action events
-     * @exception   IllegalArgumentException if threshhold < 0
+     * @exception   IllegalArgumentException if threshhold &lt; 0
      * @since 1.4
      */
     public void setMultiClickThreshhold(long threshhold) {
@@ -1787,7 +1787,7 @@
 
 
     /**
-     * Returns the L&F object that renders this component.
+     * Returns the L&amp;F object that renders this component.
      * @return the ButtonUI object
      * @see #setUI
      */
@@ -1797,8 +1797,8 @@
 
 
     /**
-     * Sets the L&F object that renders this component.
-     * @param ui the <code>ButtonUI</code> L&F object
+     * Sets the L&amp;F object that renders this component.
+     * @param ui the <code>ButtonUI</code> L&amp;F object
      * @see #getUI
      * @beaninfo
      *        bound: true
@@ -2722,7 +2722,7 @@
          *
          * @param part the AccessibleText.CHARACTER, AccessibleText.WORD,
          * or AccessibleText.SENTENCE to retrieve
-         * @param index an index within the text >= 0
+         * @param index an index within the text &gt;= 0
          * @return the letter, word, or sentence,
          *   null for an invalid index or part
          * @since 1.3
@@ -2769,7 +2769,7 @@
          *
          * @param part the AccessibleText.CHARACTER, AccessibleText.WORD,
          * or AccessibleText.SENTENCE to retrieve
-         * @param index an index within the text >= 0
+         * @param index an index within the text &gt;= 0
          * @return the letter, word, or sentence, null for an invalid
          *  index or part
          * @since 1.3
@@ -2833,7 +2833,7 @@
          *
          * @param part the AccessibleText.CHARACTER, AccessibleText.WORD,
          *   or AccessibleText.SENTENCE to retrieve
-         * @param index an index within the text >= 0
+         * @param index an index within the text &gt;= 0
          * @return the letter, word, or sentence, null for an invalid index
          *  or part
          * @since 1.3
diff --git a/jdk/src/share/classes/javax/swing/Action.java b/jdk/src/share/classes/javax/swing/Action.java
index 307f40a..7223d81 100644
--- a/jdk/src/share/classes/javax/swing/Action.java
+++ b/jdk/src/share/classes/javax/swing/Action.java
@@ -69,7 +69,7 @@
  * are desired, and use simple <code>ActionListener</code>s elsewhere.
  * <p>
  *
- * <h4><a name="buttonActions"></a>Swing Components Supporting <code>Action</code></h4>
+ * <h3><a name="buttonActions"></a>Swing Components Supporting <code>Action</code></h3>
  * <p>
  * Many of Swing's components have an <code>Action</code> property.  When
  * an <code>Action</code> is set on a component, the following things
@@ -95,8 +95,7 @@
  * button's corresponding property being set to <code>null</code>.
  * <p>
  * <table border="1" cellpadding="1" cellspacing="0"
- *         summary="Supported Action properties"
- *         valign="top" >
+ *         summary="Supported Action properties">
  *  <tr valign="top"  align="left">
  *    <th style="background-color:#CCCCFF" align="left">Component Property
  *    <th style="background-color:#CCCCFF" align="left">Components
diff --git a/jdk/src/share/classes/javax/swing/Box.java b/jdk/src/share/classes/javax/swing/Box.java
index 2f4c6e4..1a3ace7 100644
--- a/jdk/src/share/classes/javax/swing/Box.java
+++ b/jdk/src/share/classes/javax/swing/Box.java
@@ -155,7 +155,7 @@
      * in which case it takes its share of available space,
      * just like any other component that has no maximum height.
      *
-     * @param width the width of the invisible component, in pixels >= 0
+     * @param width the width of the invisible component, in pixels &gt;= 0
      * @return the component
      * @see #createVerticalStrut
      * @see #createGlue
@@ -179,7 +179,7 @@
      * in which case it takes its share of available space,
      * just like any other component that has no maximum width.
      *
-     * @param height the height of the invisible component, in pixels >= 0
+     * @param height the height of the invisible component, in pixels &gt;= 0
      * @return the component
      * @see #createHorizontalStrut
      * @see #createGlue
diff --git a/jdk/src/share/classes/javax/swing/BoxLayout.java b/jdk/src/share/classes/javax/swing/BoxLayout.java
index f510553..09968fb 100644
--- a/jdk/src/share/classes/javax/swing/BoxLayout.java
+++ b/jdk/src/share/classes/javax/swing/BoxLayout.java
@@ -287,7 +287,7 @@
      * in the specified target container.
      *
      * @param target  the container that needs to be laid out
-     * @return the dimensions >= 0 && <= Integer.MAX_VALUE
+     * @return the dimensions &gt;= 0 &amp;&amp; &lt;= Integer.MAX_VALUE
      * @exception AWTError  if the target isn't the container specified to the
      *                      BoxLayout constructor
      * @see Container
@@ -313,7 +313,7 @@
      * contained in the specified target container.
      *
      * @param target  the container that needs to be laid out
-     * @return the dimensions >= 0 && <= Integer.MAX_VALUE
+     * @return the dimensions &gt;= 0 &amp;&amp; &lt;= Integer.MAX_VALUE
      * @exception AWTError  if the target isn't the container specified to the
      *                      BoxLayout constructor
      * @see #preferredLayoutSize
@@ -338,7 +338,7 @@
      * to lay out the components it contains.
      *
      * @param target  the container that needs to be laid out
-     * @return the dimensions >= 0 && <= Integer.MAX_VALUE
+     * @return the dimensions &gt;= 0 &amp;&amp; &lt;= Integer.MAX_VALUE
      * @exception AWTError  if the target isn't the container specified to the
      *                      BoxLayout constructor
      * @see #preferredLayoutSize
@@ -365,7 +365,7 @@
      * to place the children along the X axis will be returned.
      *
      * @param target  the container
-     * @return the alignment >= 0.0f && <= 1.0f
+     * @return the alignment &gt;= 0.0f &amp;&amp; &lt;= 1.0f
      * @exception AWTError  if the target isn't the container specified to the
      *                      BoxLayout constructor
      */
@@ -382,7 +382,7 @@
      * to place the children along the Y axis will be returned.
      *
      * @param target  the container
-     * @return the alignment >= 0.0f && <= 1.0f
+     * @return the alignment &gt;= 0.0f &amp;&amp; &lt;= 1.0f
      * @exception AWTError  if the target isn't the container specified to the
      *                      BoxLayout constructor
      */
diff --git a/jdk/src/share/classes/javax/swing/CellRendererPane.java b/jdk/src/share/classes/javax/swing/CellRendererPane.java
index 6a9f17b..3e43b80 100644
--- a/jdk/src/share/classes/javax/swing/CellRendererPane.java
+++ b/jdk/src/share/classes/javax/swing/CellRendererPane.java
@@ -96,7 +96,7 @@
     /**
      * If the specified component is already a child of this then we don't
      * bother doing anything - stacking order doesn't matter for cell
-     * renderer components (CellRendererPane doesn't paint anyway).<
+     * renderer components (CellRendererPane doesn't paint anyway).
      */
     protected void addImpl(Component x, Object constraints, int index) {
         if (x.getParent() == this) {
diff --git a/jdk/src/share/classes/javax/swing/DefaultListSelectionModel.java b/jdk/src/share/classes/javax/swing/DefaultListSelectionModel.java
index 26f06c6..388a5a5 100644
--- a/jdk/src/share/classes/javax/swing/DefaultListSelectionModel.java
+++ b/jdk/src/share/classes/javax/swing/DefaultListSelectionModel.java
@@ -637,7 +637,7 @@
      * Remove the indices in the interval index0,index1 (inclusive) from
      * the selection model.  This is typically called to sync the selection
      * model width a corresponding change in the data model.  Note
-     * that (as always) index0 need not be <= index1.
+     * that (as always) index0 need not be &lt;= index1.
      */
     public void removeIndexInterval(int index0, int index1)
     {
diff --git a/jdk/src/share/classes/javax/swing/DesktopManager.java b/jdk/src/share/classes/javax/swing/DesktopManager.java
index 2f141e4..e0a2a43 100644
--- a/jdk/src/share/classes/javax/swing/DesktopManager.java
+++ b/jdk/src/share/classes/javax/swing/DesktopManager.java
@@ -26,13 +26,13 @@
 package javax.swing;
 
 /** DesktopManager objects are owned by a JDesktopPane object. They are responsible
-  * for implementing L&F specific behaviors for the JDesktopPane. JInternalFrame
+  * for implementing L&amp;F specific behaviors for the JDesktopPane. JInternalFrame
   * implementations should delegate specific behaviors to the DesktopManager. For
   * instance, if a JInternalFrame was asked to iconify, it should try:
   * <PRE>
   *    getDesktopPane().getDesktopManager().iconifyFrame(frame);
   * </PRE>
-  * This delegation allows each L&F to provide custom behaviors for desktop-specific
+  * This delegation allows each L&amp;F to provide custom behaviors for desktop-specific
   * actions. (For example, how and where the internal frame's icon would appear.)
   * <p>This class provides a policy for the various JInternalFrame methods, it is not
   * meant to be called directly rather the various JInternalFrame methods will call
diff --git a/jdk/src/share/classes/javax/swing/GroupLayout.java b/jdk/src/share/classes/javax/swing/GroupLayout.java
index 9b0d4df..e3be1dd 100644
--- a/jdk/src/share/classes/javax/swing/GroupLayout.java
+++ b/jdk/src/share/classes/javax/swing/GroupLayout.java
@@ -80,7 +80,7 @@
  * axis. The sequential group contains three components. A parallel group
  * was used along the vertical axis.
  * <p style="text-align:center">
- * <img src="doc-files/groupLayout.1.gif">
+ * <img src="doc-files/groupLayout.1.gif" alt="Sequential group along the horizontal axis in three components">
  * <p>
  * To reinforce that each axis is treated independently the diagram shows
  * the range of each group and element along each axis. The
@@ -102,7 +102,7 @@
  * the vertical axis.
  * <p>
  * <p style="text-align:center">
- * <img src="doc-files/groupLayout.2.gif">
+ * <img src="doc-files/groupLayout.2.gif" alt="Sequential group along the vertical axis in three components">
  * <p>
  * As {@code c1} is the largest of the three components, the parallel
  * group is sized to {@code c1}. As {@code c2} and {@code c3} are smaller
@@ -116,7 +116,7 @@
  * The following diagram shows a sequential group along both the horizontal
  * and vertical axis.
  * <p style="text-align:center">
- * <img src="doc-files/groupLayout.3.gif">
+ * <img src="doc-files/groupLayout.3.gif" alt="Sequential group along both the horizontal and vertical axis in three components">
  * <p>
  * {@code GroupLayout} provides the ability to insert gaps between
  * {@code Component}s. The size of the gap is determined by an
@@ -173,7 +173,7 @@
  * <p>
  * When run the following is produced.
  * <p style="text-align:center">
- * <img src="doc-files/groupLayout.example.png">
+ * <img src="doc-files/groupLayout.example.png" alt="Produced horizontal/vertical form">
  * <p>
  * This layout consists of the following.
  * <ul><li>The horizontal axis consists of a sequential group containing two
diff --git a/jdk/src/share/classes/javax/swing/JComponent.java b/jdk/src/share/classes/javax/swing/JComponent.java
index 598916d..3f4d3f2 100644
--- a/jdk/src/share/classes/javax/swing/JComponent.java
+++ b/jdk/src/share/classes/javax/swing/JComponent.java
@@ -4906,12 +4906,12 @@
     /**
      * Returns {@code true} if a paint triggered on a child component should cause
      * painting to originate from this Component, or one of its ancestors.
-     * <p/>
+     * <p>
      * Calling {@link #repaint} or {@link #paintImmediately(int, int, int, int)}
      * on a Swing component will result in calling
      * the {@link JComponent#paintImmediately(int, int, int, int)} method of
      * the first ancestor which {@code isPaintingOrigin()} returns {@code true}, if there are any.
-     * <p/>
+     * <p>
      * {@code JComponent} subclasses that need to be painted when any of their
      * children are repainted should override this method to return {@code true}.
      *
diff --git a/jdk/src/share/classes/javax/swing/JEditorPane.java b/jdk/src/share/classes/javax/swing/JEditorPane.java
index f4c5893..a104d1c 100644
--- a/jdk/src/share/classes/javax/swing/JEditorPane.java
+++ b/jdk/src/share/classes/javax/swing/JEditorPane.java
@@ -103,7 +103,7 @@
  * fragment is a possible hyperlink listener implementation, that treats
  * HTML frame events specially, and simply displays any other activated
  * hyperlinks.
- * <code><pre>
+ * <pre>
 
 &nbsp;    class Hyperactive implements HyperlinkListener {
 &nbsp;
@@ -125,7 +125,7 @@
 &nbsp;        }
 &nbsp;    }
 
- * </pre></code>
+ * </pre>
  * <p>
  * For information on customizing how <b>text/html</b> is rendered please see
  * {@link #W3C_LENGTH_UNITS} and {@link #HONOR_DISPLAY_PROPERTIES}
diff --git a/jdk/src/share/classes/javax/swing/JFileChooser.java b/jdk/src/share/classes/javax/swing/JFileChooser.java
index 218f6ae..012c675 100644
--- a/jdk/src/share/classes/javax/swing/JFileChooser.java
+++ b/jdk/src/share/classes/javax/swing/JFileChooser.java
@@ -67,7 +67,7 @@
  * <pre>
  *    JFileChooser chooser = new JFileChooser();
  *    FileNameExtensionFilter filter = new FileNameExtensionFilter(
- *        "JPG & GIF Images", "jpg", "gif");
+ *        "JPG &amp; GIF Images", "jpg", "gif");
  *    chooser.setFileFilter(filter);
  *    int returnVal = chooser.showOpenDialog(parent);
  *    if(returnVal == JFileChooser.APPROVE_OPTION) {
@@ -634,7 +634,7 @@
     /**
      * Pops up an "Open File" file chooser dialog. Note that the
      * text that appears in the approve button is determined by
-     * the L&F.
+     * the L&amp;F.
      *
      * @param    parent  the parent component of the dialog,
      *                  can be <code>null</code>;
@@ -659,7 +659,7 @@
     /**
      * Pops up a "Save File" file chooser dialog. Note that the
      * text that appears in the approve button is determined by
-     * the L&F.
+     * the L&amp;F.
      *
      * @param    parent  the parent component of the dialog,
      *                  can be <code>null</code>;
@@ -861,7 +861,7 @@
      * @beaninfo
      *   preferred: true
      *       bound: true
-     * description: Sets whether the approve & cancel buttons are shown.
+     * description: Sets whether the approve &amp; cancel buttons are shown.
      *
      * @see #getControlButtonsAreShown
      * @see #CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY
@@ -1841,7 +1841,7 @@
     }
 
     /**
-     * Returns a string that specifies the name of the L&F class
+     * Returns a string that specifies the name of the L&amp;F class
      * that renders this component.
      *
      * @return the string "FileChooserUI"
@@ -1849,16 +1849,16 @@
      * @see UIDefaults#getUI
      * @beaninfo
      *        expert: true
-     *   description: A string that specifies the name of the L&F class.
+     *   description: A string that specifies the name of the L&amp;F class.
      */
     public String getUIClassID() {
         return uiClassID;
     }
 
     /**
-     * Gets the UI object which implements the L&F for this component.
+     * Gets the UI object which implements the L&amp;F for this component.
      *
-     * @return the FileChooserUI object that implements the FileChooserUI L&F
+     * @return the FileChooserUI object that implements the FileChooserUI L&amp;F
      */
     public FileChooserUI getUI() {
         return (FileChooserUI) ui;
diff --git a/jdk/src/share/classes/javax/swing/JLabel.java b/jdk/src/share/classes/javax/swing/JLabel.java
index be900a4..c6e28d9 100644
--- a/jdk/src/share/classes/javax/swing/JLabel.java
+++ b/jdk/src/share/classes/javax/swing/JLabel.java
@@ -237,7 +237,7 @@
 
 
     /**
-     * Returns the L&F object that renders this component.
+     * Returns the L&amp;F object that renders this component.
      *
      * @return LabelUI object
      */
@@ -247,9 +247,9 @@
 
 
     /**
-     * Sets the L&F object that renders this component.
+     * Sets the L&amp;F object that renders this component.
      *
-     * @param ui  the LabelUI L&F object
+     * @param ui  the LabelUI L&amp;F object
      * @see UIDefaults#getUI
      * @beaninfo
      *        bound: true
@@ -277,7 +277,7 @@
 
 
     /**
-     * Returns a string that specifies the name of the l&f class
+     * Returns a string that specifies the name of the l&amp;f class
      * that renders this component.
      *
      * @return String "LabelUI"
@@ -545,8 +545,8 @@
      *
      * @since 1.4
      * @param index Index into the String to underline
-     * @exception IllegalArgumentException will be thrown if <code>index</code
-     *            is >= length of the text, or < -1
+     * @exception IllegalArgumentException will be thrown if <code>index</code>
+     *            is &gt;= length of the text, or &lt; -1
      *
      * @beaninfo
      *        bound: true
@@ -1251,7 +1251,7 @@
          *
          * @param part the AccessibleText.CHARACTER, AccessibleText.WORD,
          * or AccessibleText.SENTENCE to retrieve
-         * @param index an index within the text >= 0
+         * @param index an index within the text &gt;= 0
          * @return the letter, word, or sentence,
          *   null for an invalid index or part
          * @since 1.3
@@ -1298,7 +1298,7 @@
          *
          * @param part the AccessibleText.CHARACTER, AccessibleText.WORD,
          * or AccessibleText.SENTENCE to retrieve
-         * @param index an index within the text >= 0
+         * @param index an index within the text &gt;= 0
          * @return the letter, word, or sentence, null for an invalid
          *  index or part
          * @since 1.3
@@ -1362,7 +1362,7 @@
          *
          * @param part the AccessibleText.CHARACTER, AccessibleText.WORD,
          *   or AccessibleText.SENTENCE to retrieve
-         * @param index an index within the text >= 0
+         * @param index an index within the text &gt;= 0
          * @return the letter, word, or sentence, null for an invalid index
          *  or part
          * @since 1.3
diff --git a/jdk/src/share/classes/javax/swing/JList.java b/jdk/src/share/classes/javax/swing/JList.java
index 9b01625..e62bc80 100644
--- a/jdk/src/share/classes/javax/swing/JList.java
+++ b/jdk/src/share/classes/javax/swing/JList.java
@@ -146,7 +146,7 @@
  * Responsibility for listening to selection changes in order to keep the list's
  * visual representation up to date lies with the list's {@code ListUI}.
  * <p>
- * <a name="renderer">
+ * <a name="renderer"></a>
  * Painting of cells in a {@code JList} is handled by a delegate called a
  * cell renderer, installed on the list as the {@code cellRenderer} property.
  * The renderer provides a {@code java.awt.Component} that is used
@@ -202,7 +202,7 @@
  * To avoid these calculations, you can set a {@code fixedCellWidth} and
  * {@code fixedCellHeight} on the list, or have these values calculated
  * automatically based on a single prototype value:
- * <a name="prototype_example">
+ * <a name="prototype_example"></a>
  * <pre>
  * {@code
  * JList<String> bigDataList = new JList<String>(bigData);
@@ -1512,7 +1512,7 @@
      * tooltip text on the cell level, by using {@code setToolTipText} on your
      * cell renderer component.
      * <p>
-     * <bold>Note:</bold> For <code>JList</code> to properly display the
+     * <strong>Note:</strong> For <code>JList</code> to properly display the
      * tooltips of its renderers in this manner, <code>JList</code> must be a
      * registered component with the <code>ToolTipManager</code>. This registration
      * is done automatically in the constructor. However, if at a later point
diff --git a/jdk/src/share/classes/javax/swing/JMenu.java b/jdk/src/share/classes/javax/swing/JMenu.java
index 60aa661..7493ede 100644
--- a/jdk/src/share/classes/javax/swing/JMenu.java
+++ b/jdk/src/share/classes/javax/swing/JMenu.java
@@ -225,7 +225,7 @@
 
 
     /**
-     * Returns the name of the L&F class that renders this component.
+     * Returns the name of the L&amp;F class that renders this component.
      *
      * @return the string "MenuUI"
      * @see JComponent#getUIClassID
@@ -490,7 +490,7 @@
     /**
      * Returns the suggested delay, in milliseconds, before submenus
      * are popped up or down.
-     * Each look and feel (L&F) may determine its own policy for
+     * Each look and feel (L&amp;F) may determine its own policy for
      * observing the <code>delay</code> property.
      * In most cases, the delay is not observed for top level menus
      * or while dragging.  The default for <code>delay</code> is 0.
@@ -506,7 +506,7 @@
 
     /**
      * Sets the suggested delay before the menu's <code>PopupMenu</code>
-     * is popped up or down.  Each look and feel (L&F) may determine
+     * is popped up or down.  Each look and feel (L&amp;F) may determine
      * it's own policy for observing the delay property.  In most cases,
      * the delay is not observed for top level menus or while dragging.
      * This method is a property of the look and feel code and is used
@@ -676,7 +676,7 @@
      * @param pos an integer specifying the position at which to add the
      *               new menu item
      * @exception IllegalArgumentException when the value of
-     *                  <code>pos</code> < 0
+     *                  <code>pos</code> &lt; 0
      */
     public void insert(String s, int pos) {
         if (pos < 0) {
@@ -695,7 +695,7 @@
      *               new <code>JMenuitem</code>
      * @return the new menu item
      * @exception IllegalArgumentException if the value of
-     *                  <code>pos</code> < 0
+     *                  <code>pos</code> &lt; 0
      */
     public JMenuItem insert(JMenuItem mi, int pos) {
         if (pos < 0) {
@@ -714,7 +714,7 @@
      * @param pos an integer specifying the position at which to add the
      *               new menu item
      * @exception IllegalArgumentException if the value of
-     *                  <code>pos</code> < 0
+     *                  <code>pos</code> &lt; 0
      */
     public JMenuItem insert(Action a, int pos) {
         if (pos < 0) {
@@ -735,7 +735,7 @@
      * @param       index an integer specifying the position at which to
      *                    insert the menu separator
      * @exception   IllegalArgumentException if the value of
-     *                       <code>index</code> < 0
+     *                       <code>index</code> &lt; 0
      */
     public void insertSeparator(int index) {
         if (index < 0) {
@@ -754,7 +754,7 @@
      *
      * @param pos    an integer specifying the position
      * @exception   IllegalArgumentException if the value of
-     *                       <code>pos</code> < 0
+     *                       <code>pos</code> &lt; 0
      * @return  the menu item at the specified position; or <code>null</code>
      *          if the item as the specified position is not a menu item
      */
@@ -811,7 +811,7 @@
      *
      * @param       pos the position of the item to be removed
      * @exception   IllegalArgumentException if the value of
-     *                       <code>pos</code> < 0, or if <code>pos</code>
+     *                       <code>pos</code> &lt; 0, or if <code>pos</code>
      *                       is greater than the number of menu items
      */
     public void remove(int pos) {
diff --git a/jdk/src/share/classes/javax/swing/JMenuBar.java b/jdk/src/share/classes/javax/swing/JMenuBar.java
index 8e6683d..f00d420 100644
--- a/jdk/src/share/classes/javax/swing/JMenuBar.java
+++ b/jdk/src/share/classes/javax/swing/JMenuBar.java
@@ -130,9 +130,9 @@
     }
 
     /**
-     * Sets the L&F object that renders this component.
+     * Sets the L&amp;F object that renders this component.
      *
-     * @param ui the new MenuBarUI L&F object
+     * @param ui the new MenuBarUI L&amp;F object
      * @see UIDefaults#getUI
      * @beaninfo
      *        bound: true
@@ -155,7 +155,7 @@
 
 
     /**
-     * Returns the name of the L&F class that renders this component.
+     * Returns the name of the L&amp;F class that renders this component.
      *
      * @return the string "MenuBarUI"
      * @see JComponent#getUIClassID
diff --git a/jdk/src/share/classes/javax/swing/JTextField.java b/jdk/src/share/classes/javax/swing/JTextField.java
index 0e5e9aa..d4bc1aa 100644
--- a/jdk/src/share/classes/javax/swing/JTextField.java
+++ b/jdk/src/share/classes/javax/swing/JTextField.java
@@ -367,7 +367,7 @@
     /**
      * Returns the number of columns in this <code>TextField</code>.
      *
-     * @return the number of columns >= 0
+     * @return the number of columns &gt;= 0
      */
     public int getColumns() {
         return columns;
@@ -377,7 +377,7 @@
      * Sets the number of columns in this <code>TextField</code>,
      * and then invalidate the layout.
      *
-     * @param columns the number of columns >= 0
+     * @param columns the number of columns &gt;= 0
      * @exception IllegalArgumentException if <code>columns</code>
      *          is less than 0
      * @beaninfo
@@ -402,7 +402,7 @@
      * character <em>m</em> for the font used.  This method can be
      * redefined to be some alternative amount
      *
-     * @return the column width >= 1
+     * @return the column width &gt;= 1
      */
     protected int getColumnWidth() {
         if (columnWidth == 0) {
@@ -744,7 +744,7 @@
     /**
      * Gets the scroll offset, in pixels.
      *
-     * @return the offset >= 0
+     * @return the offset &gt;= 0
      */
     public int getScrollOffset() {
         return visibility.getValue();
@@ -753,7 +753,7 @@
     /**
      * Sets the scroll offset, in pixels.
      *
-     * @param scrollOffset the offset >= 0
+     * @param scrollOffset the offset &gt;= 0
      */
     public void setScrollOffset(int scrollOffset) {
         visibility.setValue(scrollOffset);
diff --git a/jdk/src/share/classes/javax/swing/KeyboardManager.java b/jdk/src/share/classes/javax/swing/KeyboardManager.java
index 3ce7922..afbd93e 100644
--- a/jdk/src/share/classes/javax/swing/KeyboardManager.java
+++ b/jdk/src/share/classes/javax/swing/KeyboardManager.java
@@ -208,7 +208,7 @@
     public boolean fireKeyboardAction(KeyEvent e, boolean pressed, Container topAncestor) {
 
          if (e.isConsumed()) {
-              System.out.println("Aquired pre-used event!");
+              System.out.println("Acquired pre-used event!");
               Thread.dumpStack();
          }
 
diff --git a/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java b/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java
index cbdfc01..45b3766 100644
--- a/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java
+++ b/jdk/src/share/classes/javax/swing/SortingFocusTraversalPolicy.java
@@ -116,7 +116,7 @@
             index = Collections.binarySearch(cycle, aComponent, comparator);
         } catch (ClassCastException e) {
             if (log.isLoggable(PlatformLogger.Level.FINE)) {
-                log.fine("### During the binary search for " + aComponent + " the exception occured: ", e);
+                log.fine("### During the binary search for " + aComponent + " the exception occurred: ", e);
             }
             return -1;
         }
diff --git a/jdk/src/share/classes/javax/swing/text/AbstractDocument.java b/jdk/src/share/classes/javax/swing/text/AbstractDocument.java
index 5ccd80d..71e9d5d 100644
--- a/jdk/src/share/classes/javax/swing/text/AbstractDocument.java
+++ b/jdk/src/share/classes/javax/swing/text/AbstractDocument.java
@@ -1367,7 +1367,7 @@
             currWriter = Thread.currentThread();
             numWriters = 1;
         } catch (InterruptedException e) {
-            throw new Error("Interrupted attempt to aquire write lock");
+            throw new Error("Interrupted attempt to acquire write lock");
         }
     }
 
@@ -1409,7 +1409,7 @@
             }
             numReaders += 1;
         } catch (InterruptedException e) {
-            throw new Error("Interrupted attempt to aquire read lock");
+            throw new Error("Interrupted attempt to acquire read lock");
         }
     }
 
diff --git a/jdk/src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java b/jdk/src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java
index 5e776a0..1784042 100644
--- a/jdk/src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java
+++ b/jdk/src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java
@@ -26,6 +26,7 @@
 package javax.swing.tree;
    // ISSUE: this class depends on nothing in AWT -- move to java.util?
 
+import java.beans.Transient;
 import java.io.*;
 import java.util.*;
 
@@ -215,6 +216,7 @@
      *
      * @param   newParent       this node's new parent
      */
+    @Transient
     public void setParent(MutableTreeNode newParent) {
         parent = newParent;
     }
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ByteVector.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ByteVector.java
index 0d3472b..89eb6d4 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ByteVector.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ByteVector.java
@@ -233,11 +233,14 @@
      * automatically enlarged if necessary.
      *
      * @param s
-     *            a String.
+     *            a String whose UTF8 encoded length must be less than 65536.
      * @return this byte vector.
      */
     public ByteVector putUTF8(final String s) {
         int charLength = s.length();
+        if (charLength > 65535) {
+            throw new IllegalArgumentException();
+        }
         int len = length;
         if (len + 2 + charLength > data.length) {
             enlarge(2 + charLength);
@@ -267,6 +270,9 @@
                         byteLength += 2;
                     }
                 }
+                if (byteLength > 65535) {
+                    throw new IllegalArgumentException();
+                }
                 data[length] = (byte) (byteLength >>> 8);
                 data[length + 1] = (byte) byteLength;
                 if (length + 2 + byteLength > data.length) {
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java
index 8cbc2d2..4f84215 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ClassReader.java
@@ -1266,7 +1266,7 @@
         u += 2;
 
         // generates the first (implicit) stack map frame
-        if (FRAMES && (stackMap != 0 || unzip)) {
+        if (FRAMES && stackMap != 0) {
             /*
              * for the first explicit frame the offset is not offset_delta + 1
              * but only offset_delta; setting the implicit frame offset to -1
@@ -1283,8 +1283,6 @@
             if (unzip) {
                 getImplicitFrame(context);
             }
-        }
-        if (FRAMES && stackMap != 0) {
             /*
              * Finds labels for UNINITIALIZED frame types. Instead of decoding
              * each element of the stack map table, we look for 3 consecutive
@@ -1322,17 +1320,19 @@
                 }
             }
 
-            // visits the frame(s) for this offset, if any
+            // visits the frame for this offset, if any
             while (FRAMES && frame != null
                     && (frame.offset == offset || frame.offset == -1)) {
                 // if there is a frame for this offset, makes the visitor visit
                 // it, and reads the next frame if there is one.
-                if (!zip || unzip) {
-                    mv.visitFrame(Opcodes.F_NEW, frame.localCount, frame.local,
-                            frame.stackCount, frame.stack);
-                } else if (frame.offset != -1) {
-                    mv.visitFrame(frame.mode, frame.localDiff, frame.local,
-                            frame.stackCount, frame.stack);
+                if (frame.offset != -1) {
+                    if (!zip || unzip) {
+                        mv.visitFrame(Opcodes.F_NEW, frame.localCount,
+                                frame.local, frame.stackCount, frame.stack);
+                    } else {
+                        mv.visitFrame(frame.mode, frame.localDiff, frame.local,
+                                frame.stackCount, frame.stack);
+                    }
                 }
                 if (frameCount > 0) {
                     stackMap = readFrame(stackMap, zip, unzip, frame);
@@ -1434,6 +1434,7 @@
             case ClassWriter.FIELDORMETH_INSN:
             case ClassWriter.ITFMETH_INSN: {
                 int cpIndex = items[readUnsignedShort(u + 1)];
+                boolean itf = b[cpIndex - 1] == ClassWriter.IMETH;
                 String iowner = readClass(cpIndex, c);
                 cpIndex = items[readUnsignedShort(cpIndex + 2)];
                 String iname = readUTF8(cpIndex, c);
@@ -1441,7 +1442,7 @@
                 if (opcode < Opcodes.INVOKEVIRTUAL) {
                     mv.visitFieldInsn(opcode, iowner, iname, idesc);
                 } else {
-                    mv.visitMethodInsn(opcode, iowner, iname, idesc);
+                    mv.visitMethodInsn(opcode, iowner, iname, idesc, itf);
                 }
                 if (opcode == Opcodes.INVOKEINTERFACE) {
                     u += 5;
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ClassWriter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ClassWriter.java
index d5d8fa4..ab9dcd0 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ClassWriter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/ClassWriter.java
@@ -516,12 +516,12 @@
      * <tt>true</tt> if the maximum stack size and number of local variables
      * must be automatically computed.
      */
-    private final boolean computeMaxs;
+    private boolean computeMaxs;
 
     /**
      * <tt>true</tt> if the stack map frames must be recomputed from scratch.
      */
-    private final boolean computeFrames;
+    private boolean computeFrames;
 
     /**
      * <tt>true</tt> if the stack map tables of this class are invalid. The
@@ -988,9 +988,22 @@
             attrs.put(this, null, 0, -1, -1, out);
         }
         if (invalidFrames) {
-            ClassWriter cw = new ClassWriter(COMPUTE_FRAMES);
-            new ClassReader(out.data).accept(cw, ClassReader.SKIP_FRAMES);
-            return cw.toByteArray();
+            anns = null;
+            ianns = null;
+            attrs = null;
+            innerClassesCount = 0;
+            innerClasses = null;
+            bootstrapMethodsCount = 0;
+            bootstrapMethods = null;
+            firstField = null;
+            lastField = null;
+            firstMethod = null;
+            lastMethod = null;
+            computeMaxs = false;
+            computeFrames = true;
+            invalidFrames = false;
+            new ClassReader(out.data).accept(this, ClassReader.SKIP_FRAMES);
+            return toByteArray();
         }
         return out.data;
     }
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/Handle.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/Handle.java
index f262f9a..e8b2859 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/Handle.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/Handle.java
@@ -78,7 +78,8 @@
     final int tag;
 
     /**
-     * The internal name of the field or method designed by this handle.
+     * The internal name of the class that owns the field or method designated
+     * by this handle.
      */
     final String owner;
 
@@ -105,8 +106,8 @@
      *            {@link Opcodes#H_NEWINVOKESPECIAL} or
      *            {@link Opcodes#H_INVOKEINTERFACE}.
      * @param owner
-     *            the internal name of the field or method designed by this
-     *            handle.
+     *            the internal name of the class that owns the field or method
+     *            designated by this handle.
      * @param name
      *            the name of the field or method designated by this handle.
      * @param desc
@@ -135,9 +136,11 @@
     }
 
     /**
-     * Returns the internal name of the field or method designed by this handle.
+     * Returns the internal name of the class that owns the field or method
+     * designated by this handle.
      *
-     * @return the internal name of the field or method designed by this handle.
+     * @return the internal name of the class that owns the field or method
+     *         designated by this handle.
      */
     public String getOwner() {
         return owner;
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/MethodVisitor.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/MethodVisitor.java
index f21519e..0bb1a05 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/MethodVisitor.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/MethodVisitor.java
@@ -68,11 +68,11 @@
  * <tt>visitTryCatchBlock</tt> | <tt>visitTryCatchBlockAnnotation</tt> |
  * <tt>visitLocalVariable</tt> | <tt>visitLocalVariableAnnotation</tt> |
  * <tt>visitLineNumber</tt> )* <tt>visitMaxs</tt> ] <tt>visitEnd</tt>. In
- * addition, the <tt>visit<i>X</i>Insn</tt> and <tt>visitLabel</tt>
- * methods must be called in the sequential order of the bytecode instructions
- * of the visited code, <tt>visitInsnAnnotation</tt> must be called <i>after</i>
- * the annotated instruction, <tt>visitTryCatchBlock</tt> must be called
- * <i>before</i> the labels passed as arguments have been visited,
+ * addition, the <tt>visit<i>X</i>Insn</tt> and <tt>visitLabel</tt> methods must
+ * be called in the sequential order of the bytecode instructions of the visited
+ * code, <tt>visitInsnAnnotation</tt> must be called <i>after</i> the annotated
+ * instruction, <tt>visitTryCatchBlock</tt> must be called <i>before</i> the
+ * labels passed as arguments have been visited,
  * <tt>visitTryCatchBlockAnnotation</tt> must be called <i>after</i> the
  * corresponding try catch block has been visited, and the
  * <tt>visitLocalVariable</tt>, <tt>visitLocalVariableAnnotation</tt> and
@@ -274,13 +274,9 @@
      * compressed form (all frames must use the same format, i.e. you must not
      * mix expanded and compressed frames within a single method):
      * <ul>
-     * <li>In expanded form, all frames must have the F_NEW type, and a first
-     * frame corresponding to the method signature must be explicitly visited
-     * before the first instruction.</li>
+     * <li>In expanded form, all frames must have the F_NEW type.</li>
      * <li>In compressed form, frames are basically "deltas" from the state of
-     * the previous frame (the first frame, corresponding to the method's
-     * parameters and access flags, is implicit in this form, and must not be
-     * visited):
+     * the previous frame:
      * <ul>
      * <li>{@link Opcodes#F_SAME} representing frame with exactly the same
      * locals as the previous frame and with the empty stack.</li>
@@ -296,8 +292,14 @@
      * same as the locals in the previous frame, except that the last 1-3 locals
      * are absent and with the empty stack (<code>nLocals</code> is 1, 2 or 3).</li>
      * <li>{@link Opcodes#F_FULL} representing complete frame data.</li>
-     * </ul></li>
      * </ul>
+     * </li>
+     * </ul>
+     * <br>
+     * In both cases the first frame, corresponding to the method's parameters
+     * and access flags, is implicit and must not be visited. Also, it is
+     * illegal to visit two or more frames for the same code location (i.e., at
+     * least one instruction must be visited between two calls to visitFrame).
      *
      * @param type
      *            the type of this stack map frame. Must be
@@ -466,14 +468,53 @@
      * @param desc
      *            the method's descriptor (see {@link Type Type}).
      */
+    @Deprecated
     public void visitMethodInsn(int opcode, String owner, String name,
             String desc) {
+        if (api >= Opcodes.ASM5) {
+            boolean itf = opcode == Opcodes.INVOKEINTERFACE;
+            visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
         if (mv != null) {
             mv.visitMethodInsn(opcode, owner, name, desc);
         }
     }
 
     /**
+     * Visits a method instruction. A method instruction is an instruction that
+     * invokes a method.
+     *
+     * @param opcode
+     *            the opcode of the type instruction to be visited. This opcode
+     *            is either INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or
+     *            INVOKEINTERFACE.
+     * @param owner
+     *            the internal name of the method's owner class (see
+     *            {@link Type#getInternalName() getInternalName}).
+     * @param name
+     *            the method's name.
+     * @param desc
+     *            the method's descriptor (see {@link Type Type}).
+     * @param itf
+     *            if the method's owner class is an interface.
+     */
+    public void visitMethodInsn(int opcode, String owner, String name,
+            String desc, boolean itf) {
+        if (api < Opcodes.ASM5) {
+            if (itf != (opcode == Opcodes.INVOKEINTERFACE)) {
+                throw new IllegalArgumentException(
+                        "INVOKESPECIAL/STATIC on interfaces require ASM 5");
+            }
+            visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        if (mv != null) {
+            mv.visitMethodInsn(opcode, owner, name, desc, itf);
+        }
+    }
+
+    /**
      * Visits an invokedynamic instruction.
      *
      * @param name
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/MethodWriter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/MethodWriter.java
index f59abfa..81a8280 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/MethodWriter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/MethodWriter.java
@@ -71,7 +71,7 @@
     /**
      * Pseudo access flag used to denote constructors.
      */
-    static final int ACC_CONSTRUCTOR = 262144;
+    static final int ACC_CONSTRUCTOR = 0x80000;
 
     /**
      * Frame has exactly the same locals as the previous stack map frame and
@@ -298,11 +298,6 @@
     private int[] previousFrame;
 
     /**
-     * Index of the next element to be added in {@link #frame}.
-     */
-    private int frameIndex;
-
-    /**
      * The current stack map frame. The first element contains the offset of the
      * instruction to which the frame corresponds, the second element is the
      * number of locals and the third one is the number of stack elements. The
@@ -496,6 +491,9 @@
         cw.lastMethod = this;
         this.cw = cw;
         this.access = access;
+        if ("<init>".equals(name)) {
+            this.access |= ACC_CONSTRUCTOR;
+        }
         this.name = cw.newUTF8(name);
         this.desc = cw.newUTF8(desc);
         this.descriptor = desc;
@@ -511,9 +509,6 @@
         }
         this.compute = computeFrames ? FRAMES : (computeMaxs ? MAXS : NOTHING);
         if (computeMaxs || computeFrames) {
-            if (computeFrames && "<init>".equals(name)) {
-                this.access |= ACC_CONSTRUCTOR;
-            }
             // updates maxLocals
             int size = Type.getArgumentsAndReturnSizes(descriptor) >> 2;
             if ((access & Opcodes.ACC_STATIC) != 0) {
@@ -649,8 +644,11 @@
         }
 
         if (type == Opcodes.F_NEW) {
+            if (previousFrame == null) {
+                visitImplicitFirstFrame();
+            }
             currentLocals = nLocal;
-            startFrame(code.length, nLocal, nStack);
+            int frameIndex = startFrame(code.length, nLocal, nStack);
             for (int i = 0; i < nLocal; ++i) {
                 if (local[i] instanceof String) {
                     frame[frameIndex++] = Frame.OBJECT
@@ -914,9 +912,8 @@
 
     @Override
     public void visitMethodInsn(final int opcode, final String owner,
-            final String name, final String desc) {
+            final String name, final String desc, final boolean itf) {
         lastCodeOffset = code.length;
-        boolean itf = opcode == Opcodes.INVOKEINTERFACE;
         Item i = cw.newMethodItem(owner, name, desc, itf);
         int argSize = i.intVal;
         // Label currentBlock = this.currentBlock;
@@ -954,7 +951,7 @@
             }
         }
         // adds the instruction to the bytecode of the method
-        if (itf) {
+        if (opcode == Opcodes.INVOKEINTERFACE) {
             if (argSize == 0) {
                 argSize = Type.getArgumentsAndReturnSizes(desc);
                 i.intVal = argSize;
@@ -1528,8 +1525,8 @@
                         }
                         code.data[end] = (byte) Opcodes.ATHROW;
                         // emits a frame for this unreachable block
-                        startFrame(start, 0, 1);
-                        frame[frameIndex++] = Frame.OBJECT
+                        int frameIndex = startFrame(start, 0, 1);
+                        frame[frameIndex] = Frame.OBJECT
                                 | cw.addType("java/lang/Throwable");
                         endFrame();
                         // removes the start-end range from the exception
@@ -1756,7 +1753,7 @@
             }
         }
         // visits the frame and its content
-        startFrame(f.owner.position, nLocal, nStack);
+        int frameIndex = startFrame(f.owner.position, nLocal, nStack);
         for (i = 0; nLocal > 0; ++i, --nLocal) {
             t = locals[i];
             frame[frameIndex++] = t;
@@ -1775,6 +1772,67 @@
     }
 
     /**
+     * Visit the implicit first frame of this method.
+     */
+    private void visitImplicitFirstFrame() {
+        // There can be at most descriptor.length() + 1 locals
+        int frameIndex = startFrame(0, descriptor.length() + 1, 0);
+        if ((access & Opcodes.ACC_STATIC) == 0) {
+            if ((access & ACC_CONSTRUCTOR) == 0) {
+                frame[frameIndex++] = Frame.OBJECT | cw.addType(cw.thisName);
+            } else {
+                frame[frameIndex++] = 6; // Opcodes.UNINITIALIZED_THIS;
+            }
+        }
+        int i = 1;
+        loop: while (true) {
+            int j = i;
+            switch (descriptor.charAt(i++)) {
+            case 'Z':
+            case 'C':
+            case 'B':
+            case 'S':
+            case 'I':
+                frame[frameIndex++] = 1; // Opcodes.INTEGER;
+                break;
+            case 'F':
+                frame[frameIndex++] = 2; // Opcodes.FLOAT;
+                break;
+            case 'J':
+                frame[frameIndex++] = 4; // Opcodes.LONG;
+                break;
+            case 'D':
+                frame[frameIndex++] = 3; // Opcodes.DOUBLE;
+                break;
+            case '[':
+                while (descriptor.charAt(i) == '[') {
+                    ++i;
+                }
+                if (descriptor.charAt(i) == 'L') {
+                    ++i;
+                    while (descriptor.charAt(i) != ';') {
+                        ++i;
+                    }
+                }
+                frame[frameIndex++] = Frame.OBJECT
+                        | cw.addType(descriptor.substring(j, ++i));
+                break;
+            case 'L':
+                while (descriptor.charAt(i) != ';') {
+                    ++i;
+                }
+                frame[frameIndex++] = Frame.OBJECT
+                        | cw.addType(descriptor.substring(j + 1, i++));
+                break;
+            default:
+                break loop;
+            }
+        }
+        frame[1] = frameIndex - 3;
+        endFrame();
+    }
+
+    /**
      * Starts the visit of a stack map frame.
      *
      * @param offset
@@ -1783,8 +1841,9 @@
      *            the number of local variables in the frame.
      * @param nStack
      *            the number of stack elements in the frame.
+     * @return the index of the next element to be written in this frame.
      */
-    private void startFrame(final int offset, final int nLocal, final int nStack) {
+    private int startFrame(final int offset, final int nLocal, final int nStack) {
         int n = 3 + nLocal + nStack;
         if (frame == null || frame.length < n) {
             frame = new int[n];
@@ -1792,7 +1851,7 @@
         frame[0] = offset;
         frame[1] = nLocal;
         frame[2] = nStack;
-        frameIndex = 3;
+        return 3;
     }
 
     /**
@@ -2110,7 +2169,8 @@
      */
     final void put(final ByteVector out) {
         final int FACTOR = ClassWriter.TO_ACC_SYNTHETIC;
-        int mask = Opcodes.ACC_DEPRECATED | ClassWriter.ACC_SYNTHETIC_ATTRIBUTE
+        int mask = ACC_CONSTRUCTOR | Opcodes.ACC_DEPRECATED
+                | ClassWriter.ACC_SYNTHETIC_ATTRIBUTE
                 | ((access & ClassWriter.ACC_SYNTHETIC_ATTRIBUTE) / FACTOR);
         out.putShort(access & ~mask).putShort(name).putShort(desc);
         if (classReaderOffset != 0) {
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/AdviceAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/AdviceAdapter.java
index c7d51d4..c079177 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/AdviceAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/AdviceAdapter.java
@@ -442,10 +442,31 @@
         }
     }
 
+    @Deprecated
     @Override
     public void visitMethodInsn(final int opcode, final String owner,
             final String name, final String desc) {
-        mv.visitMethodInsn(opcode, owner, name, desc);
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc,
+                opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    @Override
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc, itf);
+    }
+
+    private void doVisitMethodInsn(int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        mv.visitMethodInsn(opcode, owner, name, desc, itf);
         if (constructor) {
             Type[] types = Type.getArgumentTypes(desc);
             for (int i = 0; i < types.length; i++) {
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/AnalyzerAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/AnalyzerAdapter.java
index 1371250..e914d45 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/AnalyzerAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/AnalyzerAdapter.java
@@ -165,10 +165,15 @@
      * @param mv
      *            the method visitor to which this adapter delegates calls. May
      *            be <tt>null</tt>.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public AnalyzerAdapter(final String owner, final int access,
             final String name, final String desc, final MethodVisitor mv) {
         this(Opcodes.ASM5, owner, access, name, desc, mv);
+        if (getClass() != AnalyzerAdapter.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -331,11 +336,32 @@
         execute(opcode, 0, desc);
     }
 
+    @Deprecated
     @Override
     public void visitMethodInsn(final int opcode, final String owner,
             final String name, final String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc,
+                opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    @Override
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc, itf);
+    }
+
+    private void doVisitMethodInsn(int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
         if (mv != null) {
-            mv.visitMethodInsn(opcode, owner, name, desc);
+            mv.visitMethodInsn(opcode, owner, name, desc, itf);
         }
         if (this.locals == null) {
             labels = null;
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/CodeSizeEvaluator.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/CodeSizeEvaluator.java
index a04a643..0a41b2b 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/CodeSizeEvaluator.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/CodeSizeEvaluator.java
@@ -149,9 +149,30 @@
         }
     }
 
+    @Deprecated
     @Override
     public void visitMethodInsn(final int opcode, final String owner,
             final String name, final String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc,
+                opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    @Override
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc, itf);
+    }
+
+    private void doVisitMethodInsn(int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
         if (opcode == INVOKEINTERFACE) {
             minSize += 5;
             maxSize += 5;
@@ -160,7 +181,7 @@
             maxSize += 3;
         }
         if (mv != null) {
-            mv.visitMethodInsn(opcode, owner, name, desc);
+            mv.visitMethodInsn(opcode, owner, name, desc, itf);
         }
     }
 
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/GeneratorAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/GeneratorAdapter.java
index 7e30acb..786a5b5 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/GeneratorAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/GeneratorAdapter.java
@@ -284,10 +284,15 @@
      *            the method's name.
      * @param desc
      *            the method's descriptor (see {@link Type Type}).
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public GeneratorAdapter(final MethodVisitor mv, final int access,
             final String name, final String desc) {
         this(Opcodes.ASM5, mv, access, name, desc);
+        if (getClass() != GeneratorAdapter.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -1400,11 +1405,11 @@
      *            the method to be invoked.
      */
     private void invokeInsn(final int opcode, final Type type,
-            final Method method) {
+            final Method method, final boolean itf) {
         String owner = type.getSort() == Type.ARRAY ? type.getDescriptor()
                 : type.getInternalName();
         mv.visitMethodInsn(opcode, owner, method.getName(),
-                method.getDescriptor());
+                method.getDescriptor(), itf);
     }
 
     /**
@@ -1416,7 +1421,7 @@
      *            the method to be invoked.
      */
     public void invokeVirtual(final Type owner, final Method method) {
-        invokeInsn(Opcodes.INVOKEVIRTUAL, owner, method);
+        invokeInsn(Opcodes.INVOKEVIRTUAL, owner, method, false);
     }
 
     /**
@@ -1428,7 +1433,7 @@
      *            the constructor to be invoked.
      */
     public void invokeConstructor(final Type type, final Method method) {
-        invokeInsn(Opcodes.INVOKESPECIAL, type, method);
+        invokeInsn(Opcodes.INVOKESPECIAL, type, method, false);
     }
 
     /**
@@ -1440,7 +1445,7 @@
      *            the method to be invoked.
      */
     public void invokeStatic(final Type owner, final Method method) {
-        invokeInsn(Opcodes.INVOKESTATIC, owner, method);
+        invokeInsn(Opcodes.INVOKESTATIC, owner, method, false);
     }
 
     /**
@@ -1452,7 +1457,7 @@
      *            the method to be invoked.
      */
     public void invokeInterface(final Type owner, final Method method) {
-        invokeInsn(Opcodes.INVOKEINTERFACE, owner, method);
+        invokeInsn(Opcodes.INVOKEINTERFACE, owner, method, true);
     }
 
     /**
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/InstructionAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/InstructionAdapter.java
index 912b622..4ece2db 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/InstructionAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/InstructionAdapter.java
@@ -82,9 +82,14 @@
      *
      * @param mv
      *            the method visitor to which this adapter delegates calls.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public InstructionAdapter(final MethodVisitor mv) {
         this(Opcodes.ASM5, mv);
+        if (getClass() != InstructionAdapter.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -536,18 +541,39 @@
         }
     }
 
+    @Deprecated
     @Override
     public void visitMethodInsn(final int opcode, final String owner,
             final String name, final String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc,
+                opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    @Override
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc, itf);
+    }
+
+    private void doVisitMethodInsn(int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
         switch (opcode) {
         case Opcodes.INVOKESPECIAL:
-            invokespecial(owner, name, desc);
+            invokespecial(owner, name, desc, itf);
             break;
         case Opcodes.INVOKEVIRTUAL:
-            invokevirtual(owner, name, desc);
+            invokevirtual(owner, name, desc, itf);
             break;
         case Opcodes.INVOKESTATIC:
-            invokestatic(owner, name, desc);
+            invokestatic(owner, name, desc, itf);
             break;
         case Opcodes.INVOKEINTERFACE:
             invokeinterface(owner, name, desc);
@@ -1014,24 +1040,78 @@
         mv.visitFieldInsn(Opcodes.PUTFIELD, owner, name, desc);
     }
 
+    @Deprecated
     public void invokevirtual(final String owner, final String name,
             final String desc) {
+        if (api >= Opcodes.ASM5) {
+            invokevirtual(owner, name, desc, false);
+            return;
+        }
         mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, owner, name, desc);
     }
 
+    public void invokevirtual(final String owner, final String name,
+            final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            if (itf) {
+                throw new IllegalArgumentException(
+                        "INVOKEVIRTUAL on interfaces require ASM 5");
+            }
+            invokevirtual(owner, name, desc);
+            return;
+        }
+        mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, owner, name, desc, itf);
+    }
+
+    @Deprecated
     public void invokespecial(final String owner, final String name,
             final String desc) {
-        mv.visitMethodInsn(Opcodes.INVOKESPECIAL, owner, name, desc);
+        if (api >= Opcodes.ASM5) {
+            invokespecial(owner, name, desc, false);
+            return;
+        }
+        mv.visitMethodInsn(Opcodes.INVOKESPECIAL, owner, name, desc, false);
+    }
+
+    public void invokespecial(final String owner, final String name,
+            final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            if (itf) {
+                throw new IllegalArgumentException(
+                        "INVOKESPECIAL on interfaces require ASM 5");
+            }
+            invokespecial(owner, name, desc);
+            return;
+        }
+        mv.visitMethodInsn(Opcodes.INVOKESPECIAL, owner, name, desc, itf);
+    }
+
+    @Deprecated
+    public void invokestatic(final String owner, final String name,
+            final String desc) {
+        if (api < Opcodes.ASM5) {
+            invokestatic(owner, name, desc, false);
+            return;
+        }
+        mv.visitMethodInsn(Opcodes.INVOKESTATIC, owner, name, desc, false);
     }
 
     public void invokestatic(final String owner, final String name,
-            final String desc) {
-        mv.visitMethodInsn(Opcodes.INVOKESTATIC, owner, name, desc);
+            final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            if (itf) {
+                throw new IllegalArgumentException(
+                        "INVOKESTATIC on interfaces require ASM 5");
+            }
+            invokestatic(owner, name, desc);
+            return;
+        }
+        mv.visitMethodInsn(Opcodes.INVOKESTATIC, owner, name, desc, itf);
     }
 
     public void invokeinterface(final String owner, final String name,
             final String desc) {
-        mv.visitMethodInsn(Opcodes.INVOKEINTERFACE, owner, name, desc);
+        mv.visitMethodInsn(Opcodes.INVOKEINTERFACE, owner, name, desc, true);
     }
 
     public void invokedynamic(String name, String desc, Handle bsm,
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/JSRInlinerAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/JSRInlinerAdapter.java
index 1a255b7..e0514114 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/JSRInlinerAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/JSRInlinerAdapter.java
@@ -136,11 +136,16 @@
      *            the internal names of the method's exception classes (see
      *            {@link Type#getInternalName() getInternalName}). May be
      *            <tt>null</tt>.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public JSRInlinerAdapter(final MethodVisitor mv, final int access,
             final String name, final String desc, final String signature,
             final String[] exceptions) {
         this(Opcodes.ASM5, mv, access, name, desc, signature, exceptions);
+        if (getClass() != JSRInlinerAdapter.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -381,6 +386,17 @@
             // Use tail recursion here in the form of an outer while loop to
             // avoid our stack growing needlessly:
             index++;
+
+            // We implicitly assumed above that execution can always fall
+            // through to the next instruction after a JSR. But a subroutine may
+            // never return, in which case the code after the JSR is unreachable
+            // and can be anything. In particular, it can seem to fall off the
+            // end of the method, so we must handle this case here (we could
+            // instead detect whether execution can return or not from a JSR,
+            // but this is more complicated).
+            if (index >= instructions.size()) {
+                return;
+            }
         }
     }
 
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/LocalVariablesSorter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/LocalVariablesSorter.java
index 0353c49..5d02c53 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/LocalVariablesSorter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/LocalVariablesSorter.java
@@ -120,10 +120,15 @@
      *            the method's descriptor (see {@link Type Type}).
      * @param mv
      *            the method visitor to which this adapter delegates calls.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public LocalVariablesSorter(final int access, final String desc,
             final MethodVisitor mv) {
         this(Opcodes.ASM5, access, desc, mv);
+        if (getClass() != LocalVariablesSorter.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -323,6 +328,7 @@
         int local = newLocalMapping(type);
         setLocalType(local, type);
         setFrameLocal(local, t);
+        changed = true;
         return local;
     }
 
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingMethodAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingMethodAdapter.java
index 319d9de..d5493a1 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingMethodAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingMethodAdapter.java
@@ -148,12 +148,41 @@
                 remapper.mapDesc(desc));
     }
 
+    @Deprecated
     @Override
-    public void visitMethodInsn(int opcode, String owner, String name,
-            String desc) {
-        super.visitMethodInsn(opcode, remapper.mapType(owner),
-                remapper.mapMethodName(owner, name, desc),
-                remapper.mapMethodDesc(desc));
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc,
+                opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    @Override
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc, itf);
+    }
+
+    private void doVisitMethodInsn(int opcode, String owner, String name,
+            String desc, boolean itf) {
+        // Calling super.visitMethodInsn requires to call the correct version
+        // depending on this.api (otherwise infinite loops can occur). To
+        // simplify and to make it easier to automatically remove the backward
+        // compatibility code, we inline the code of the overridden method here.
+        // IMPORTANT: THIS ASSUMES THAT visitMethodInsn IS NOT OVERRIDDEN IN
+        // LocalVariableSorter.
+        if (mv != null) {
+            mv.visitMethodInsn(opcode, remapper.mapType(owner),
+                    remapper.mapMethodName(owner, name, desc),
+                    remapper.mapMethodDesc(desc), itf);
+        }
     }
 
     @Override
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingSignatureAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingSignatureAdapter.java
index 458ee69..3b8ab02 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingSignatureAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/RemappingSignatureAdapter.java
@@ -95,10 +95,12 @@
 
     @Override
     public void visitInnerClassType(String name) {
+        String remappedOuter = remapper.mapType(className) + '$';
         className = className + '$' + name;
         String remappedName = remapper.mapType(className);
-        v.visitInnerClassType(remappedName.substring(remappedName
-                .lastIndexOf('$') + 1));
+        int index = remappedName.startsWith(remappedOuter) ? remappedOuter
+                .length() : remappedName.lastIndexOf('$') + 1;
+        v.visitInnerClassType(remappedName.substring(index));
     }
 
     @Override
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/SerialVersionUIDAdder.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/SerialVersionUIDAdder.java
index 4050d0c..de89151 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/SerialVersionUIDAdder.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/SerialVersionUIDAdder.java
@@ -195,9 +195,14 @@
      * @param cv
      *            a {@link ClassVisitor} to which this visitor will delegate
      *            calls.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public SerialVersionUIDAdder(final ClassVisitor cv) {
         this(Opcodes.ASM5, cv);
+        if (getClass() != SerialVersionUIDAdder.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -218,7 +223,7 @@
     }
 
     // ------------------------------------------------------------------------
-    // Overriden methods
+    // Overridden methods
     // ------------------------------------------------------------------------
 
     /*
@@ -234,7 +239,7 @@
         if (computeSVUID) {
             this.name = name;
             this.access = access;
-            this.interfaces = interfaces;
+            this.interfaces = Arrays.copyOf(interfaces, interfaces.length);
         }
 
         super.visit(version, access, name, signature, superName, interfaces);
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/StaticInitMerger.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/StaticInitMerger.java
index 3514d09..2f2f3b6 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/StaticInitMerger.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/StaticInitMerger.java
@@ -107,7 +107,8 @@
             if (clinit == null) {
                 clinit = cv.visitMethod(a, name, desc, null, null);
             }
-            clinit.visitMethodInsn(Opcodes.INVOKESTATIC, this.name, n, desc);
+            clinit.visitMethodInsn(Opcodes.INVOKESTATIC, this.name, n, desc,
+                    false);
         } else {
             mv = cv.visitMethod(access, name, desc, signature, exceptions);
         }
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/TryCatchBlockSorter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/TryCatchBlockSorter.java
index 0b2be35..39c2bf3 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/TryCatchBlockSorter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/commons/TryCatchBlockSorter.java
@@ -66,7 +66,6 @@
 import jdk.internal.org.objectweb.asm.Opcodes;
 import jdk.internal.org.objectweb.asm.tree.MethodNode;
 import jdk.internal.org.objectweb.asm.tree.TryCatchBlockNode;
-import jdk.internal.org.objectweb.asm.tree.TypeAnnotationNode;
 
 /**
  * A {@link MethodVisitor} adapter to sort the exception handlers. The handlers
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/AnnotationNode.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/AnnotationNode.java
index 57b88f1..b67ea38 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/AnnotationNode.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/AnnotationNode.java
@@ -96,9 +96,14 @@
      *
      * @param desc
      *            the class descriptor of the annotation class.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public AnnotationNode(final String desc) {
         this(Opcodes.ASM5, desc);
+        if (getClass() != AnnotationNode.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/ClassNode.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/ClassNode.java
index cb70518..3933464 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/ClassNode.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/ClassNode.java
@@ -216,9 +216,15 @@
      * Constructs a new {@link ClassNode}. <i>Subclasses must not use this
      * constructor</i>. Instead, they must use the {@link #ClassNode(int)}
      * version.
+     *
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public ClassNode() {
         this(Opcodes.ASM5);
+        if (getClass() != ClassNode.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/FieldNode.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/FieldNode.java
index a155d2c..cc79a58 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/FieldNode.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/FieldNode.java
@@ -168,16 +168,20 @@
      *            <tt>null</tt> if the field does not have an initial value,
      *            must be an {@link Integer}, a {@link Float}, a {@link Long}, a
      *            {@link Double} or a {@link String}.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public FieldNode(final int access, final String name, final String desc,
             final String signature, final Object value) {
         this(Opcodes.ASM5, access, name, desc, signature, value);
+        if (getClass() != FieldNode.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
      * Constructs a new {@link FieldNode}. <i>Subclasses must not use this
-     * constructor</i>. Instead, they must use the
-     * {@link #FieldNode(int, int, String, String, String, Object)} version.
+     * constructor</i>.
      *
      * @param api
      *            the ASM API version implemented by this visitor. Must be one
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodInsnNode.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodInsnNode.java
index 6f6d5dc..2f61df3 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodInsnNode.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodInsnNode.java
@@ -61,6 +61,7 @@
 import java.util.Map;
 
 import jdk.internal.org.objectweb.asm.MethodVisitor;
+import jdk.internal.org.objectweb.asm.Opcodes;
 
 /**
  * A node that represents a method instruction. A method instruction is an
@@ -87,6 +88,11 @@
     public String desc;
 
     /**
+     * If the method's owner class if an interface.
+     */
+    public boolean itf;
+
+    /**
      * Constructs a new {@link MethodInsnNode}.
      *
      * @param opcode
@@ -102,12 +108,37 @@
      * @param desc
      *            the method's descriptor (see {@link jdk.internal.org.objectweb.asm.Type}).
      */
+    @Deprecated
     public MethodInsnNode(final int opcode, final String owner,
             final String name, final String desc) {
+        this(opcode, owner, name, desc, opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    /**
+     * Constructs a new {@link MethodInsnNode}.
+     *
+     * @param opcode
+     *            the opcode of the type instruction to be constructed. This
+     *            opcode must be INVOKEVIRTUAL, INVOKESPECIAL, INVOKESTATIC or
+     *            INVOKEINTERFACE.
+     * @param owner
+     *            the internal name of the method's owner class (see
+     *            {@link jdk.internal.org.objectweb.asm.Type#getInternalName()
+     *            getInternalName}).
+     * @param name
+     *            the method's name.
+     * @param desc
+     *            the method's descriptor (see {@link jdk.internal.org.objectweb.asm.Type}).
+     * @param itf
+     *            if the method's owner class is an interface.
+     */
+    public MethodInsnNode(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
         super(opcode);
         this.owner = owner;
         this.name = name;
         this.desc = desc;
+        this.itf = itf;
     }
 
     /**
@@ -128,11 +159,11 @@
 
     @Override
     public void accept(final MethodVisitor mv) {
-        mv.visitMethodInsn(opcode, owner, name, desc);
+        mv.visitMethodInsn(opcode, owner, name, desc, itf);
     }
 
     @Override
     public AbstractInsnNode clone(final Map<LabelNode, LabelNode> labels) {
-        return new MethodInsnNode(opcode, owner, name, desc);
+        return new MethodInsnNode(opcode, owner, name, desc, itf);
     }
 }
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java
index 072d549..dfd58a0 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/MethodNode.java
@@ -71,7 +71,6 @@
 import jdk.internal.org.objectweb.asm.Opcodes;
 import jdk.internal.org.objectweb.asm.Type;
 import jdk.internal.org.objectweb.asm.TypePath;
-import jdk.internal.org.objectweb.asm.TypeReference;
 
 /**
  * A node that represents a method.
@@ -245,9 +244,15 @@
      * Constructs an uninitialized {@link MethodNode}. <i>Subclasses must not
      * use this constructor</i>. Instead, they must use the
      * {@link #MethodNode(int)} version.
+     *
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public MethodNode() {
         this(Opcodes.ASM5);
+        if (getClass() != MethodNode.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -281,10 +286,15 @@
      *            the internal names of the method's exception classes (see
      *            {@link Type#getInternalName() getInternalName}). May be
      *            <tt>null</tt>.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public MethodNode(final int access, final String name, final String desc,
             final String signature, final String[] exceptions) {
         this(Opcodes.ASM5, access, name, desc, signature, exceptions);
+        if (getClass() != MethodNode.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -461,13 +471,28 @@
         instructions.add(new FieldInsnNode(opcode, owner, name, desc));
     }
 
+    @Deprecated
     @Override
-    public void visitMethodInsn(final int opcode, final String owner,
-            final String name, final String desc) {
+    public void visitMethodInsn(int opcode, String owner, String name,
+            String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
         instructions.add(new MethodInsnNode(opcode, owner, name, desc));
     }
 
     @Override
+    public void visitMethodInsn(int opcode, String owner, String name,
+            String desc, boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        instructions.add(new MethodInsnNode(opcode, owner, name, desc, itf));
+    }
+
+    @Override
     public void visitInvokeDynamicInsn(String name, String desc, Handle bsm,
             Object... bsmArgs) {
         instructions.add(new InvokeDynamicInsnNode(name, desc, bsm, bsmArgs));
@@ -696,6 +721,12 @@
                         && insn.invisibleTypeAnnotations.size() > 0) {
                     throw new RuntimeException();
                 }
+                if (insn instanceof MethodInsnNode) {
+                    boolean itf = ((MethodInsnNode) insn).itf;
+                    if (itf != (insn.opcode == Opcodes.INVOKEINTERFACE)) {
+                        throw new RuntimeException();
+                    }
+                }
             }
             if (visibleLocalVariableAnnotations != null
                     && visibleLocalVariableAnnotations.size() > 0) {
@@ -705,7 +736,6 @@
                     && invisibleLocalVariableAnnotations.size() > 0) {
                 throw new RuntimeException();
             }
-
         }
     }
 
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/TypeAnnotationNode.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/TypeAnnotationNode.java
index c9e21d8..641dca1 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/TypeAnnotationNode.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/TypeAnnotationNode.java
@@ -94,10 +94,15 @@
      *            <tt>null</tt> if the annotation targets 'typeRef' as a whole.
      * @param desc
      *            the class descriptor of the annotation class.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public TypeAnnotationNode(final int typeRef, final TypePath typePath,
             final String desc) {
         this(Opcodes.ASM5, typeRef, typePath, desc);
+        if (getClass() != TypeAnnotationNode.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Frame.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Frame.java
index 2d9434f..f6b8db3 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Frame.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/tree/analysis/Frame.java
@@ -163,6 +163,15 @@
     }
 
     /**
+     * Returns the maximum stack size of this frame.
+     *
+     * @return the maximum stack size of this frame.
+     */
+    public int getMaxStackSize() {
+        return values.length - locals;
+    }
+
+    /**
      * Returns the value of the given local variable.
      *
      * @param i
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/ASMifier.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/ASMifier.java
index 6b6bd4d..a9487e1 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/ASMifier.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/ASMifier.java
@@ -113,9 +113,15 @@
      * Constructs a new {@link ASMifier}. <i>Subclasses must not use this
      * constructor</i>. Instead, they must use the
      * {@link #ASMifier(int, String, int)} version.
+     *
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public ASMifier() {
         this(Opcodes.ASM5, "cw", 0);
+        if (getClass() != ASMifier.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -483,8 +489,9 @@
     @Override
     public void visitParameter(String parameterName, int access) {
         buf.setLength(0);
-        buf.append(name).append(".visitParameter(").append(parameterName)
-                .append(", ");
+        buf.append(name).append(".visitParameter(");
+        appendString(buf, parameterName);
+        buf.append(", ");
         appendAccess(access);
         text.add(buf.append(");\n").toString());
     }
@@ -639,9 +646,30 @@
         text.add(buf.toString());
     }
 
+    @Deprecated
     @Override
     public void visitMethodInsn(final int opcode, final String owner,
             final String name, final String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc,
+                opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    @Override
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc, itf);
+    }
+
+    private void doVisitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
         buf.setLength(0);
         buf.append(this.name).append(".visitMethodInsn(")
                 .append(OPCODES[opcode]).append(", ");
@@ -650,6 +678,8 @@
         appendConstant(name);
         buf.append(", ");
         appendConstant(desc);
+        buf.append(", ");
+        buf.append(itf ? "true" : "false");
         buf.append(");\n");
         text.add(buf.toString());
     }
@@ -1076,6 +1106,13 @@
             buf.append("ACC_DEPRECATED");
             first = false;
         }
+        if ((access & Opcodes.ACC_MANDATED) != 0) {
+            if (!first) {
+                buf.append(" + ");
+            }
+            buf.append("ACC_MANDATED");
+            first = false;
+        }
         if (first) {
             buf.append('0');
         }
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckClassAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckClassAdapter.java
index ad29ab9..5105db7 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckClassAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckClassAdapter.java
@@ -246,7 +246,7 @@
 
         List<Type> interfaces = new ArrayList<Type>();
         for (Iterator<String> i = cn.interfaces.iterator(); i.hasNext();) {
-            interfaces.add(Type.getObjectType(i.next().toString()));
+            interfaces.add(Type.getObjectType(i.next()));
         }
 
         for (int i = 0; i < methods.size(); ++i) {
@@ -359,9 +359,14 @@
      *            <tt>false</tt> to not perform any data flow check (see
      *            {@link CheckMethodAdapter}). This option requires valid
      *            maxLocals and maxStack values.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public CheckClassAdapter(final ClassVisitor cv, final boolean checkDataFlow) {
         this(Opcodes.ASM5, cv, checkDataFlow);
+        if (getClass() != CheckClassAdapter.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -471,7 +476,15 @@
             CheckMethodAdapter.checkInternalName(outerName, "outer class name");
         }
         if (innerName != null) {
-            CheckMethodAdapter.checkIdentifier(innerName, "inner class name");
+            int start = 0;
+            while (start < innerName.length()
+                    && Character.isDigit(innerName.charAt(start))) {
+                start++;
+            }
+            if (start == 0 || start < innerName.length()) {
+                CheckMethodAdapter.checkIdentifier(innerName, start, -1,
+                        "inner class name");
+            }
         }
         checkAccess(access, Opcodes.ACC_PUBLIC + Opcodes.ACC_PRIVATE
                 + Opcodes.ACC_PROTECTED + Opcodes.ACC_STATIC
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckFieldAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckFieldAdapter.java
index b09559c..e0857bf 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckFieldAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckFieldAdapter.java
@@ -79,9 +79,14 @@
      *
      * @param fv
      *            the field visitor to which this adapter must delegate calls.
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public CheckFieldAdapter(final FieldVisitor fv) {
         this(Opcodes.ASM5, fv);
+        if (getClass() != CheckFieldAdapter.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckMethodAdapter.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckMethodAdapter.java
index b597098..0716deb 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckMethodAdapter.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/CheckMethodAdapter.java
@@ -143,11 +143,6 @@
     private Set<Label> usedLabels;
 
     /**
-     * If an explicit first frame has been visited before the first instruction.
-     */
-    private boolean hasExplicitFirstFrame;
-
-    /**
      * Number of visited frames in expanded form.
      */
     private int expandedFrames;
@@ -158,6 +153,11 @@
     private int compressedFrames;
 
     /**
+     * Number of instructions before the last visited frame.
+     */
+    private int lastFrame = -1;
+
+    /**
      * The exception handler ranges. Each pair of list element contains the
      * start and end labels of an exception handler block.
      */
@@ -421,10 +421,15 @@
      *            the method visitor to which this adapter must delegate calls.
      * @param labels
      *            a map of already visited labels (in other methods).
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public CheckMethodAdapter(final MethodVisitor mv,
             final Map<Label, Integer> labels) {
         this(Opcodes.ASM5, mv, labels);
+        if (getClass() != CheckMethodAdapter.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -465,7 +470,7 @@
     public CheckMethodAdapter(final int access, final String name,
             final String desc, final MethodVisitor cmv,
             final Map<Label, Integer> labels) {
-        this(new MethodNode(access, name, desc, null, null) {
+        this(new MethodNode(Opcodes.ASM5, access, name, desc, null, null) {
             @Override
             public void visitEnd() {
                 Analyzer<BasicValue> a = new Analyzer<BasicValue>(
@@ -499,6 +504,7 @@
         }
         CheckClassAdapter.checkAccess(access, Opcodes.ACC_FINAL
                 + Opcodes.ACC_MANDATED + Opcodes.ACC_SYNTHETIC);
+        super.visitParameter(name, access);
     }
 
     @Override
@@ -566,6 +572,11 @@
     @Override
     public void visitFrame(final int type, final int nLocal,
             final Object[] local, final int nStack, final Object[] stack) {
+        if (insnCount == lastFrame) {
+            throw new IllegalStateException(
+                    "At most one frame can be visited at a given code location.");
+        }
+        lastFrame = insnCount;
         int mLocal;
         int mStack;
         switch (type) {
@@ -621,13 +632,6 @@
             checkFrameValue(stack[i]);
         }
         if (type == Opcodes.F_NEW) {
-            if (insnCount == 0) {
-                hasExplicitFirstFrame = true;
-            } else if (!hasExplicitFirstFrame) {
-                throw new RuntimeException(
-                        "In expanded form, a first frame must be explicitly "
-                                + "visited before the first instruction.");
-            }
             ++expandedFrames;
         } else {
             ++compressedFrames;
@@ -709,9 +713,30 @@
         ++insnCount;
     }
 
+    @Deprecated
     @Override
-    public void visitMethodInsn(final int opcode, final String owner,
-            final String name, final String desc) {
+    public void visitMethodInsn(int opcode, String owner, String name,
+            String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc,
+                opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    @Override
+    public void visitMethodInsn(int opcode, String owner, String name,
+            String desc, boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc, itf);
+    }
+
+    private void doVisitMethodInsn(int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
         checkStartCode();
         checkEndCode();
         checkOpcode(opcode, 5);
@@ -720,7 +745,21 @@
         }
         checkInternalName(owner, "owner");
         checkMethodDesc(desc);
-        super.visitMethodInsn(opcode, owner, name, desc);
+        if (opcode == Opcodes.INVOKEVIRTUAL && itf) {
+            throw new IllegalArgumentException(
+                    "INVOKEVIRTUAL can't be used with interfaces");
+        }
+        if (opcode == Opcodes.INVOKEINTERFACE && !itf) {
+            throw new IllegalArgumentException(
+                    "INVOKEINTERFACE can't be used with classes");
+        }
+        // Calling super.visitMethodInsn requires to call the correct version
+        // depending on this.api (otherwise infinite loops can occur). To
+        // simplify and to make it easier to automatically remove the backward
+        // compatibility code, we inline the code of the overridden method here.
+        if (mv != null) {
+            mv.visitMethodInsn(opcode, owner, name, desc, itf);
+        }
         ++insnCount;
     }
 
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/Printer.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/Printer.java
index 5d50e8f..87e79f4 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/Printer.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/Printer.java
@@ -401,8 +401,33 @@
      * Method instruction. See
      * {@link jdk.internal.org.objectweb.asm.MethodVisitor#visitMethodInsn}.
      */
-    public abstract void visitMethodInsn(final int opcode, final String owner,
-            final String name, final String desc);
+    @Deprecated
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc) {
+        if (api >= Opcodes.ASM5) {
+            boolean itf = opcode == Opcodes.INVOKEINTERFACE;
+            visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        throw new RuntimeException("Must be overriden");
+    }
+
+    /**
+     * Method instruction. See
+     * {@link jdk.internal.org.objectweb.asm.MethodVisitor#visitMethodInsn}.
+     */
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            if (itf != (opcode == Opcodes.INVOKEINTERFACE)) {
+                throw new IllegalArgumentException(
+                        "INVOKESPECIAL/STATIC on interfaces require ASM 5");
+            }
+            visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        throw new RuntimeException("Must be overriden");
+    }
 
     /**
      * Method instruction. See
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/Textifier.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/Textifier.java
index 3c039ce..5e20f52 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/Textifier.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/Textifier.java
@@ -172,9 +172,15 @@
      * Constructs a new {@link Textifier}. <i>Subclasses must not use this
      * constructor</i>. Instead, they must use the {@link #Textifier(int)}
      * version.
+     *
+     * @throws IllegalStateException
+     *             If a subclass calls this constructor.
      */
     public Textifier() {
         this(Opcodes.ASM5);
+        if (getClass() != Textifier.class) {
+            throw new IllegalStateException();
+        }
     }
 
     /**
@@ -821,14 +827,36 @@
         text.add(buf.toString());
     }
 
+    @Deprecated
     @Override
     public void visitMethodInsn(final int opcode, final String owner,
             final String name, final String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc,
+                opcode == Opcodes.INVOKEINTERFACE);
+    }
+
+    @Override
+    public void visitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        doVisitMethodInsn(opcode, owner, name, desc, itf);
+    }
+
+    private void doVisitMethodInsn(final int opcode, final String owner,
+            final String name, final String desc, final boolean itf) {
         buf.setLength(0);
         buf.append(tab2).append(OPCODES[opcode]).append(' ');
         appendDescriptor(INTERNAL_NAME, owner);
         buf.append('.').append(name).append(' ');
         appendDescriptor(METHOD_DESCRIPTOR, desc);
+        buf.append(' ').append(itf ? "itf" : "");
         buf.append('\n');
         text.add(buf.toString());
     }
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/TraceMethodVisitor.java b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/TraceMethodVisitor.java
index bf80e1f..ea679c6 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/TraceMethodVisitor.java
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/util/TraceMethodVisitor.java
@@ -176,11 +176,31 @@
         super.visitFieldInsn(opcode, owner, name, desc);
     }
 
+    @Deprecated
     @Override
-    public void visitMethodInsn(final int opcode, final String owner,
-            final String name, final String desc) {
+    public void visitMethodInsn(int opcode, String owner, String name,
+            String desc) {
+        if (api >= Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc);
+            return;
+        }
         p.visitMethodInsn(opcode, owner, name, desc);
-        super.visitMethodInsn(opcode, owner, name, desc);
+        if (mv != null) {
+            mv.visitMethodInsn(opcode, owner, name, desc);
+        }
+    }
+
+    @Override
+    public void visitMethodInsn(int opcode, String owner, String name,
+            String desc, boolean itf) {
+        if (api < Opcodes.ASM5) {
+            super.visitMethodInsn(opcode, owner, name, desc, itf);
+            return;
+        }
+        p.visitMethodInsn(opcode, owner, name, desc, itf);
+        if (mv != null) {
+            mv.visitMethodInsn(opcode, owner, name, desc, itf);
+        }
     }
 
     @Override
diff --git a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/version.txt b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/version.txt
index d795ab2..efe71fa 100644
--- a/jdk/src/share/classes/jdk/internal/org/objectweb/asm/version.txt
+++ b/jdk/src/share/classes/jdk/internal/org/objectweb/asm/version.txt
@@ -1,12 +1,12 @@
 Path: .
-Working Copy Root Path: /w/lthudson/hudson-data/jobs/objectweb-cr-pull/workspace/ASM_5_FUTURE
-URL: svn://svn.forge.objectweb.org/svnroot/asm/branches/ASM_5_FUTURE
+Working Copy Root Path: /hudson/jobs/objectweb-pull/workspace/ASM_5_0_BETA
+URL: svn://svn.forge.objectweb.org/svnroot/asm/trunk/asm
 Repository Root: svn://svn.forge.objectweb.org/svnroot/asm
 Repository UUID: 271bd773-ee82-43a6-9b2b-1890ed8ce7f9
-Revision: 1681
+Revision: 1700
 Node Kind: directory
 Schedule: normal
-Last Changed Author: forax
-Last Changed Rev: 1681
-Last Changed Date: 2013-04-01 11:28:58 -0700 (Mon, 01 Apr 2013)
+Last Changed Author: ebruneton
+Last Changed Rev: 1700
+Last Changed Date: 2013-10-29 20:22:52 +0100 (Tue, 29 Oct 2013)
 
diff --git a/jdk/src/share/classes/sun/awt/AppContext.java b/jdk/src/share/classes/sun/awt/AppContext.java
index e0f232e..fbd4b21 100644
--- a/jdk/src/share/classes/sun/awt/AppContext.java
+++ b/jdk/src/share/classes/sun/awt/AppContext.java
@@ -430,7 +430,7 @@
                     try {
                         w.dispose();
                     } catch (Throwable t) {
-                        log.finer("exception occured while disposing app context", t);
+                        log.finer("exception occurred while disposing app context", t);
                     }
                 }
                 AccessController.doPrivileged(new PrivilegedAction<Void>() {
@@ -820,30 +820,6 @@
     // Set up JavaAWTAccess in SharedSecrets
     static {
         sun.misc.SharedSecrets.setJavaAWTAccess(new sun.misc.JavaAWTAccess() {
-            public Object get(Object key) {
-                AppContext ac = getAppContext();
-                return (ac == null) ? null : ac.get(key);
-            }
-            public void put(Object key, Object value) {
-                AppContext ac = getAppContext();
-                if (ac != null) {
-                    ac.put(key, value);
-                }
-            }
-            public void remove(Object key) {
-                AppContext ac = getAppContext();
-                if (ac != null) {
-                    ac.remove(key);
-                }
-            }
-            public boolean isDisposed() {
-                AppContext ac = getAppContext();
-                return (ac == null) ? true : ac.isDisposed();
-            }
-            public boolean isMainAppContext() {
-                return (numAppContexts.get() == 1 && mainAppContext != null);
-            }
-
             private boolean hasRootThreadGroup(final AppContext ecx) {
                 return AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
                     @Override
diff --git a/jdk/src/share/classes/sun/management/OperatingSystemImpl.java b/jdk/src/share/classes/sun/management/BaseOperatingSystemImpl.java
similarity index 92%
rename from jdk/src/share/classes/sun/management/OperatingSystemImpl.java
rename to jdk/src/share/classes/sun/management/BaseOperatingSystemImpl.java
index 7099a35..ac7e106 100644
--- a/jdk/src/share/classes/sun/management/OperatingSystemImpl.java
+++ b/jdk/src/share/classes/sun/management/BaseOperatingSystemImpl.java
@@ -37,14 +37,14 @@
  * ManagementFactory.getOperatingSystemMXBean() returns an instance
  * of this class.
  */
-public class OperatingSystemImpl implements OperatingSystemMXBean {
+public class BaseOperatingSystemImpl implements OperatingSystemMXBean {
 
     private final VMManagement jvm;
 
     /**
-     * Constructor of OperatingSystemImpl class.
+     * Constructor of BaseOperatingSystemImpl class.
      */
-    protected OperatingSystemImpl(VMManagement vm) {
+    protected BaseOperatingSystemImpl(VMManagement vm) {
         this.jvm = vm;
     }
 
diff --git a/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java b/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java
index 43079e9..be82dda 100644
--- a/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java
+++ b/jdk/src/share/classes/sun/management/ManagementFactoryHelper.java
@@ -46,7 +46,6 @@
 import java.util.HashMap;
 import java.util.List;
 import com.sun.management.DiagnosticCommandMBean;
-import com.sun.management.OSMBeanFactory;
 import com.sun.management.HotSpotDiagnosticMXBean;
 
 import static java.lang.management.ManagementFactory.*;
@@ -104,8 +103,7 @@
 
     public static synchronized OperatingSystemMXBean getOperatingSystemMXBean() {
         if (osMBean == null) {
-            osMBean = (OperatingSystemImpl)
-                          OSMBeanFactory.getOperatingSystemMXBean(jvm);
+            osMBean = new OperatingSystemImpl(jvm);
         }
         return osMBean;
     }
diff --git a/jdk/src/share/classes/sun/management/RuntimeImpl.java b/jdk/src/share/classes/sun/management/RuntimeImpl.java
index 2e947cc..c0abdb7 100644
--- a/jdk/src/share/classes/sun/management/RuntimeImpl.java
+++ b/jdk/src/share/classes/sun/management/RuntimeImpl.java
@@ -110,12 +110,7 @@
     }
 
     public long getUptime() {
-        long current = System.currentTimeMillis();
-
-        // TODO: If called from client side when we support
-        // MBean proxy to read performance counters from shared memory,
-        // need to check if the monitored VM exitd.
-        return (current - vmStartupTime);
+        return jvm.getUptime();
     }
 
     public long getStartTime() {
diff --git a/jdk/src/share/classes/sun/management/VMManagement.java b/jdk/src/share/classes/sun/management/VMManagement.java
index a02f828..f4445f0 100644
--- a/jdk/src/share/classes/sun/management/VMManagement.java
+++ b/jdk/src/share/classes/sun/management/VMManagement.java
@@ -71,6 +71,7 @@
     public String  getBootClassPath();
     public List<String> getVmArguments();
     public long    getStartupTime();
+    public long    getUptime();
     public int     getAvailableProcessors();
 
     // Compilation Subsystem
diff --git a/jdk/src/share/classes/sun/management/VMManagementImpl.java b/jdk/src/share/classes/sun/management/VMManagementImpl.java
index 46e0285..c5d0505 100644
--- a/jdk/src/share/classes/sun/management/VMManagementImpl.java
+++ b/jdk/src/share/classes/sun/management/VMManagementImpl.java
@@ -179,6 +179,10 @@
         return result;
     }
 
+    public long getUptime() {
+        return getUptime0();
+    }
+
     private List<String> vmArgs = null;
     public synchronized List<String> getVmArguments() {
         if (vmArgs == null) {
@@ -192,6 +196,7 @@
     public native String[] getVmArguments0();
 
     public native long getStartupTime();
+    private native long getUptime0();
     public native int getAvailableProcessors();
 
     // Compilation Subsystem
diff --git a/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java b/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
index 37837b2..3a70921 100644
--- a/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
+++ b/jdk/src/share/classes/sun/management/snmp/jvminstr/JVM_MANAGEMENT_MIB_IMPL.java
@@ -188,7 +188,7 @@
                     sendTrap(trap, list);
                 }catch(Exception e) {
                     log.error("handleNotification",
-                              "Exception occured : " + e);
+                              "Exception occurred : " + e);
                 }
             }
         }
@@ -243,7 +243,7 @@
                 adaptor.snmpV2Trap(peer, trap, list, null);
             }catch(Exception e) {
                 log.error("sendTrap",
-                          "Exception occured while sending trap to [" +
+                          "Exception occurred while sending trap to [" +
                           target + "]. Exception : " + e);
                 log.debug("sendTrap",e);
             }
diff --git a/jdk/src/share/classes/sun/misc/Cleaner.java b/jdk/src/share/classes/sun/misc/Cleaner.java
index f23764e..5e92f35 100644
--- a/jdk/src/share/classes/sun/misc/Cleaner.java
+++ b/jdk/src/share/classes/sun/misc/Cleaner.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -57,14 +57,14 @@
  */
 
 public class Cleaner
-    extends PhantomReference
+    extends PhantomReference<Object>
 {
 
     // Dummy reference queue, needed because the PhantomReference constructor
     // insists that we pass a queue.  Nothing will ever be placed on this queue
     // since the reference handler invokes cleaners explicitly.
     //
-    private static final ReferenceQueue dummyQueue = new ReferenceQueue();
+    private static final ReferenceQueue<Object> dummyQueue = new ReferenceQueue<>();
 
     // Doubly-linked list of live cleaners, which prevents the cleaners
     // themselves from being GC'd before their referents
@@ -119,6 +119,7 @@
     /**
      * Creates a new cleaner.
      *
+     * @param  ob the referent object to be cleaned
      * @param  thunk
      *         The cleanup code to be run when the cleaner is invoked.  The
      *         cleanup code is run directly from the reference-handler thread,
diff --git a/jdk/src/share/classes/sun/misc/ExtensionDependency.java b/jdk/src/share/classes/sun/misc/ExtensionDependency.java
index 86f4308..f09b3ac 100644
--- a/jdk/src/share/classes/sun/misc/ExtensionDependency.java
+++ b/jdk/src/share/classes/sun/misc/ExtensionDependency.java
@@ -265,7 +265,7 @@
      * the jar file.
      * </p>
      *
-     * @param extensionName key in the attibute list
+     * @param extensionName key in the attribute list
      * @param attr manifest file attributes
      * @param file installed extension jar file to compare the requested
      * extension against.
diff --git a/jdk/src/share/classes/sun/misc/JavaAWTAccess.java b/jdk/src/share/classes/sun/misc/JavaAWTAccess.java
index e0d3c38..65f44db 100644
--- a/jdk/src/share/classes/sun/misc/JavaAWTAccess.java
+++ b/jdk/src/share/classes/sun/misc/JavaAWTAccess.java
@@ -33,12 +33,4 @@
     // or running in the main app context, returns null.
     // Otherwise, returns the AppContext of the calling applet.
     public Object getAppletContext();
-
-    // convenience methods to cache objects in the current thread group's
-    // AppContext
-    public Object get(Object key);
-    public void put(Object key, Object value);
-    public void remove(Object key);
-    public boolean isDisposed();
-    public boolean isMainAppContext();
 }
diff --git a/jdk/src/share/classes/sun/misc/JavaLangAccess.java b/jdk/src/share/classes/sun/misc/JavaLangAccess.java
index 7712647..812f88e 100644
--- a/jdk/src/share/classes/sun/misc/JavaLangAccess.java
+++ b/jdk/src/share/classes/sun/misc/JavaLangAccess.java
@@ -127,4 +127,9 @@
      * inherited AccessControlContext.
      */
     Thread newThreadWithAcc(Runnable target, AccessControlContext acc);
+
+    /**
+     * Invokes the finalize method of the given object.
+     */
+    void invokeFinalize(Object o) throws Throwable;
 }
diff --git a/jdk/src/share/classes/sun/misc/ProxyGenerator.java b/jdk/src/share/classes/sun/misc/ProxyGenerator.java
index dd93aa0..d561df6 100644
--- a/jdk/src/share/classes/sun/misc/ProxyGenerator.java
+++ b/jdk/src/share/classes/sun/misc/ProxyGenerator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -384,7 +384,7 @@
     private String className;
 
     /** proxy interfaces */
-    private Class[] interfaces;
+    private Class<?>[] interfaces;
 
     /** proxy class access flags */
     private int accessFlags;
diff --git a/jdk/src/share/classes/sun/misc/VM.java b/jdk/src/share/classes/sun/misc/VM.java
index ef4c54f..a464305 100644
--- a/jdk/src/share/classes/sun/misc/VM.java
+++ b/jdk/src/share/classes/sun/misc/VM.java
@@ -148,6 +148,7 @@
 
 
     private static volatile boolean booted = false;
+    private static final Object lock = new Object();
 
     // Invoked by by System.initializeSystemClass just before returning.
     // Subsystems that are invoked during initialization can check this
@@ -155,13 +156,27 @@
     // application class loader has been set up.
     //
     public static void booted() {
-        booted = true;
+        synchronized (lock) {
+            booted = true;
+            lock.notifyAll();
+        }
     }
 
     public static boolean isBooted() {
         return booted;
     }
 
+    // Waits until VM completes initialization
+    //
+    // This method is invoked by the Finalizer thread
+    public static void awaitBooted() throws InterruptedException {
+        synchronized (lock) {
+            while (!booted) {
+                lock.wait();
+            }
+        }
+    }
+
     // A user-settable upper limit on the maximum amount of allocatable direct
     // buffer memory.  This value may be changed during VM initialization if
     // "java" is launched with "-XX:MaxDirectMemorySize=<size>".
diff --git a/jdk/src/share/classes/sun/reflect/NativeConstructorAccessorImpl.java b/jdk/src/share/classes/sun/reflect/NativeConstructorAccessorImpl.java
index 4f91ddc..d56c3ca 100644
--- a/jdk/src/share/classes/sun/reflect/NativeConstructorAccessorImpl.java
+++ b/jdk/src/share/classes/sun/reflect/NativeConstructorAccessorImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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 @@
 package sun.reflect;
 
 import java.lang.reflect.*;
+import sun.reflect.misc.ReflectUtil;
 
 /** Used only for the first few invocations of a Constructor;
     afterward, switches to bytecode-based implementation */
@@ -44,7 +45,11 @@
                IllegalArgumentException,
                InvocationTargetException
     {
-        if (++numInvocations > ReflectionFactory.inflationThreshold()) {
+        // We can't inflate a constructor belonging to a vm-anonymous class
+        // because that kind of class can't be referred to by name, hence can't
+        // be found from the generated bytecode.
+        if (++numInvocations > ReflectionFactory.inflationThreshold()
+                && !ReflectUtil.isVMAnonymousClass(c.getDeclaringClass())) {
             ConstructorAccessorImpl acc = (ConstructorAccessorImpl)
                 new MethodAccessorGenerator().
                     generateConstructor(c.getDeclaringClass(),
diff --git a/jdk/src/share/classes/sun/reflect/NativeMethodAccessorImpl.java b/jdk/src/share/classes/sun/reflect/NativeMethodAccessorImpl.java
index 93f186b..b1d39e7 100644
--- a/jdk/src/share/classes/sun/reflect/NativeMethodAccessorImpl.java
+++ b/jdk/src/share/classes/sun/reflect/NativeMethodAccessorImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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 @@
 package sun.reflect;
 
 import java.lang.reflect.*;
+import sun.reflect.misc.ReflectUtil;
 
 /** Used only for the first few invocations of a Method; afterward,
     switches to bytecode-based implementation */
@@ -42,7 +43,11 @@
     public Object invoke(Object obj, Object[] args)
         throws IllegalArgumentException, InvocationTargetException
     {
-        if (++numInvocations > ReflectionFactory.inflationThreshold()) {
+        // We can't inflate methods belonging to vm-anonymous classes because
+        // that kind of class can't be referred to by name, hence can't be
+        // found from the generated bytecode.
+        if (++numInvocations > ReflectionFactory.inflationThreshold()
+                && !ReflectUtil.isVMAnonymousClass(method.getDeclaringClass())) {
             MethodAccessorImpl acc = (MethodAccessorImpl)
                 new MethodAccessorGenerator().
                     generateMethod(method.getDeclaringClass(),
diff --git a/jdk/src/share/classes/sun/reflect/ReflectionFactory.java b/jdk/src/share/classes/sun/reflect/ReflectionFactory.java
index de97dfc..0dbada7 100644
--- a/jdk/src/share/classes/sun/reflect/ReflectionFactory.java
+++ b/jdk/src/share/classes/sun/reflect/ReflectionFactory.java
@@ -33,6 +33,7 @@
 import java.security.AccessController;
 import java.security.Permission;
 import java.security.PrivilegedAction;
+import sun.reflect.misc.ReflectUtil;
 
 /** <P> The master factory for all reflective objects, both those in
     java.lang.reflect (Fields, Methods, Constructors) as well as their
@@ -144,7 +145,7 @@
     public MethodAccessor newMethodAccessor(Method method) {
         checkInitted();
 
-        if (noInflation) {
+        if (noInflation && !ReflectUtil.isVMAnonymousClass(method.getDeclaringClass())) {
             return new MethodAccessorGenerator().
                 generateMethod(method.getDeclaringClass(),
                                method.getName(),
@@ -181,7 +182,7 @@
             return new BootstrapConstructorAccessorImpl(c);
         }
 
-        if (noInflation) {
+        if (noInflation && !ReflectUtil.isVMAnonymousClass(c.getDeclaringClass())) {
             return new MethodAccessorGenerator().
                 generateConstructor(c.getDeclaringClass(),
                                     c.getParameterTypes(),
diff --git a/jdk/src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java b/jdk/src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java
index 926d6d0..ae32624c 100644
--- a/jdk/src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java
+++ b/jdk/src/share/classes/sun/reflect/annotation/AnnotatedTypeFactory.java
@@ -34,7 +34,7 @@
 
 import static sun.reflect.annotation.TypeAnnotation.*;
 
-public class AnnotatedTypeFactory {
+public final class AnnotatedTypeFactory {
     /**
      * Create an AnnotatedType.
      *
@@ -47,10 +47,10 @@
      *                          corresponds to
      */
     public static AnnotatedType buildAnnotatedType(Type type,
-                                                   LocationInfo currentLoc,
-                                                   TypeAnnotation[] actualTypeAnnos,
-                                                   TypeAnnotation[] allOnSameTarget,
-                                                   AnnotatedElement decl) {
+            LocationInfo currentLoc,
+            TypeAnnotation[] actualTypeAnnos,
+            TypeAnnotation[] allOnSameTarget,
+            AnnotatedElement decl) {
         if (type == null) {
             return EMPTY_ANNOTATED_TYPE;
         }
@@ -156,40 +156,40 @@
         }
 
         @Override
-        public Annotation[] getDeclaredAnnotations() {
+        public final Annotation[] getDeclaredAnnotations() {
             return annotations.values().toArray(new Annotation[0]);
         }
 
         @Override
         @SuppressWarnings("unchecked")
-        public <T extends Annotation> T getDeclaredAnnotation(Class<T> annotation) {
+        public final <T extends Annotation> T getDeclaredAnnotation(Class<T> annotation) {
             return (T)annotations.get(annotation);
         }
 
         @Override
-        public <T extends Annotation> T[] getDeclaredAnnotationsByType(Class<T> annotation) {
+        public final <T extends Annotation> T[] getDeclaredAnnotationsByType(Class<T> annotation) {
             return AnnotationSupport.getDirectlyAndIndirectlyPresent(annotations, annotation);
         }
 
         // AnnotatedType
         @Override
-        public Type getType() {
+        public final Type getType() {
             return type;
         }
 
         // Implementation details
-        LocationInfo getLocation() {
+        final LocationInfo getLocation() {
             return location;
         }
-        TypeAnnotation[] getTypeAnnotations() {
+        final TypeAnnotation[] getTypeAnnotations() {
             return allOnSameTargetTypeAnnotations;
         }
-        AnnotatedElement getDecl() {
+        final AnnotatedElement getDecl() {
             return decl;
         }
     }
 
-    private static class AnnotatedArrayTypeImpl extends AnnotatedTypeBaseImpl implements AnnotatedArrayType {
+    private static final class AnnotatedArrayTypeImpl extends AnnotatedTypeBaseImpl implements AnnotatedArrayType {
         AnnotatedArrayTypeImpl(Type type, LocationInfo location,
                 TypeAnnotation[] actualTypeAnnotations, TypeAnnotation[] allOnSameTargetTypeAnnotations,
                 AnnotatedElement decl) {
@@ -215,7 +215,7 @@
         }
     }
 
-    private static class AnnotatedTypeVariableImpl extends AnnotatedTypeBaseImpl implements AnnotatedTypeVariable {
+    private static final class AnnotatedTypeVariableImpl extends AnnotatedTypeBaseImpl implements AnnotatedTypeVariable {
         AnnotatedTypeVariableImpl(TypeVariable<?> type, LocationInfo location,
                 TypeAnnotation[] actualTypeAnnotations, TypeAnnotation[] allOnSameTargetTypeAnnotations,
                 AnnotatedElement decl) {
@@ -232,7 +232,8 @@
         }
     }
 
-    private static class AnnotatedParameterizedTypeImpl extends AnnotatedTypeBaseImpl implements AnnotatedParameterizedType {
+    private static final class AnnotatedParameterizedTypeImpl extends AnnotatedTypeBaseImpl
+            implements AnnotatedParameterizedType {
         AnnotatedParameterizedTypeImpl(ParameterizedType type, LocationInfo location,
                 TypeAnnotation[] actualTypeAnnotations, TypeAnnotation[] allOnSameTargetTypeAnnotations,
                 AnnotatedElement decl) {
@@ -265,7 +266,7 @@
         }
     }
 
-    private static class AnnotatedWildcardTypeImpl extends AnnotatedTypeBaseImpl implements AnnotatedWildcardType {
+    private static final class AnnotatedWildcardTypeImpl extends AnnotatedTypeBaseImpl implements AnnotatedWildcardType {
         private final boolean hasUpperBounds;
         AnnotatedWildcardTypeImpl(WildcardType type, LocationInfo location,
                 TypeAnnotation[] actualTypeAnnotations, TypeAnnotation[] allOnSameTargetTypeAnnotations,
diff --git a/jdk/src/share/classes/sun/reflect/annotation/TypeAnnotation.java b/jdk/src/share/classes/sun/reflect/annotation/TypeAnnotation.java
index 1f4b9e7..5c94db4 100644
--- a/jdk/src/share/classes/sun/reflect/annotation/TypeAnnotation.java
+++ b/jdk/src/share/classes/sun/reflect/annotation/TypeAnnotation.java
@@ -40,7 +40,7 @@
  * distinguish between '@A Inner.@B Outer' in for example nested types),
  * target info and the declaration the TypeAnnotaiton was parsed from.
  */
-public class TypeAnnotation {
+public final class TypeAnnotation {
     private final TypeAnnotationTargetInfo targetInfo;
     private final LocationInfo loc;
     private final Annotation annotation;
@@ -92,7 +92,8 @@
         METHOD_FORMAL_PARAMETER,
         THROWS;
     }
-    public static class TypeAnnotationTargetInfo {
+
+    public static final class TypeAnnotationTargetInfo {
         private final TypeAnnotationTarget target;
         private final int count;
         private final int secondaryIndex;
@@ -131,7 +132,7 @@
         }
     }
 
-    public static class LocationInfo {
+    public static final class LocationInfo {
         private final int depth;
         private final Location[] locations;
 
@@ -204,7 +205,7 @@
             return true;
         }
 
-        public static class Location {
+        public static final class Location {
             public final byte tag;
             public final byte index;
 
diff --git a/jdk/src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java b/jdk/src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java
index d716a47..abd28cf 100644
--- a/jdk/src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java
+++ b/jdk/src/share/classes/sun/reflect/annotation/TypeAnnotationParser.java
@@ -43,7 +43,7 @@
  * TypeAnnotationParser implements the logic needed to parse
  * TypeAnnotations from an array of bytes.
  */
-public class TypeAnnotationParser {
+public final class TypeAnnotationParser {
     private static final TypeAnnotation[] EMPTY_TYPE_ANNOTATION_ARRAY = new TypeAnnotation[0];
 
     /**
@@ -237,7 +237,7 @@
         return parseAnnotatedBounds(bounds, decl, typeVarIndex, LocationInfo.BASE_LOCATION);
     }
     //helper for above
-    static <D extends GenericDeclaration> AnnotatedType[] parseAnnotatedBounds(Type[] bounds,
+    private static <D extends GenericDeclaration> AnnotatedType[] parseAnnotatedBounds(Type[] bounds,
             D decl,
             int typeVarIndex,
             LocationInfo loc) {
diff --git a/jdk/src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java b/jdk/src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java
index 97524c4..7e80afb 100644
--- a/jdk/src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java
+++ b/jdk/src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java
@@ -52,7 +52,7 @@
     }
 
     private void validateConstructorArguments() {
-        TypeVariable/*<?>*/[] formals = rawType.getTypeParameters();
+        TypeVariable<?>[] formals = rawType.getTypeParameters();
         // check correct arity of actual type args
         if (formals.length != actualTypeArguments.length){
             throw new MalformedParameterizedTypeException();
diff --git a/jdk/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java b/jdk/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java
index 672cbd8..4eca0a9 100644
--- a/jdk/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java
+++ b/jdk/src/share/classes/sun/reflect/generics/repository/GenericDeclRepository.java
@@ -42,7 +42,7 @@
 public abstract class GenericDeclRepository<S extends Signature>
     extends AbstractRepository<S> {
 
-    private TypeVariable[] typeParams; // caches the formal type parameters
+    private TypeVariable<?>[] typeParams; // caches the formal type parameters
 
     protected GenericDeclRepository(String rawSig, GenericsFactory f) {
         super(rawSig, f);
@@ -64,7 +64,7 @@
      * Return the formal type parameters of this generic declaration.
      * @return the formal type parameters of this generic declaration
      */
-    public TypeVariable/*<?>*/[] getTypeParameters(){
+    public TypeVariable<?>[] getTypeParameters(){
         if (typeParams == null) { // lazily initialize type parameters
             // first, extract type parameter subtree(s) from AST
             FormalTypeParameter[] ftps = getTree().getFormalTypeParameters();
diff --git a/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java b/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java
index 1f871e8..fb92208 100644
--- a/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java
+++ b/jdk/src/share/classes/sun/reflect/misc/ReflectUtil.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -298,4 +298,13 @@
         }
         return false;
     }
+
+    /**
+     * Checks if {@code Class cls} is a VM-anonymous class
+     * as defined by {@link sun.misc.Unsafe#defineAnonymousClass}
+     * (not to be confused with a Java Language anonymous inner class).
+     */
+    public static boolean isVMAnonymousClass(Class<?> cls) {
+        return cls.getName().indexOf("/") > -1;
+    }
 }
diff --git a/jdk/src/share/classes/sun/rmi/rmic/Main.java b/jdk/src/share/classes/sun/rmi/rmic/Main.java
index 8e0eb3a..f321a6e 100644
--- a/jdk/src/share/classes/sun/rmi/rmic/Main.java
+++ b/jdk/src/share/classes/sun/rmi/rmic/Main.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -494,7 +494,7 @@
                                              extDirsArg);
         BatchEnvironment result = null;
         try {
-            Class[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
+            Class<?>[] ctorArgTypes = {OutputStream.class,ClassPath.class,Main.class};
             Object[] ctorArgs = {out,classPath,this};
             Constructor<? extends BatchEnvironment> constructor =
                 environmentClass.getConstructor(ctorArgTypes);
diff --git a/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java b/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java
index a9649c7..6b997e4 100644
--- a/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java
+++ b/jdk/src/share/classes/sun/rmi/rmic/RMIGenerator.java
@@ -1132,7 +1132,7 @@
         throws IOException
     {
         if (types.length != names.length) {
-            throw new Error("paramter type and name arrays different sizes");
+            throw new Error("parameter type and name arrays different sizes");
         }
 
         for (int i = 0; i < types.length; i++) {
@@ -1213,7 +1213,7 @@
         throws IOException
     {
         if (types.length != names.length) {
-            throw new Error("paramter type and name arrays different sizes");
+            throw new Error("parameter type and name arrays different sizes");
         }
 
         boolean readObject = false;
diff --git a/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java b/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
index c35da19..96c692b 100644
--- a/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
+++ b/jdk/src/share/classes/sun/rmi/server/LoaderHandler.java
@@ -692,7 +692,7 @@
      * Define a proxy class in the given class loader.  The proxy
      * class will implement the given interfaces Classes.
      */
-    private static Class<?> loadProxyClass(ClassLoader loader, Class[] interfaces)
+    private static Class<?> loadProxyClass(ClassLoader loader, Class<?>[] interfaces)
         throws ClassNotFoundException
     {
         try {
@@ -719,7 +719,7 @@
      */
     private static ClassLoader loadProxyInterfaces(String[] interfaces,
                                                    ClassLoader loader,
-                                                   Class[] classObjs,
+                                                   Class<?>[] classObjs,
                                                    boolean[] nonpublic)
         throws ClassNotFoundException
     {
diff --git a/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java b/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java
index 180a625..8342c08 100644
--- a/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java
+++ b/jdk/src/share/classes/sun/rmi/server/UnicastServerRef.java
@@ -299,7 +299,7 @@
             logCall(obj, method);
 
             // unmarshal parameters
-            Class[] types = method.getParameterTypes();
+            Class<?>[] types = method.getParameterTypes();
             Object[] params = new Object[types.length];
 
             try {
diff --git a/jdk/src/share/classes/sun/rmi/server/Util.java b/jdk/src/share/classes/sun/rmi/server/Util.java
index 0f82a84..e37bcb9 100644
--- a/jdk/src/share/classes/sun/rmi/server/Util.java
+++ b/jdk/src/share/classes/sun/rmi/server/Util.java
@@ -87,7 +87,7 @@
         Collections.synchronizedMap(new WeakHashMap<Class<?>, Void>(11));
 
     /** parameter types for stub constructor */
-    private static final Class[] stubConsParamTypes = { RemoteRef.class };
+    private static final Class<?>[] stubConsParamTypes = { RemoteRef.class };
 
     private Util() {
     }
@@ -143,7 +143,7 @@
         }
 
         final ClassLoader loader = implClass.getClassLoader();
-        final Class[] interfaces = getRemoteInterfaces(implClass);
+        final Class<?>[] interfaces = getRemoteInterfaces(implClass);
         final InvocationHandler handler =
             new RemoteObjectInvocationHandler(clientRef);
 
diff --git a/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java b/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java
index c15ddd2..7b34ff8 100644
--- a/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java
+++ b/jdk/src/share/classes/sun/security/jgss/krb5/InitialToken.java
@@ -192,7 +192,7 @@
 
                 if (krbCredMessage.length > 0x0000ffff)
                     throw new GSSException(GSSException.FAILURE, -1,
-                        "Incorrect messsage length");
+                        "Incorrect message length");
 
                 writeLittleEndian(krbCredMessage.length, temp);
                 checksumBytes[pos++] = temp[0];
diff --git a/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java b/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java
index 0312a1f..1acc3a9 100644
--- a/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java
+++ b/jdk/src/share/classes/sun/security/jgss/spnego/SpNegoContext.java
@@ -360,7 +360,7 @@
                 if (internal_mech == null) {
                     // return wth failure
                     throw new GSSException(errorCode, -1,
-                                "supported mechansim from server is null");
+                                "supported mechanism from server is null");
                 }
 
                 // get the negotiated result
@@ -911,7 +911,7 @@
             return mechContext.isEstablished();
         } else {
             if (DEBUG) {
-                System.out.println("The underlying mechansim context has " +
+                System.out.println("The underlying mechanism context has " +
                                         "not been initialized");
             }
             return false;
@@ -1024,7 +1024,7 @@
             return peerName;
         } else {
             if (DEBUG) {
-                System.out.println("The underlying mechansim context has " +
+                System.out.println("The underlying mechanism context has " +
                                         "not been initialized");
             }
             return null;
@@ -1040,7 +1040,7 @@
             return myName;
         } else {
             if (DEBUG) {
-                System.out.println("The underlying mechansim context has " +
+                System.out.println("The underlying mechanism context has " +
                                         "not been initialized");
             }
             return null;
diff --git a/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java b/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java
index e0fc549..0cc5052 100644
--- a/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java
+++ b/jdk/src/share/classes/sun/security/tools/jarsigner/Main.java
@@ -1781,14 +1781,14 @@
         try {
             java.security.cert.Certificate[] cs = null;
             if (altCertChain != null) {
-                try {
+                try (FileInputStream fis = new FileInputStream(altCertChain)) {
                     cs = CertificateFactory.getInstance("X.509").
-                            generateCertificates(new FileInputStream(altCertChain)).
+                            generateCertificates(fis).
                             toArray(new Certificate[0]);
-                } catch (CertificateException ex) {
-                    error(rb.getString("Cannot.restore.certchain.from.file.specified"));
                 } catch (FileNotFoundException ex) {
                     error(rb.getString("File.specified.by.certchain.does.not.exist"));
+                } catch (CertificateException | IOException ex) {
+                    error(rb.getString("Cannot.restore.certchain.from.file.specified"));
                 }
             } else {
                 try {
diff --git a/jdk/src/share/classes/sun/text/resources/sv/FormatData_sv_SE.java b/jdk/src/share/classes/sun/text/resources/sv/FormatData_sv_SE.java
index a9a7881..f930412 100644
--- a/jdk/src/share/classes/sun/text/resources/sv/FormatData_sv_SE.java
+++ b/jdk/src/share/classes/sun/text/resources/sv/FormatData_sv_SE.java
@@ -52,7 +52,7 @@
                 new String[] {
                     "#,##0.###;-#,##0.###", // decimal pattern
                     "#,##0.00 \u00A4;-#,##0.00 \u00A4", // currency pattern
-                    "#,##0%" // percent pattern
+                    "#,##0 %" // percent pattern
                 }
             },
         };
diff --git a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
index 0012847..07f13b7 100644
--- a/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
+++ b/jdk/src/share/classes/sun/tools/jinfo/JInfo.java
@@ -26,7 +26,6 @@
 package sun.tools.jinfo;
 
 import java.lang.reflect.Method;
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 
@@ -44,7 +43,7 @@
 
     public static void main(String[] args) throws Exception {
         if (args.length == 0) {
-            usage(); // no arguments
+            usage(1); // no arguments
         }
 
         boolean useSA = true;
@@ -56,14 +55,20 @@
                 // (<executable> and <code file>). So, total
                 // argument count including option has to 2 or 3.
                 if (args.length != 2 && args.length != 3) {
-                    usage();
+                    usage(1);
                 }
             } else if (arg1.equals("-flag")) {
                 // do not use SA, use attach-on-demand
                 useSA = false;
             } else {
                 // unknown option or -h or -help, print help
-                usage();
+                int exit;
+                if (arg1.equals("-help") || arg1.equals("-h")) {
+                    exit = 0;
+                } else {
+                    exit = 1;
+                }
+                usage(exit);
             }
         }
 
@@ -75,7 +80,13 @@
                 String option = args[1];
                 flag(pid, option);
             } else {
-                usage();
+                int exit;
+                if (arg1.equals("-help") || arg1.equals("-h")) {
+                    exit = 0;
+                } else {
+                    exit = 1;
+                }
+                usage(exit);
             }
         }
     }
@@ -86,7 +97,7 @@
         // Tool not available on this  platform.
         Class<?> c = loadClass(tool);
         if (c == null) {
-            usage();
+            usage(1);
         }
 
         // invoke the main method with the arguments
@@ -176,39 +187,39 @@
 
 
     // print usage message
-    private static void usage() {
+    private static void usage(int exit) {
 
         Class<?> c = loadClass("sun.jvm.hotspot.tools.JInfo");
         boolean usageSA = (c != null);
 
-        System.out.println("Usage:");
+        System.err.println("Usage:");
         if (usageSA) {
-            System.out.println("    jinfo [option] <pid>");
-            System.out.println("        (to connect to running process)");
-            System.out.println("    jinfo [option] <executable <core>");
-            System.out.println("        (to connect to a core file)");
-            System.out.println("    jinfo [option] [server_id@]<remote server IP or hostname>");
-            System.out.println("        (to connect to remote debug server)");
-            System.out.println("");
-            System.out.println("where <option> is one of:");
-            System.out.println("    -flag <name>         to print the value of the named VM flag");
-            System.out.println("    -flag [+|-]<name>    to enable or disable the named VM flag");
-            System.out.println("    -flag <name>=<value> to set the named VM flag to the given value");
-            System.out.println("    -flags               to print VM flags");
-            System.out.println("    -sysprops            to print Java system properties");
-            System.out.println("    <no option>          to print both of the above");
-            System.out.println("    -h | -help           to print this help message");
+            System.err.println("    jinfo [option] <pid>");
+            System.err.println("        (to connect to running process)");
+            System.err.println("    jinfo [option] <executable <core>");
+            System.err.println("        (to connect to a core file)");
+            System.err.println("    jinfo [option] [server_id@]<remote server IP or hostname>");
+            System.err.println("        (to connect to remote debug server)");
+            System.err.println("");
+            System.err.println("where <option> is one of:");
+            System.err.println("    -flag <name>         to print the value of the named VM flag");
+            System.err.println("    -flag [+|-]<name>    to enable or disable the named VM flag");
+            System.err.println("    -flag <name>=<value> to set the named VM flag to the given value");
+            System.err.println("    -flags               to print VM flags");
+            System.err.println("    -sysprops            to print Java system properties");
+            System.err.println("    <no option>          to print both of the above");
+            System.err.println("    -h | -help           to print this help message");
         } else {
-            System.out.println("    jinfo <option> <pid>");
-            System.out.println("       (to connect to a running process)");
-            System.out.println("");
-            System.out.println("where <option> is one of:");
-            System.out.println("    -flag <name>         to print the value of the named VM flag");
-            System.out.println("    -flag [+|-]<name>    to enable or disable the named VM flag");
-            System.out.println("    -flag <name>=<value> to set the named VM flag to the given value");
-            System.out.println("    -h | -help           to print this help message");
+            System.err.println("    jinfo <option> <pid>");
+            System.err.println("       (to connect to a running process)");
+            System.err.println("");
+            System.err.println("where <option> is one of:");
+            System.err.println("    -flag <name>         to print the value of the named VM flag");
+            System.err.println("    -flag [+|-]<name>    to enable or disable the named VM flag");
+            System.err.println("    -flag <name>=<value> to set the named VM flag to the given value");
+            System.err.println("    -h | -help           to print this help message");
         }
 
-        System.exit(1);
+        System.exit(exit);
     }
 }
diff --git a/jdk/src/share/classes/sun/tools/jmap/JMap.java b/jdk/src/share/classes/sun/tools/jmap/JMap.java
index f8b3035..5d349fc 100644
--- a/jdk/src/share/classes/sun/tools/jmap/JMap.java
+++ b/jdk/src/share/classes/sun/tools/jmap/JMap.java
@@ -60,7 +60,7 @@
 
     public static void main(String[] args) throws Exception {
         if (args.length == 0) {
-            usage(); // no arguments
+            usage(1); // no arguments
         }
 
         // used to indicate if we should use SA
@@ -77,11 +77,13 @@
             if (!arg.startsWith("-")) {
                 break;
             }
-            if (arg.equals(FORCE_SA_OPTION)) {
+            if (arg.equals("-help") || arg.equals("-h")) {
+                usage(0);
+            } else if (arg.equals(FORCE_SA_OPTION)) {
                 useSA = true;
             } else {
                 if (option != null) {
-                    usage();  // option already specified
+                    usage(1);  // option already specified
                 }
                 option = arg;
             }
@@ -101,7 +103,7 @@
         // only one parameter (the process-id)
         int paramCount = args.length - optionCount;
         if (paramCount == 0 || paramCount > 2) {
-            usage();
+            usage(1);
         }
 
         if (optionCount == 0 || paramCount != 1) {
@@ -139,7 +141,7 @@
             } else if (option.startsWith(DUMP_OPTION_PREFIX)) {
                 dump(pid, option);
             } else {
-                usage();
+                usage(1);
             }
         }
     }
@@ -161,7 +163,9 @@
         if (option.startsWith(DUMP_OPTION_PREFIX)) {
             // first check that the option can be parsed
             String fn = parseDumpOptions(option);
-            if (fn == null) usage();
+            if (fn == null) {
+                usage(1);
+            }
 
             // tool for heap dumping
             tool = "sun.jvm.hotspot.tools.HeapDumper";
@@ -180,13 +184,13 @@
             }
         }
         if (tool == null) {
-            usage();   // no mapping to tool
+            usage(1);   // no mapping to tool
         }
 
         // Tool not available on this  platform.
         Class<?> c = loadClass(tool);
         if (c == null) {
-            usage();
+            usage(1);
         }
 
         // invoke the main method with the arguments
@@ -225,7 +229,7 @@
         // parse the options to get the dump filename
         String filename = parseDumpOptions(options);
         if (filename == null) {
-            usage();  // invalid options or no filename
+            usage(1);  // invalid options or no filename
         }
 
         // get the canonical path - important to avoid just passing
@@ -341,49 +345,49 @@
     }
 
     // print usage message
-    private static void usage() {
-        System.out.println("Usage:");
+    private static void usage(int exit) {
+        System.err.println("Usage:");
         if (haveSA()) {
-            System.out.println("    jmap [option] <pid>");
-            System.out.println("        (to connect to running process)");
-            System.out.println("    jmap [option] <executable <core>");
-            System.out.println("        (to connect to a core file)");
-            System.out.println("    jmap [option] [server_id@]<remote server IP or hostname>");
-            System.out.println("        (to connect to remote debug server)");
-            System.out.println("");
-            System.out.println("where <option> is one of:");
-            System.out.println("    <none>               to print same info as Solaris pmap");
-            System.out.println("    -heap                to print java heap summary");
-            System.out.println("    -histo[:live]        to print histogram of java object heap; if the \"live\"");
-            System.out.println("                         suboption is specified, only count live objects");
-            System.out.println("    -clstats             to print class loader statistics");
-            System.out.println("    -finalizerinfo       to print information on objects awaiting finalization");
-            System.out.println("    -dump:<dump-options> to dump java heap in hprof binary format");
-            System.out.println("                         dump-options:");
-            System.out.println("                           live         dump only live objects; if not specified,");
-            System.out.println("                                        all objects in the heap are dumped.");
-            System.out.println("                           format=b     binary format");
-            System.out.println("                           file=<file>  dump heap to <file>");
-            System.out.println("                         Example: jmap -dump:live,format=b,file=heap.bin <pid>");
-            System.out.println("    -F                   force. Use with -dump:<dump-options> <pid> or -histo");
-            System.out.println("                         to force a heap dump or histogram when <pid> does not");
-            System.out.println("                         respond. The \"live\" suboption is not supported");
-            System.out.println("                         in this mode.");
-            System.out.println("    -h | -help           to print this help message");
-            System.out.println("    -J<flag>             to pass <flag> directly to the runtime system");
+            System.err.println("    jmap [option] <pid>");
+            System.err.println("        (to connect to running process)");
+            System.err.println("    jmap [option] <executable <core>");
+            System.err.println("        (to connect to a core file)");
+            System.err.println("    jmap [option] [server_id@]<remote server IP or hostname>");
+            System.err.println("        (to connect to remote debug server)");
+            System.err.println("");
+            System.err.println("where <option> is one of:");
+            System.err.println("    <none>               to print same info as Solaris pmap");
+            System.err.println("    -heap                to print java heap summary");
+            System.err.println("    -histo[:live]        to print histogram of java object heap; if the \"live\"");
+            System.err.println("                         suboption is specified, only count live objects");
+            System.err.println("    -clstats             to print class loader statistics");
+            System.err.println("    -finalizerinfo       to print information on objects awaiting finalization");
+            System.err.println("    -dump:<dump-options> to dump java heap in hprof binary format");
+            System.err.println("                         dump-options:");
+            System.err.println("                           live         dump only live objects; if not specified,");
+            System.err.println("                                        all objects in the heap are dumped.");
+            System.err.println("                           format=b     binary format");
+            System.err.println("                           file=<file>  dump heap to <file>");
+            System.err.println("                         Example: jmap -dump:live,format=b,file=heap.bin <pid>");
+            System.err.println("    -F                   force. Use with -dump:<dump-options> <pid> or -histo");
+            System.err.println("                         to force a heap dump or histogram when <pid> does not");
+            System.err.println("                         respond. The \"live\" suboption is not supported");
+            System.err.println("                         in this mode.");
+            System.err.println("    -h | -help           to print this help message");
+            System.err.println("    -J<flag>             to pass <flag> directly to the runtime system");
         } else {
-            System.out.println("    jmap -histo <pid>");
-            System.out.println("      (to connect to running process and print histogram of java object heap");
-            System.out.println("    jmap -dump:<dump-options> <pid>");
-            System.out.println("      (to connect to running process and dump java heap)");
-            System.out.println("");
-            System.out.println("    dump-options:");
-            System.out.println("      format=b     binary default");
-            System.out.println("      file=<file>  dump heap to <file>");
-            System.out.println("");
-            System.out.println("    Example:       jmap -dump:format=b,file=heap.bin <pid>");
+            System.err.println("    jmap -histo <pid>");
+            System.err.println("      (to connect to running process and print histogram of java object heap");
+            System.err.println("    jmap -dump:<dump-options> <pid>");
+            System.err.println("      (to connect to running process and dump java heap)");
+            System.err.println("");
+            System.err.println("    dump-options:");
+            System.err.println("      format=b     binary default");
+            System.err.println("      file=<file>  dump heap to <file>");
+            System.err.println("");
+            System.err.println("    Example:       jmap -dump:format=b,file=heap.bin <pid>");
         }
 
-        System.exit(1);
+        System.exit(exit);
     }
 }
diff --git a/jdk/src/share/classes/sun/tools/jps/Jps.java b/jdk/src/share/classes/sun/tools/jps/Jps.java
index 9c65381..75f2dc1 100644
--- a/jdk/src/share/classes/sun/tools/jps/Jps.java
+++ b/jdk/src/share/classes/sun/tools/jps/Jps.java
@@ -45,11 +45,11 @@
         } catch (IllegalArgumentException e) {
             System.err.println(e.getMessage());
             Arguments.printUsage(System.err);
-            return;
+            System.exit(1);
         }
 
         if (arguments.isHelp()) {
-            Arguments.printUsage(System.out);
+            Arguments.printUsage(System.err);
             System.exit(0);
         }
 
@@ -165,6 +165,7 @@
                     e.printStackTrace();
                 }
             }
+            System.exit(1);
         }
     }
 }
diff --git a/jdk/src/share/classes/sun/tools/jstack/JStack.java b/jdk/src/share/classes/sun/tools/jstack/JStack.java
index e638446..6807f66 100644
--- a/jdk/src/share/classes/sun/tools/jstack/JStack.java
+++ b/jdk/src/share/classes/sun/tools/jstack/JStack.java
@@ -42,7 +42,7 @@
 public class JStack {
     public static void main(String[] args) throws Exception {
         if (args.length == 0) {
-            usage(); // no arguments
+            usage(1); // no arguments
         }
 
         boolean useSA = false;
@@ -56,16 +56,20 @@
             if (!arg.startsWith("-")) {
                 break;
             }
-            if (arg.equals("-F")) {
+            if (arg.equals("-help") || arg.equals("-h")) {
+                usage(0);
+            }
+            else if (arg.equals("-F")) {
                 useSA = true;
-            } else {
+            }
+            else {
                 if (arg.equals("-m")) {
                     mixed = true;
                 } else {
                     if (arg.equals("-l")) {
                        locks = true;
                     } else {
-                        usage();
+                        usage(1);
                     }
                 }
             }
@@ -81,7 +85,7 @@
         // we assume core file and executable so we use SA.
         int paramCount = args.length - optionCount;
         if (paramCount == 0 || paramCount > 2) {
-            usage();
+            usage(1);
         }
         if (paramCount == 2) {
             useSA = true;
@@ -118,7 +122,7 @@
     private static void runJStackTool(boolean mixed, boolean locks, String args[]) throws Exception {
         Class<?> cl = loadSAClass();
         if (cl == null) {
-            usage();            // SA not available
+            usage(1);            // SA not available
         }
 
         // JStack tool also takes -m and -l arguments
@@ -199,31 +203,31 @@
     }
 
     // print usage message
-    private static void usage() {
-        System.out.println("Usage:");
-        System.out.println("    jstack [-l] <pid>");
-        System.out.println("        (to connect to running process)");
+    private static void usage(int exit) {
+        System.err.println("Usage:");
+        System.err.println("    jstack [-l] <pid>");
+        System.err.println("        (to connect to running process)");
 
         if (loadSAClass() != null) {
-            System.out.println("    jstack -F [-m] [-l] <pid>");
-            System.out.println("        (to connect to a hung process)");
-            System.out.println("    jstack [-m] [-l] <executable> <core>");
-            System.out.println("        (to connect to a core file)");
-            System.out.println("    jstack [-m] [-l] [server_id@]<remote server IP or hostname>");
-            System.out.println("        (to connect to a remote debug server)");
+            System.err.println("    jstack -F [-m] [-l] <pid>");
+            System.err.println("        (to connect to a hung process)");
+            System.err.println("    jstack [-m] [-l] <executable> <core>");
+            System.err.println("        (to connect to a core file)");
+            System.err.println("    jstack [-m] [-l] [server_id@]<remote server IP or hostname>");
+            System.err.println("        (to connect to a remote debug server)");
         }
 
-        System.out.println("");
-        System.out.println("Options:");
+        System.err.println("");
+        System.err.println("Options:");
 
         if (loadSAClass() != null) {
-            System.out.println("    -F  to force a thread dump. Use when jstack <pid> does not respond" +
+            System.err.println("    -F  to force a thread dump. Use when jstack <pid> does not respond" +
                 " (process is hung)");
-            System.out.println("    -m  to print both java and native frames (mixed mode)");
+            System.err.println("    -m  to print both java and native frames (mixed mode)");
         }
 
-        System.out.println("    -l  long listing. Prints additional information about locks");
-        System.out.println("    -h or -help to print this help message");
-        System.exit(1);
+        System.err.println("    -l  long listing. Prints additional information about locks");
+        System.err.println("    -h or -help to print this help message");
+        System.exit(exit);
     }
 }
diff --git a/jdk/src/share/classes/sun/tools/serialver/SerialVer.java b/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
index b2a2de6..a02a897 100644
--- a/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
+++ b/jdk/src/share/classes/sun/tools/serialver/SerialVer.java
@@ -211,7 +211,7 @@
         Class<?> cl = Class.forName(classname, false, loader);
         ObjectStreamClass desc = ObjectStreamClass.lookup(cl);
         if (desc != null) {
-            return "    static final long serialVersionUID = " +
+            return "    private static final long serialVersionUID = " +
                 desc.getSerialVersionUID() + "L;";
         } else {
             return null;
diff --git a/jdk/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java b/jdk/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java
index e492e09..24c5533 100644
--- a/jdk/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java
+++ b/jdk/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java
@@ -450,9 +450,9 @@
                     "User cancelled operation. No file was chosen.");
         } else if (retval == ERROR_OPTION) {
             JOptionPane.showMessageDialog(frame,
-                    "An error occured. No file was chosen.");
+                    "An error occurred. No file was chosen.");
         } else {
-            JOptionPane.showMessageDialog(frame, "Unknown operation occured.");
+            JOptionPane.showMessageDialog(frame, "Unknown operation occurred.");
         }
     }
 
diff --git a/jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c b/jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c
index cd6d104..73413fd 100644
--- a/jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c
+++ b/jdk/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c
@@ -263,8 +263,8 @@
         /* Normal operation should NEVER reach here */
         /* NO CRW FATAL ERROR HANDLER! */
         (void)fprintf(stderr, "CRW: %s [%s:%d]\n", message, file, line);
-        abort();
     }
+    abort();
 }
 
 #if defined(DEBUG) || !defined(NDEBUG)
diff --git a/jdk/src/share/javavm/export/jmm.h b/jdk/src/share/javavm/export/jmm.h
index e017e5a..3f938e2 100644
--- a/jdk/src/share/javavm/export/jmm.h
+++ b/jdk/src/share/javavm/export/jmm.h
@@ -78,6 +78,7 @@
   JMM_COMPILE_TOTAL_TIME_MS          = 8,    /* Total accumulated time spent in compilation */
   JMM_GC_TIME_MS                     = 9,    /* Total accumulated time spent in collection */
   JMM_GC_COUNT                       = 10,   /* Total number of collections */
+  JMM_JVM_UPTIME_MS                  = 11,   /* The JVM uptime in milliseconds */
 
   JMM_INTERNAL_ATTRIBUTE_INDEX       = 100,
   JMM_CLASS_LOADED_BYTES             = 101,  /* Number of bytes loaded instance classes */
diff --git a/jdk/src/share/native/java/lang/ref/Finalizer.c b/jdk/src/share/native/java/lang/ref/Finalizer.c
deleted file mode 100644
index 115dc1ba..0000000
--- a/jdk/src/share/native/java/lang/ref/Finalizer.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 1997, 1998, Oracle and/or its affiliates. All rights reserved.
- * 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 "java_lang_ref_Finalizer.h"
-
-
-JNIEXPORT void JNICALL
-Java_java_lang_ref_Finalizer_invokeFinalizeMethod(JNIEnv *env, jclass clazz,
-                                                  jobject ob)
-{
-    jclass cls;
-    jmethodID mid;
-
-    cls = (*env)->GetObjectClass(env, ob);
-    if (cls == NULL) return;
-    mid = (*env)->GetMethodID(env, cls, "finalize", "()V");
-    if (mid == NULL) return;
-    (*env)->CallVoidMethod(env, ob, mid);
-}
diff --git a/jdk/src/share/native/java/net/Inet4Address.c b/jdk/src/share/native/java/net/Inet4Address.c
index 2030471..b2f2541 100644
--- a/jdk/src/share/native/java/net/Inet4Address.c
+++ b/jdk/src/share/native/java/net/Inet4Address.c
@@ -46,5 +46,4 @@
     ia4_class = (*env)->NewGlobalRef(env, c);
     CHECK_NULL(ia4_class);
     ia4_ctrID = (*env)->GetMethodID(env, ia4_class, "<init>", "()V");
-    CHECK_NULL(ia4_ctrID);
 }
diff --git a/jdk/src/share/native/java/net/Inet6Address.c b/jdk/src/share/native/java/net/Inet6Address.c
index 54c4149..729fe78 100644
--- a/jdk/src/share/native/java/net/Inet6Address.c
+++ b/jdk/src/share/native/java/net/Inet6Address.c
@@ -65,9 +65,8 @@
     ia6_cachedscopeidID = (*env)->GetFieldID(env, ia6_class, "cached_scope_id", "I");
     CHECK_NULL(ia6_cachedscopeidID);
     ia6_scopeidsetID = (*env)->GetFieldID(env, ia6h_class, "scope_id_set", "Z");
-    CHECK_NULL(ia6_scopeidID);
+    CHECK_NULL(ia6_scopeidsetID);
     ia6_scopeifnameID = (*env)->GetFieldID(env, ia6h_class, "scope_ifname", "Ljava/net/NetworkInterface;");
     CHECK_NULL(ia6_scopeifnameID);
     ia6_ctrID = (*env)->GetMethodID(env, ia6_class, "<init>", "()V");
-    CHECK_NULL(ia6_ctrID);
 }
diff --git a/jdk/src/share/native/java/net/InetAddress.c b/jdk/src/share/native/java/net/InetAddress.c
index 3111573..e9fd097 100644
--- a/jdk/src/share/native/java/net/InetAddress.c
+++ b/jdk/src/share/native/java/net/InetAddress.c
@@ -64,5 +64,4 @@
     iac_familyID = (*env)->GetFieldID(env, iac_class, "family", "I");
     CHECK_NULL(iac_familyID);
     iac_hostNameID = (*env)->GetFieldID(env, iac_class, "hostName", "Ljava/lang/String;");
-    CHECK_NULL(iac_hostNameID);
 }
diff --git a/jdk/src/share/native/sun/java2d/cmm/lcms/cmsio0.c b/jdk/src/share/native/sun/java2d/cmm/lcms/cmsio0.c
index 82b9a6e..8010414 100644
--- a/jdk/src/share/native/sun/java2d/cmm/lcms/cmsio0.c
+++ b/jdk/src/share/native/sun/java2d/cmm/lcms/cmsio0.c
@@ -1077,7 +1077,13 @@
 static
 cmsBool SanityCheck(_cmsICCPROFILE* profile)
 {
-    cmsIOHANDLER* io = profile->IOhandler;
+    cmsIOHANDLER* io;
+
+    if (!profile) {
+        return FALSE;
+    }
+
+    io = profile->IOhandler;
     if (!io) {
         return FALSE;
     }
@@ -1108,8 +1114,6 @@
     cmsTagTypeSignature TypeBase;
     cmsTagTypeHandler* TypeHandler;
 
-    if (!SanityCheck(FileOrig)) return FALSE;
-
     for (i=0; i < Icc -> TagCount; i++) {
 
 
@@ -1126,7 +1130,7 @@
 
             // Reach here if we are copying a tag from a disk-based ICC profile which has not been modified by user.
             // In this case a blind copy of the block data is performed
-            if (FileOrig != NULL && Icc -> TagOffsets[i]) {
+            if (SanityCheck(FileOrig) && Icc -> TagOffsets[i]) {
 
                 cmsUInt32Number TagSize   = FileOrig -> TagSizes[i];
                 cmsUInt32Number TagOffset = FileOrig -> TagOffsets[i];
diff --git a/jdk/src/share/native/sun/management/VMManagementImpl.c b/jdk/src/share/native/sun/management/VMManagementImpl.c
index 27784e5..1aa09d2 100644
--- a/jdk/src/share/native/sun/management/VMManagementImpl.c
+++ b/jdk/src/share/native/sun/management/VMManagementImpl.c
@@ -200,6 +200,13 @@
                                            JMM_JVM_INIT_DONE_TIME_MS);
 }
 
+JNIEXPORT jlong JNICALL
+Java_sun_management_VMManagementImpl_getUptime0
+  (JNIEnv *env, jobject dummy)
+{
+    return jmm_interface->GetLongAttribute(env, NULL, JMM_JVM_UPTIME_MS);
+}
+
 JNIEXPORT jboolean JNICALL
 Java_sun_management_VMManagementImpl_isThreadContentionMonitoringEnabled
   (JNIEnv *env, jobject dummy)
diff --git a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c
index 8889f74..79d5250 100644
--- a/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c
+++ b/jdk/src/share/native/sun/security/pkcs11/wrapper/p11_util.c
@@ -598,16 +598,16 @@
         throwOutOfMemoryError(env, 0);
         return;
     }
-    TRACE1(", converting %d attibutes", jLength);
+    TRACE1(", converting %d attributes", jLength);
     for (i=0; i<(*ckpLength); i++) {
-        TRACE1(", getting %d. attibute", i);
+        TRACE1(", getting %d. attribute", i);
         jAttribute = (*env)->GetObjectArrayElement(env, jArray, i);
         if ((*env)->ExceptionCheck(env)) {
             freeCKAttributeArray(*ckpArray, i);
             return;
         }
         TRACE1(", jAttribute = %d", jAttribute);
-        TRACE1(", converting %d. attibute", i);
+        TRACE1(", converting %d. attribute", i);
         (*ckpArray)[i] = jAttributeToCKAttribute(env, jAttribute);
         if ((*env)->ExceptionCheck(env)) {
             freeCKAttributeArray(*ckpArray, i);
diff --git a/jdk/src/share/sample/nio/chatserver/ClientReader.java b/jdk/src/share/sample/nio/chatserver/ClientReader.java
index de7f639..822125a 100644
--- a/jdk/src/share/sample/nio/chatserver/ClientReader.java
+++ b/jdk/src/share/sample/nio/chatserver/ClientReader.java
@@ -58,7 +58,7 @@
     }
 
     /**
-     * Runs a cycle of doing a beforeRead action and then inquiring a new
+     * Runs a cycle of doing a beforeRead action and then enqueuing a new
      * read on the client. Handles closed channels and errors while reading.
      * If the client is still connected a new round of actions are called.
      */
diff --git a/jdk/src/solaris/classes/com/sun/management/OSMBeanFactory.java b/jdk/src/solaris/classes/com/sun/management/OSMBeanFactory.java
deleted file mode 100644
index cbd9aa2..0000000
--- a/jdk/src/solaris/classes/com/sun/management/OSMBeanFactory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2003, 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.  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.management;
-
-import java.lang.management.OperatingSystemMXBean;
-import sun.management.VMManagement;
-
-/**
- * Operating system dependent MBean factory.
- * <p>
- * <b>WARNING:</b> While this class is public, it should not be treated as
- * public API and its API may change in incompatable ways between dot dot
- * releases and even patch releases. You should not rely on this class.
- */
-@jdk.Exported(false)
-public class OSMBeanFactory {
-    /* static factory class */
-    private OSMBeanFactory() {};
-
-    private static UnixOperatingSystem osMBean = null;
-
-    public static synchronized OperatingSystemMXBean
-        getOperatingSystemMXBean(VMManagement jvm) {
-
-        if (osMBean == null) {
-            osMBean = new UnixOperatingSystem(jvm);
-        }
-        return (OperatingSystemMXBean) osMBean;
-    }
-}
diff --git a/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java b/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java
index e61273d..912a951 100644
--- a/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java
+++ b/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java
@@ -1173,7 +1173,7 @@
             }
             if (target == activeWindow && target != focusedWindow) {
                 // Happens when an owned window is currently focused
-                focusLog.fine("Focus is on child window - transfering it back to the owner");
+                focusLog.fine("Focus is on child window - transferring it back to the owner");
                 handleWindowFocusInSync(-1);
                 return true;
             }
diff --git a/jdk/src/solaris/classes/com/sun/management/UnixOperatingSystem.java b/jdk/src/solaris/classes/sun/management/OperatingSystemImpl.java
similarity index 89%
rename from jdk/src/solaris/classes/com/sun/management/UnixOperatingSystem.java
rename to jdk/src/solaris/classes/sun/management/OperatingSystemImpl.java
index d80779c..666840f 100644
--- a/jdk/src/solaris/classes/com/sun/management/UnixOperatingSystem.java
+++ b/jdk/src/solaris/classes/sun/management/OperatingSystemImpl.java
@@ -23,9 +23,7 @@
  * questions.
  */
 
-package com.sun.management;
-
-import sun.management.VMManagement;
+package sun.management;
 
 /**
  * Implementation class for the operating system.
@@ -34,11 +32,10 @@
  * ManagementFactory.getOperatingSystemMXBean() returns an instance
  * of this class.
  */
-class UnixOperatingSystem
-    extends    sun.management.OperatingSystemImpl
-    implements UnixOperatingSystemMXBean {
+class OperatingSystemImpl extends BaseOperatingSystemImpl
+    implements com.sun.management.UnixOperatingSystemMXBean {
 
-    UnixOperatingSystem(VMManagement vm) {
+    OperatingSystemImpl(VMManagement vm) {
         super(vm);
     }
 
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java b/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
index 553c4b2..bd8253e 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java
@@ -484,7 +484,7 @@
         if (sm != null) {
             FilePermission perm = new FilePermission(link.getPathForPermissionCheck(),
                 SecurityConstants.FILE_READLINK_ACTION);
-            AccessController.checkPermission(perm);
+            sm.checkPermission(perm);
         }
         try {
             byte[] target = readlink(link);
diff --git a/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java b/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
index 0d358f2..f4a0642 100644
--- a/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
+++ b/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java
@@ -145,7 +145,7 @@
         }
         if (error) {
             throw new InvalidPathException(input,
-                "Malformed input or input contains unmappable chacraters");
+                "Malformed input or input contains unmappable characters");
         }
 
         // trim result to actual length if required
diff --git a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
index 6ef0aca4..ea67245 100644
--- a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
+++ b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
@@ -55,17 +55,23 @@
 static jclass ni_ia4cls;
 static jmethodID ni_ia4ctrID;
 
-static void initializeInetClasses(JNIEnv *env)
+static jboolean initializeInetClasses(JNIEnv *env)
 {
     static int initialized = 0;
     if (!initialized) {
         ni_iacls = (*env)->FindClass(env, "java/net/InetAddress");
+        CHECK_NULL_RETURN(ni_iacls, JNI_FALSE);
         ni_iacls = (*env)->NewGlobalRef(env, ni_iacls);
+        CHECK_NULL_RETURN(ni_iacls, JNI_FALSE);
         ni_ia4cls = (*env)->FindClass(env, "java/net/Inet4Address");
+        CHECK_NULL_RETURN(ni_ia4cls, JNI_FALSE);
         ni_ia4cls = (*env)->NewGlobalRef(env, ni_ia4cls);
+        CHECK_NULL_RETURN(ni_ia4cls, JNI_FALSE);
         ni_ia4ctrID = (*env)->GetMethodID(env, ni_ia4cls, "<init>", "()V");
+        CHECK_NULL_RETURN(ni_ia4ctrID, JNI_FALSE);
         initialized = 1;
     }
+    return JNI_TRUE;
 }
 
 
@@ -141,7 +147,8 @@
     int error=0;
     struct addrinfo hints, *res, *resNew = NULL;
 
-    initializeInetClasses(env);
+    if (!initializeInetClasses(env))
+        return NULL;
 
     if (IS_NULL(host)) {
         JNU_ThrowNullPointerException(env, "host is null");
@@ -400,7 +407,8 @@
     int error = 0;
     struct addrinfo hints, *res, *resNew = NULL;
 
-    initializeInetClasses(env);
+    if (!initializeInetClasses(env))
+        return NULL;
 
     if (IS_NULL(host)) {
         JNU_ThrowNullPointerException(env, "host is null");
diff --git a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
index d83db70..7ac26c0 100644
--- a/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
+++ b/jdk/src/solaris/native/java/net/Inet6AddressImpl.c
@@ -124,25 +124,35 @@
 static jmethodID ni_ia6ctrID;
 static jboolean preferIPv6Address;
 
-static void initializeInetClasses(JNIEnv *env)
+static jboolean initializeInetClasses(JNIEnv *env)
 {
     jfieldID ni_preferIPv6AddressID;
     static int initialized = 0;
     if (!initialized) {
         ni_iacls = (*env)->FindClass(env, "java/net/InetAddress");
+        CHECK_NULL_RETURN(ni_iacls, JNI_FALSE);
         ni_iacls = (*env)->NewGlobalRef(env, ni_iacls);
+        CHECK_NULL_RETURN(ni_iacls, JNI_FALSE);
         ni_ia4cls = (*env)->FindClass(env, "java/net/Inet4Address");
+        CHECK_NULL_RETURN(ni_ia4cls, JNI_FALSE);
         ni_ia4cls = (*env)->NewGlobalRef(env, ni_ia4cls);
+        CHECK_NULL_RETURN(ni_ia4cls, JNI_FALSE);
         ni_ia6cls = (*env)->FindClass(env, "java/net/Inet6Address");
+        CHECK_NULL_RETURN(ni_ia6cls, JNI_FALSE);
         ni_ia6cls = (*env)->NewGlobalRef(env, ni_ia6cls);
+        CHECK_NULL_RETURN(ni_ia6cls, JNI_FALSE);
         ni_ia4ctrID = (*env)->GetMethodID(env, ni_ia4cls, "<init>", "()V");
+        CHECK_NULL_RETURN(ni_ia4ctrID, JNI_FALSE);
         ni_ia6ctrID = (*env)->GetMethodID(env, ni_ia6cls, "<init>", "()V");
+        CHECK_NULL_RETURN(ni_ia6ctrID, JNI_FALSE);
         ni_preferIPv6AddressID =
             (*env)->GetStaticFieldID(env, ni_iacls, "preferIPv6Address", "Z");
+        CHECK_NULL_RETURN(ni_preferIPv6AddressID, JNI_FALSE);
         preferIPv6Address =
             (*env)->GetStaticBooleanField(env, ia_class, ia_preferIPv6AddressID);
         initialized = 1;
     }
+    return JNI_TRUE;
 }
 
 #ifdef MACOSX
@@ -160,7 +170,8 @@
     jobject name;
 
     // Make sure static variables we need are set.
-    initializeInetClasses(env);
+    if (!initializeInetClasses(env))
+        return NULL;
 
     /* If the requested name matches this host's hostname, return IP addresses
      * from all attached interfaces. (#2844683 et al) This prevents undesired
@@ -286,7 +297,8 @@
     struct addrinfo hints, *res, *resNew = NULL;
 #endif /* AF_INET6 */
 
-    initializeInetClasses(env);
+    if (!initializeInetClasses(env))
+        return NULL;
 
     if (IS_NULL(host)) {
         JNU_ThrowNullPointerException(env, "host is null");
diff --git a/jdk/src/solaris/native/com/sun/management/LinuxOperatingSystem.c b/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c
similarity index 97%
rename from jdk/src/solaris/native/com/sun/management/LinuxOperatingSystem.c
rename to jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c
index 19d84fe..c8bd739 100644
--- a/jdk/src/solaris/native/com/sun/management/LinuxOperatingSystem.c
+++ b/jdk/src/solaris/native/sun/management/LinuxOperatingSystem.c
@@ -35,7 +35,7 @@
 #include <stdlib.h>
 #include <dlfcn.h>
 #include <pthread.h>
-#include "com_sun_management_UnixOperatingSystem.h"
+#include "sun_management_OperatingSystemImpl.h"
 
 struct ticks {
     uint64_t  used;
@@ -310,7 +310,7 @@
 }
 
 JNIEXPORT jdouble JNICALL
-Java_com_sun_management_UnixOperatingSystem_getSystemCpuLoad
+Java_sun_management_OperatingSystemImpl_getSystemCpuLoad
 (JNIEnv *env, jobject dummy)
 {
     if(perfInit() == 0) {
@@ -321,7 +321,7 @@
 }
 
 JNIEXPORT jdouble JNICALL
-Java_com_sun_management_UnixOperatingSystem_getProcessCpuLoad
+Java_sun_management_OperatingSystemImpl_getProcessCpuLoad
 (JNIEnv *env, jobject dummy)
 {
     if(perfInit() == 0) {
diff --git a/jdk/src/solaris/native/com/sun/management/MacosxOperatingSystem.c b/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c
similarity index 96%
rename from jdk/src/solaris/native/com/sun/management/MacosxOperatingSystem.c
rename to jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c
index 7f8c1e9..8fb3978 100644
--- a/jdk/src/solaris/native/com/sun/management/MacosxOperatingSystem.c
+++ b/jdk/src/solaris/native/sun/management/MacosxOperatingSystem.c
@@ -23,7 +23,7 @@
  * questions.
  */
 
-#include "com_sun_management_UnixOperatingSystem.h"
+#include "sun_management_OperatingSystemImpl.h"
 
 #include <sys/time.h>
 #include <mach/mach.h>
@@ -31,7 +31,7 @@
 
 
 JNIEXPORT jdouble JNICALL
-Java_com_sun_management_UnixOperatingSystem_getSystemCpuLoad
+Java_sun_management_OperatingSystemImpl_getSystemCpuLoad
 (JNIEnv *env, jobject dummy)
 {
     // This code is influenced by the darwin top source
@@ -83,7 +83,7 @@
 
 
 JNIEXPORT jdouble JNICALL
-Java_com_sun_management_UnixOperatingSystem_getProcessCpuLoad
+Java_sun_management_OperatingSystemImpl_getProcessCpuLoad
 (JNIEnv *env, jobject dummy)
 {
     // This code is influenced by the darwin top source
diff --git a/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c b/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c
similarity index 94%
rename from jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c
rename to jdk/src/solaris/native/sun/management/OperatingSystemImpl.c
index e2574e4..f1322eb 100644
--- a/jdk/src/solaris/native/com/sun/management/UnixOperatingSystem_md.c
+++ b/jdk/src/solaris/native/sun/management/OperatingSystemImpl.c
@@ -28,7 +28,7 @@
 #include "jlong.h"
 #include "jvm.h"
 #include "management.h"
-#include "com_sun_management_UnixOperatingSystem.h"
+#include "sun_management_OperatingSystemImpl.h"
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -175,14 +175,14 @@
 }
 
 JNIEXPORT void JNICALL
-Java_com_sun_management_UnixOperatingSystem_initialize
+Java_sun_management_OperatingSystemImpl_initialize
   (JNIEnv *env, jclass cls)
 {
     page_size = sysconf(_SC_PAGESIZE);
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_UnixOperatingSystem_getCommittedVirtualMemorySize
+Java_sun_management_OperatingSystemImpl_getCommittedVirtualMemorySize
   (JNIEnv *env, jobject mbean)
 {
 #ifdef __solaris__
@@ -249,21 +249,21 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_UnixOperatingSystem_getTotalSwapSpaceSize
+Java_sun_management_OperatingSystemImpl_getTotalSwapSpaceSize
   (JNIEnv *env, jobject mbean)
 {
     return get_total_or_available_swap_space_size(env, JNI_FALSE);
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_UnixOperatingSystem_getFreeSwapSpaceSize
+Java_sun_management_OperatingSystemImpl_getFreeSwapSpaceSize
   (JNIEnv *env, jobject mbean)
 {
     return get_total_or_available_swap_space_size(env, JNI_TRUE);
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_UnixOperatingSystem_getProcessCpuTime
+Java_sun_management_OperatingSystemImpl_getProcessCpuTime
   (JNIEnv *env, jobject mbean)
 {
 #ifdef __APPLE__
@@ -305,7 +305,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_UnixOperatingSystem_getFreePhysicalMemorySize
+Java_sun_management_OperatingSystemImpl_getFreePhysicalMemorySize
   (JNIEnv *env, jobject mbean)
 {
 #ifdef __APPLE__
@@ -333,7 +333,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_UnixOperatingSystem_getTotalPhysicalMemorySize
+Java_sun_management_OperatingSystemImpl_getTotalPhysicalMemorySize
   (JNIEnv *env, jobject mbean)
 {
 #ifdef _ALLBSD_SOURCE
@@ -358,7 +358,7 @@
 
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_UnixOperatingSystem_getOpenFileDescriptorCount
+Java_sun_management_OperatingSystemImpl_getOpenFileDescriptorCount
   (JNIEnv *env, jobject mbean)
 {
 #ifdef __APPLE__
@@ -438,7 +438,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_UnixOperatingSystem_getMaxFileDescriptorCount
+Java_sun_management_OperatingSystemImpl_getMaxFileDescriptorCount
   (JNIEnv *env, jobject mbean)
 {
     struct rlimit rlp;
diff --git a/jdk/src/solaris/native/com/sun/management/SolarisOperatingSystem.c b/jdk/src/solaris/native/sun/management/SolarisOperatingSystem.c
similarity index 97%
rename from jdk/src/solaris/native/com/sun/management/SolarisOperatingSystem.c
rename to jdk/src/solaris/native/sun/management/SolarisOperatingSystem.c
index c5ebb97..a8136f1 100644
--- a/jdk/src/solaris/native/com/sun/management/SolarisOperatingSystem.c
+++ b/jdk/src/solaris/native/sun/management/SolarisOperatingSystem.c
@@ -38,7 +38,7 @@
 #include <sys/loadavg.h>
 #include <jni.h>
 #include "jvm.h"
-#include "com_sun_management_UnixOperatingSystem.h"
+#include "sun_management_OperatingSystemImpl.h"
 
 typedef struct {
     kstat_t *kstat;
@@ -226,14 +226,14 @@
 }
 
 JNIEXPORT jdouble JNICALL
-Java_com_sun_management_UnixOperatingSystem_getSystemCpuLoad
+Java_sun_management_OperatingSystemImpl_getSystemCpuLoad
 (JNIEnv *env, jobject dummy)
 {
     return get_cpu_load(-1);
 }
 
 JNIEXPORT jdouble JNICALL
-Java_com_sun_management_UnixOperatingSystem_getProcessCpuLoad
+Java_sun_management_OperatingSystemImpl_getProcessCpuLoad
 (JNIEnv *env, jobject dummy)
 {
     return get_process_load();
diff --git a/jdk/src/windows/classes/com/sun/management/OSMBeanFactory.java b/jdk/src/windows/classes/com/sun/management/OSMBeanFactory.java
deleted file mode 100644
index d341f13..0000000
--- a/jdk/src/windows/classes/com/sun/management/OSMBeanFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2003, 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.  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.management;
-
-import java.lang.management.OperatingSystemMXBean;
-import sun.management.VMManagement;
-
-/**
- * Operating system dependent MBean factory.
- * <p>
- * <b>WARNING:</b> While this class is public, it should not be treated as
- * public API and its API may change in incompatable ways between dot dot
- * releases and even patch releases. You should not rely on this class.
- */
-public class OSMBeanFactory {
-    /* static factory class */
-    private OSMBeanFactory() {};
-
-    private static OperatingSystem osMBean = null;
-
-    public static synchronized OperatingSystemMXBean
-        getOperatingSystemMXBean(VMManagement jvm) {
-
-        if (osMBean == null) {
-            osMBean = new OperatingSystem(jvm);
-        }
-        return (OperatingSystemMXBean) osMBean;
-    }
-}
diff --git a/jdk/src/windows/classes/com/sun/management/OperatingSystem.java b/jdk/src/windows/classes/sun/management/OperatingSystemImpl.java
similarity index 92%
rename from jdk/src/windows/classes/com/sun/management/OperatingSystem.java
rename to jdk/src/windows/classes/sun/management/OperatingSystemImpl.java
index 0c5bf9b..ca76644 100644
--- a/jdk/src/windows/classes/com/sun/management/OperatingSystem.java
+++ b/jdk/src/windows/classes/sun/management/OperatingSystemImpl.java
@@ -23,9 +23,9 @@
  * questions.
  */
 
-package com.sun.management;
+package sun.management;
 
-import sun.management.VMManagement;
+import com.sun.management.OperatingSystemMXBean;
 
 /**
  * Implementation class for the operating system.
@@ -34,15 +34,14 @@
  * ManagementFactory.getOperatingSystemMXBean() returns an instance
  * of this class.
  */
-class OperatingSystem
-    extends    sun.management.OperatingSystemImpl
+class OperatingSystemImpl extends BaseOperatingSystemImpl
     implements OperatingSystemMXBean {
 
     // psapiLock is a lock to make sure only one thread loading
     // PSAPI DLL.
     private static Object psapiLock = new Object();
 
-    OperatingSystem(VMManagement vm) {
+    OperatingSystemImpl(VMManagement vm) {
         super(vm);
     }
 
diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
index fd3fa53..d747e0f 100644
--- a/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java
@@ -228,6 +228,7 @@
         @Override
         public void run() {
             long overlapped = 0L;
+            boolean pending = false;
             try {
                 begin();
 
@@ -241,6 +242,7 @@
                                      overlapped);
                     if (n == IOStatus.UNAVAILABLE) {
                         // I/O is pending
+                        pending = true;
                         return;
                     }
                     // acquired lock immediately
@@ -250,10 +252,10 @@
             } catch (Throwable x) {
                 // lock failed or channel closed
                 removeFromFileLockTable(fli);
-                if (overlapped != 0L)
-                    ioCache.remove(overlapped);
                 result.setFailure(toIOException(x));
             } finally {
+                if (!pending && overlapped != 0L)
+                    ioCache.remove(overlapped);
                 end();
             }
 
diff --git a/jdk/src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java b/jdk/src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java
index 725e66f..d84712b 100644
--- a/jdk/src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java
+++ b/jdk/src/windows/classes/sun/nio/ch/WindowsSelectorImpl.java
@@ -266,7 +266,7 @@
         private void checkForException() throws IOException {
             if (exception == null)
                 return;
-            StringBuffer message =  new StringBuffer("An exception occured" +
+            StringBuffer message =  new StringBuffer("An exception occurred" +
                                        " during the execution of select(): \n");
             message.append(exception);
             message.append('\n');
diff --git a/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java b/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java
index 31b7c0f..1f2f22e 100644
--- a/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java
+++ b/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java
@@ -614,7 +614,7 @@
         if (sm != null) {
             FilePermission perm = new FilePermission(link.getPathForPermissionCheck(),
                 SecurityConstants.FILE_READLINK_ACTION);
-            AccessController.checkPermission(perm);
+            sm.checkPermission(perm);
         }
 
         String target = WindowsLinkSupport.readLink(link);
diff --git a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
index ce0e3e7..566b0be 100644
--- a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
+++ b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Klist.java
@@ -336,7 +336,7 @@
         System.out.println("   name\t name of credentials cache or " +
                            " keytab with the prefix. File-based cache or "
                            + "keytab's prefix is FILE:.");
-        System.out.println("   -c specifes that credential cache is to be " +
+        System.out.println("   -c specifies that credential cache is to be " +
                            "listed");
         System.out.println("   -k specifies that key tab is to be listed");
         System.out.println("   options for credentials caches:");
diff --git a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java
index eeeb848..bf09016 100644
--- a/jdk/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java
+++ b/jdk/src/windows/classes/sun/security/krb5/internal/tools/Ktab.java
@@ -381,12 +381,12 @@
                 }
             }
         } catch (KrbException e) {
-            System.err.println("Error occured while deleting the entry. "+
+            System.err.println("Error occurred while deleting the entry. "+
                                "Deletion failed.");
             e.printStackTrace();
             System.exit(-1);
         } catch (IOException e) {
-            System.err.println("Error occured while deleting the entry. "+
+            System.err.println("Error occurred while deleting the entry. "+
                                " Deletion failed.");
             e.printStackTrace();
             System.exit(-1);
diff --git a/jdk/src/windows/native/java/net/Inet4AddressImpl.c b/jdk/src/windows/native/java/net/Inet4AddressImpl.c
index 97aab6f..f34b5e1 100644
--- a/jdk/src/windows/native/java/net/Inet4AddressImpl.c
+++ b/jdk/src/windows/native/java/net/Inet4AddressImpl.c
@@ -142,10 +142,15 @@
 
     if (!initialized) {
       ni_iacls = (*env)->FindClass(env, "java/net/InetAddress");
+      CHECK_NULL_RETURN(ni_iacls, NULL);
       ni_iacls = (*env)->NewGlobalRef(env, ni_iacls);
+      CHECK_NULL_RETURN(ni_iacls, NULL);
       ni_ia4cls = (*env)->FindClass(env, "java/net/Inet4Address");
+      CHECK_NULL_RETURN(ni_ia4cls, NULL);
       ni_ia4cls = (*env)->NewGlobalRef(env, ni_ia4cls);
+      CHECK_NULL_RETURN(ni_ia4cls, NULL);
       ni_ia4ctrID = (*env)->GetMethodID(env, ni_ia4cls, "<init>", "()V");
+      CHECK_NULL_RETURN(ni_ia4ctrID, NULL);
       initialized = 1;
     }
 
diff --git a/jdk/src/windows/native/java/net/Inet6AddressImpl.c b/jdk/src/windows/native/java/net/Inet6AddressImpl.c
index 4531402..f77d5ab 100644
--- a/jdk/src/windows/native/java/net/Inet6AddressImpl.c
+++ b/jdk/src/windows/native/java/net/Inet6AddressImpl.c
@@ -93,13 +93,21 @@
 
     if (!initialized) {
       ni_iacls = (*env)->FindClass(env, "java/net/InetAddress");
+      CHECK_NULL_RETURN(ni_iacls, NULL);
       ni_iacls = (*env)->NewGlobalRef(env, ni_iacls);
+      CHECK_NULL_RETURN(ni_iacls, NULL);
       ni_ia4cls = (*env)->FindClass(env, "java/net/Inet4Address");
+      CHECK_NULL_RETURN(ni_ia4cls, NULL);
       ni_ia4cls = (*env)->NewGlobalRef(env, ni_ia4cls);
+      CHECK_NULL_RETURN(ni_ia4cls, NULL);
       ni_ia6cls = (*env)->FindClass(env, "java/net/Inet6Address");
+      CHECK_NULL_RETURN(ni_ia6cls, NULL);
       ni_ia6cls = (*env)->NewGlobalRef(env, ni_ia6cls);
+      CHECK_NULL_RETURN(ni_ia6cls, NULL);
       ni_ia4ctrID = (*env)->GetMethodID(env, ni_ia4cls, "<init>", "()V");
+      CHECK_NULL_RETURN(ni_ia4ctrID, NULL);
       ni_ia6ctrID = (*env)->GetMethodID(env, ni_ia6cls, "<init>", "()V");
+      CHECK_NULL_RETURN(ni_ia6ctrID, NULL);
       initialized = 1;
     }
     if (IS_NULL(host)) {
diff --git a/jdk/src/windows/native/com/sun/management/OperatingSystem_md.c b/jdk/src/windows/native/sun/management/OperatingSystemImpl.c
similarity index 97%
rename from jdk/src/windows/native/com/sun/management/OperatingSystem_md.c
rename to jdk/src/windows/native/sun/management/OperatingSystemImpl.c
index 62e5615..c684e2b 100644
--- a/jdk/src/windows/native/com/sun/management/OperatingSystem_md.c
+++ b/jdk/src/windows/native/sun/management/OperatingSystemImpl.c
@@ -28,7 +28,7 @@
 #include "jlong.h"
 #include "jvm.h"
 #include "management.h"
-#include "com_sun_management_OperatingSystem.h"
+#include "sun_management_OperatingSystemImpl.h"
 
 #include <psapi.h>
 #include <errno.h>
@@ -77,7 +77,7 @@
 int perfiInit(void);
 
 JNIEXPORT void JNICALL
-Java_com_sun_management_OperatingSystem_initialize
+Java_sun_management_OperatingSystemImpl_initialize
   (JNIEnv *env, jclass cls)
 {
     main_process = GetCurrentProcess();
@@ -85,7 +85,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_OperatingSystem_getCommittedVirtualMemorySize0
+Java_sun_management_OperatingSystemImpl_getCommittedVirtualMemorySize0
   (JNIEnv *env, jobject mbean)
 {
     PROCESS_MEMORY_COUNTERS pmc;
@@ -97,7 +97,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_OperatingSystem_getTotalSwapSpaceSize
+Java_sun_management_OperatingSystemImpl_getTotalSwapSpaceSize
   (JNIEnv *env, jobject mbean)
 {
     MEMORYSTATUSEX ms;
@@ -107,7 +107,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_OperatingSystem_getFreeSwapSpaceSize
+Java_sun_management_OperatingSystemImpl_getFreeSwapSpaceSize
   (JNIEnv *env, jobject mbean)
 {
     MEMORYSTATUSEX ms;
@@ -117,7 +117,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_OperatingSystem_getProcessCpuTime
+Java_sun_management_OperatingSystemImpl_getProcessCpuTime
   (JNIEnv *env, jobject mbean)
 {
 
@@ -136,7 +136,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_OperatingSystem_getFreePhysicalMemorySize
+Java_sun_management_OperatingSystemImpl_getFreePhysicalMemorySize
   (JNIEnv *env, jobject mbean)
 {
     MEMORYSTATUSEX ms;
@@ -146,7 +146,7 @@
 }
 
 JNIEXPORT jlong JNICALL
-Java_com_sun_management_OperatingSystem_getTotalPhysicalMemorySize
+Java_sun_management_OperatingSystemImpl_getTotalPhysicalMemorySize
   (JNIEnv *env, jobject mbean)
 {
     MEMORYSTATUSEX ms;
@@ -927,14 +927,14 @@
 }
 
 JNIEXPORT jdouble JNICALL
-Java_com_sun_management_OperatingSystem_getSystemCpuLoad
+Java_sun_management_OperatingSystemImpl_getSystemCpuLoad
 (JNIEnv *env, jobject dummy)
 {
     return perfGetCPULoad(-1);
 }
 
 JNIEXPORT jdouble JNICALL
-Java_com_sun_management_OperatingSystem_getProcessCpuLoad
+Java_sun_management_OperatingSystemImpl_getProcessCpuLoad
 (JNIEnv *env, jobject dummy)
 {
     return perfGetProcessLoad();
diff --git a/jdk/test/Makefile b/jdk/test/Makefile
index c4a9b93..d8e7dd8 100644
--- a/jdk/test/Makefile
+++ b/jdk/test/Makefile
@@ -27,6 +27,8 @@
 # Makefile to run various jdk tests
 #
 
+.DEFAULT : all
+
 # Empty these to get rid of some default rules
 .SUFFIXES:
 .SUFFIXES: .java
@@ -55,150 +57,19 @@
 WC        = wc
 ZIP       = zip
 
-# Get OS name from uname
-UNAME_S := $(shell $(UNAME) -s)
+# Get OS name from uname (Cygwin inexplicably adds _NT-5.1)
+UNAME_S := $(shell $(UNAME) -s | $(CUT) -f1 -d_)
 
 # Commands to run on paths to make mixed paths for java on windows
-GETMIXEDPATH=$(ECHO)
-
-# Location of developer shared files
-SLASH_JAVA = /java
-
-# Platform specific settings
-ifeq ($(UNAME_S), SunOS)
-  OS_NAME     = solaris
-  OS_ARCH    := $(shell $(UNAME) -p)
-  OS_VERSION := $(shell $(UNAME) -r)
-endif
-ifeq ($(UNAME_S), Linux)
-  OS_NAME     = linux
-  OS_ARCH    := $(shell $(UNAME) -m)
-  # Check for unknown arch, try uname -p if uname -m says unknown
-  ifeq ($(OS_ARCH),unknown)
-    OS_ARCH    := $(shell $(UNAME) -p)
-  endif
-  OS_VERSION := $(shell $(UNAME) -r)
-endif
-ifeq ($(UNAME_S), Darwin)
-  OS_NAME     = macosx
-  OS_ARCH    := $(shell $(UNAME) -m)
-  # Check for unknown arch, try uname -p if uname -m says unknown
-  ifeq ($(OS_ARCH),unknown)
-    OS_ARCH    := $(shell $(UNAME) -p)
-  endif
-  OS_VERSION := $(shell $(UNAME) -r)
-endif
-ifeq ($(OS_NAME),)
-  OS_NAME = windows
-  # GNU Make or MKS overrides $(PROCESSOR_ARCHITECTURE) to always
-  # return "x86". Use the first word of $(PROCESSOR_IDENTIFIER) instead.
-  ifeq ($(PROCESSOR_IDENTIFIER),)
-    PROC_ARCH:=$(shell $(UNAME) -m)
-  else
-    PROC_ARCH:=$(word 1, $(PROCESSOR_IDENTIFIER))
-  endif
-  OS_ARCH:=$(PROC_ARCH)
+ifeq ($(UNAME_S), CYGWIN)
+  # Location of developer shared files
   SLASH_JAVA = J:
-  EXESUFFIX = .exe
-  # These need to be different depending on MKS or CYGWIN
-  ifeq ($(findstring cygdrive,$(shell ($(CD) C:/ && $(PWD)))), )
-    GETMIXEDPATH  = dosname -s
-    OS_VERSION   := $(shell $(UNAME) -r)
-  else
-    GETMIXEDPATH  = cygpath -m -s
-    OS_VERSION   := $(shell $(UNAME) -s | $(CUT) -d'-' -f2)
-  endif
-endif
-
-# Only want major and minor numbers from os version
-OS_VERSION := $(shell $(ECHO) "$(OS_VERSION)" | $(CUT) -d'.' -f1,2)
-
-# Name to use for x86_64 arch (historically amd64, but should change someday)
-OS_ARCH_X64_NAME:=amd64
-#OS_ARCH_X64_NAME:=x64
-
-# Alternate arch names (in case this arch is known by a second name)
-#   PROBLEM_LISTS may use either name.
-OS_ARCH2-amd64:=x64
-#OS_ARCH2-x64:=amd64
-
-# Try and use the arch names consistently
-OS_ARCH:=$(patsubst x64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst X64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst AMD64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst amd64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst x86_64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst 8664,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst EM64T,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst em64t,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst intel64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst Intel64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst INTEL64,$(OS_ARCH_X64_NAME),$(OS_ARCH))
-OS_ARCH:=$(patsubst IA64,ia64,$(OS_ARCH))
-OS_ARCH:=$(patsubst X86,i586,$(OS_ARCH))
-OS_ARCH:=$(patsubst x86,i586,$(OS_ARCH))
-OS_ARCH:=$(patsubst i386,i586,$(OS_ARCH))
-OS_ARCH:=$(patsubst i486,i586,$(OS_ARCH))
-OS_ARCH:=$(patsubst i686,i586,$(OS_ARCH))
-OS_ARCH:=$(patsubst 386,i586,$(OS_ARCH))
-OS_ARCH:=$(patsubst 486,i586,$(OS_ARCH))
-OS_ARCH:=$(patsubst 586,i586,$(OS_ARCH))
-OS_ARCH:=$(patsubst 686,i586,$(OS_ARCH))
-
-# Default  ARCH_DATA_MODEL settings
-ARCH_DATA_MODEL-i586 = 32
-ARCH_DATA_MODEL-$(OS_ARCH_X64_NAME) = 64
-ARCH_DATA_MODEL-ia64 = 64
-ARCH_DATA_MODEL-sparc = 32
-ARCH_DATA_MODEL-sparcv9 = 64
-
-# If ARCH_DATA_MODEL is not defined, try and pick a reasonable default
-ifndef ARCH_DATA_MODEL
-  ARCH_DATA_MODEL:=$(ARCH_DATA_MODEL-$(OS_ARCH))
-endif
-ifndef ARCH_DATA_MODEL
-  ARCH_DATA_MODEL=32
-endif
-
-# Platform directory name
-PLATFORM_OS = $(OS_NAME)-$(OS_ARCH)
-
-# Check ARCH_DATA_MODEL, adjust OS_ARCH accordingly on solaris
-ARCH_DATA_MODEL_ERROR= \
-  ARCH_DATA_MODEL=$(ARCH_DATA_MODEL) cannot be used with $(PLATFORM_OS)
-ifeq ($(ARCH_DATA_MODEL),64)
-  ifeq ($(PLATFORM_OS),solaris-i586)
-    OS_ARCH=$(OS_ARCH_X64_NAME)
-  endif
-  ifeq ($(PLATFORM_OS),solaris-sparc)
-    OS_ARCH=sparcv9
-  endif
-  ifeq ($(OS_ARCH),i586)
-    x:=$(warning "WARNING: $(ARCH_DATA_MODEL_ERROR)")
-  endif
-  ifeq ($(OS_ARCH),sparc)
-    x:=$(warning "WARNING: $(ARCH_DATA_MODEL_ERROR)")
-  endif
+  GETMIXEDPATH = cygpath -m
 else
-  ifeq ($(ARCH_DATA_MODEL),32)
-    ifeq ($(OS_ARCH),$(OS_ARCH_X64_NAME))
-      x:=$(warning "WARNING: $(ARCH_DATA_MODEL_ERROR)")
-    endif
-    ifeq ($(OS_ARCH),ia64)
-      x:=$(warning "WARNING: $(ARCH_DATA_MODEL_ERROR)")
-    endif
-    ifeq ($(OS_ARCH),sparcv9)
-      x:=$(warning "WARNING: $(ARCH_DATA_MODEL_ERROR)")
-    endif
-  else
-    x:=$(warning "WARNING: $(ARCH_DATA_MODEL_ERROR)")
-  endif
-endif
+  # Location of developer shared files
+  SLASH_JAVA = /java
 
-# Alternate OS_ARCH name (defaults to OS_ARCH)
-OS_ARCH2:=$(OS_ARCH2-$(OS_ARCH))
-ifeq ($(OS_ARCH2),)
-  OS_ARCH2:=$(OS_ARCH)
+  GETMIXEDPATH=$(ECHO)
 endif
 
 # Root of this test area (important to use full paths in some places)
@@ -206,17 +77,18 @@
 
 # Root of all test results
 ifdef ALT_OUTPUTDIR
-  ABS_OUTPUTDIR = $(ALT_OUTPUTDIR)
+  ABS_OUTPUTDIR = $(shell $(CD) $(ALT_OUTPUTDIR) && $(PWD))
 else
-  ABS_OUTPUTDIR = $(TEST_ROOT)/../build/$(PLATFORM_OS)
+  ABS_OUTPUTDIR = $(shell $(CD) $(TEST_ROOT)/.. && $(PWD))
 endif
+
 ABS_PLATFORM_BUILD_ROOT = $(ABS_OUTPUTDIR)
 ABS_TEST_OUTPUT_DIR := $(ABS_PLATFORM_BUILD_ROOT)/testoutput/$(UNIQUE_DIR)
 
 # Expect JPRT to set PRODUCT_HOME (the product or jdk in this case to test)
 ifndef PRODUCT_HOME
   # Try to use j2sdk-image if it exists
-  ABS_JDK_IMAGE = $(ABS_PLATFORM_BUILD_ROOT)/j2sdk-image
+  ABS_JDK_IMAGE = $(ABS_PLATFORM_BUILD_ROOT)/images/j2sdk-image
   PRODUCT_HOME :=                       		\
     $(shell                             		\
       if [ -d $(ABS_JDK_IMAGE) ] ; then 		\
@@ -240,30 +112,11 @@
   JAVA_VM_ARGS = $(JPRT_PRODUCT_VM_ARGS)
 endif
 
-# Check JAVA_ARGS arguments based on ARCH_DATA_MODEL etc.
-ifeq ($(OS_NAME),solaris)
-  D64_ERROR_MESSAGE=Mismatch between ARCH_DATA_MODEL=$(ARCH_DATA_MODEL) and use of -d64 in JAVA_ARGS=$(JAVA_ARGS)
-  ifeq ($(ARCH_DATA_MODEL),32)
-    ifneq ($(findstring -d64,$(JAVA_ARGS)),)
-      x:=$(warning "WARNING: $(D64_ERROR_MESSAGE)")
-    endif
-  endif
-  ifeq ($(ARCH_DATA_MODEL),64)
-    ifeq ($(findstring -d64,$(JAVA_ARGS)),)
-      x:=$(warning "WARNING: $(D64_ERROR_MESSAGE)")
-    endif
-  endif
-endif
-
-# Macro to run make and set the shared library permissions
-define SharedLibraryPermissions
-$(MAKE) SHARED_LIBRARY_DIR=$1 UNIQUE_DIR=$@ shared_library_permissions
-endef
-
 # Expect JPRT to set JPRT_ARCHIVE_BUNDLE (path to zip bundle for results)
-ARCHIVE_BUNDLE = $(ABS_TEST_OUTPUT_DIR)/ARCHIVE_BUNDLE.zip
 ifdef JPRT_ARCHIVE_BUNDLE
   ARCHIVE_BUNDLE = $(JPRT_ARCHIVE_BUNDLE)
+else
+  ARCHIVE_BUNDLE = $(ABS_TEST_OUTPUT_DIR)/ARCHIVE_BUNDLE.zip
 endif
 
 # How to create the test bundle (pass or fail, we want to create this)
@@ -272,13 +125,15 @@
 	           && $(CD) $(ABS_TEST_OUTPUT_DIR)             \
 	           && $(CHMOD) -R a+r . \
 	           && $(ZIP) -q -r $(ARCHIVE_BUNDLE) . )
-SUMMARY_TXT = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/JTreport/text/summary.txt
+
+# important results files
+SUMMARY_TXT = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/JTreport/text/summary.txt")
 STATS_TXT_NAME = Stats.txt
-STATS_TXT = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/$(STATS_TXT_NAME)
-RUNLIST   = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/runlist.txt
-PASSLIST  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/passlist.txt
-FAILLIST  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/faillist.txt
-EXITCODE  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/exitcode.txt
+STATS_TXT = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/$(STATS_TXT_NAME)")
+RUNLIST   = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/runlist.txt")
+PASSLIST  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/passlist.txt")
+FAILLIST  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/faillist.txt")
+EXITCODE  = $(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/exitcode.txt")
 
 TESTEXIT = \
   if [ ! -s $(EXITCODE) ] ; then \
@@ -316,8 +171,8 @@
     runc="`$(CAT) $(RUNLIST)      | $(WC) -l | $(AWK) '{print $$1;}'`"; \
     passc="`$(CAT) $(PASSLIST)    | $(WC) -l | $(AWK) '{print $$1;}'`"; \
     failc="`$(CAT) $(FAILLIST)    | $(WC) -l | $(AWK) '{print $$1;}'`"; \
-    exclc="`$(CAT) $(EXCLUDELIST) | $(WC) -l | $(AWK) '{print $$1;}'`"; \
-    $(ECHO) "TEST STATS: name=$(UNIQUE_DIR)  run=$${runc}  pass=$${passc}  fail=$${failc}  excluded=$${exclc}" \
+    exclc="FIXME CODETOOLS-7900176"; \
+    $(ECHO) "TEST STATS: name=$(UNIQUE_DIR)  run=$${runc}  pass=$${passc}  fail=$${failc}" \
       >> $(STATS_TXT); \
   else \
     $(ECHO) "Missing file: $${_summary}" >> $(STATS_TXT); \
@@ -336,9 +191,24 @@
 	@$(ECHO) "Testing completed successfully"
 
 # Prep for output
+# Change execute permissions on shared library files.
+# Files in repositories should never have execute permissions, but
+# there are some tests that have pre-built shared libraries, and these
+# windows dll files must have execute permission. Adding execute
+# permission may happen automatically on windows when using certain
+# versions of mercurial but it cannot be guaranteed. And blindly
+# adding execute permission might be seen as a mercurial 'change', so
+# we avoid adding execute permission to repository files. But testing
+# from a plain source tree needs the chmod a+rx. Applying the chmod to
+# all shared libraries not just dll files. And with CYGWIN and sshd
+# service, you may need CYGWIN=ntsec for this to work.
 prep:
 	@$(MKDIR) -p $(ABS_TEST_OUTPUT_DIR)
 	@$(MKDIR) -p `$(DIRNAME) $(ARCHIVE_BUNDLE)`
+	@if [ ! -d $(TEST_ROOT)/../.hg ] ; then                          \
+	  $(FIND) $(TEST_ROOT) \( -name \*.dll -o -name \*.DLL -o -name \*.so \)  \
+	        -exec $(CHMOD) a+rx {} \; ;                             \
+        fi
 
 # Cleanup
 clean:
@@ -357,50 +227,21 @@
   endif
 endif
 
-# Expect JPRT to set TESTDIRS to the jtreg test dirs
-ifndef TESTDIRS
-  TESTDIRS = demo
-endif
-
-# Some tests annoy me and fail frequently
-PROBLEM_LIST=ProblemList.txt
-PROBLEM_LISTS=$(PROBLEM_LIST) $(wildcard closed/$(PROBLEM_LIST))
-EXCLUDELIST=$(ABS_TEST_OUTPUT_DIR)/excludelist.txt
+# Problematic tests to be excluded
+PROBLEM_LISTS=$(call MixedDirs,$(wildcard ProblemList.txt closed/ProblemList.txt))
 
 # Create exclude list for this platform and arch
 ifdef NO_EXCLUDES
-$(EXCLUDELIST): $(PROBLEM_LISTS) $(TEST_DEPENDENCIES)
-	@$(ECHO) "NOTHING_EXCLUDED" > $@
+  JTREG_EXCLUSIONS =
 else
-$(EXCLUDELIST): $(PROBLEM_LISTS) $(TEST_DEPENDENCIES)
-	@$(RM) $@ $@.temp1 $@.temp2
-	@(($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- '$(OS_NAME)-all'          ) ;\
-	  ($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- '$(PLATFORM_OS)'          ) ;\
-	  ($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- '$(OS_NAME)-$(OS_ARCH2)'  ) ;\
-	  ($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- '$(OS_NAME)-$(OS_VERSION)') ;\
-	  ($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- 'generic-$(OS_ARCH)'      ) ;\
-	  ($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- 'generic-$(OS_ARCH2)'     ) ;\
-          ($(CAT) $(PROBLEM_LISTS) | $(EGREP) -- 'generic-all'             ) ;\
-          ($(ECHO) "#") ;\
-        ) | $(SED) -e 's@^[\ ]*@@' \
-          | $(EGREP) -v '^#' > $@.temp1
-	@for tdir in $(TESTDIRS) SOLARIS_10_SH_BUG_NO_EMPTY_FORS ; do \
-          ( ( $(CAT) $@.temp1 | $(EGREP) "^$${tdir}" ) ; $(ECHO) "#" ) >> $@.temp2 ; \
-        done
-	@$(ECHO) "# at least one line" >> $@.temp2
-	@( $(EGREP) -v '^#' $@.temp2 ; true ) > $@
-	@$(ECHO) "Excluding list contains `$(EXPAND) $@ | $(WC) -l` items"
+  JTREG_EXCLUSIONS = $(PROBLEM_LISTS:%=-exclude:%)
 endif
 
-# Select list of directories that exist
-define TestDirs
-$(foreach i,$1,$(wildcard ${i})) $(foreach i,$1,$(wildcard closed/${i}))
+# convert list of directories to dos paths
+define MixedDirs
+$(foreach i,$1,$(shell $(GETMIXEDPATH) "${i}"))
 endef
-# Running batches of tests with or without agentvm
-define RunBatch
-$(ECHO) "Running tests: $?"
-$(MAKE) TEST_DEPENDENCIES="$?" TESTDIRS="$?" UNIQUE_DIR=$@ jtreg_tests
-endef
+
 define SummaryInfo
 $(ECHO) "########################################################"
 $(CAT) $(?:%=$(ABS_TEST_OUTPUT_DIR)/%/$(STATS_TXT_NAME))
@@ -409,178 +250,11 @@
 
 # ------------------------------------------------------------------
 
-# Batches of tests (somewhat arbitrary assigments to jdk_* targets)
-# NOTE: These *do not* run the same tests as make/jprt.properties
-JDK_DEFAULT_TARGETS =
-JDK_ALL_TARGETS =
-
-JDK_ALL_TARGETS += jdk_awt
-jdk_awt: $(call TestDirs, com/sun/awt java/awt sun/awt \
-         javax/imageio javax/print sun/pisces)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_beans1
-JDK_DEFAULT_TARGETS += jdk_beans1
-jdk_beans1: $(call TestDirs, \
-            java/beans/beancontext java/beans/PropertyChangeSupport \
-            java/beans/Introspector java/beans/Performance \
-            java/beans/VetoableChangeSupport java/beans/Statement)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_beans2
-jdk_beans2: $(call TestDirs, \
-            java/beans/Beans java/beans/EventHandler java/beans/XMLDecoder \
-            java/beans/PropertyEditor)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_beans3
-jdk_beans3: $(call TestDirs, java/beans/XMLEncoder)
-	$(call RunBatch)
-
-# All beans tests
-jdk_beans: jdk_beans1 jdk_beans2 jdk_beans3
-	@$(SummaryInfo)
-
-JDK_ALL_TARGETS += jdk_io
-JDK_DEFAULT_TARGETS += jdk_io
-jdk_io: $(call TestDirs, java/io)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_lang
-JDK_DEFAULT_TARGETS += jdk_lang
-jdk_lang: $(call TestDirs, java/lang sun/invoke sun/misc sun/reflect vm)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_jmx
-jdk_jmx: $(call TestDirs, javax/management com/sun/jmx)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_management
-jdk_management: $(call TestDirs, com/sun/management sun/management)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_math
-JDK_DEFAULT_TARGETS += jdk_math
-jdk_math: $(call TestDirs, java/math)
-	$(call RunBatch)
-
-JDK_DEFAULT_TARGETS += jdk_time
-jdk_time: $(call TestDirs, java/time)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_other
-JDK_DEFAULT_TARGETS += jdk_other
-jdk_other: $(call TestDirs, \
-          demo/jvmti demo/zipfs sample \
-          javax/naming com/sun/jndi \
-          javax/script \
-	  java/sql javax/sql \
-          javax/smartcardio \
-          javax/xml/jaxp \
-	  javax/xml/soap \
-	  javax/xml/ws com/sun/internal/ws com/sun/org/glassfish \
-	  jdk/asm \
-	  jdk/lambda \
-	  com/sun/org/apache/xerces \
-          com/sun/corba \
-	  com/sun/tracing \
-	  sun/usagetracker \
-	  misc)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_net
-JDK_DEFAULT_TARGETS += jdk_net
-jdk_net: $(call TestDirs, com/sun/net java/net sun/net com/oracle/net)
-	$(call RunBatch)
-
-jdk_nio: $(call TestDirs, java/nio sun/nio com/oracle/nio)
-	$(call SharedLibraryPermissions,java/nio/channels)
-	$(call RunBatch)
-
-jdk_sctp: $(call TestDirs, com/sun/nio/sctp)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_rmi
-jdk_rmi: $(call TestDirs, java/rmi sun/rmi javax/rmi/ssl)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_security1
-JDK_DEFAULT_TARGETS += jdk_security1
-jdk_security1: $(call TestDirs, java/security)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_security2
-jdk_security2: $(call TestDirs, javax/crypto javax/xml/crypto com/sun/crypto)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_security3
-jdk_security3: $(call TestDirs, com/sun/security lib/security javax/security \
-        sun/security com/sun/org/apache/xml/internal/security \
-        com/oracle/security)
-	$(call SharedLibraryPermissions,sun/security)
-	$(call RunBatch)
-
-# All security tests
-jdk_security: jdk_security1 jdk_security2 jdk_security3
-	@$(SummaryInfo)
-
-JDK_ALL_TARGETS += jdk_sound
-jdk_sound: $(call TestDirs, javax/sound)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_swing
-jdk_swing: $(call TestDirs, javax/swing sun/java2d \
-           demo/jfc com/sun/java/swing)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_text
-JDK_DEFAULT_TARGETS += jdk_text
-jdk_text: $(call TestDirs, java/text sun/text)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_jdi
-jdk_jdi: $(call TestDirs, com/sun/jdi)
-	$(call RunBatch)
-
-JDK_ALL_TARGETS += jdk_tools
-jdk_tools: $(call TestDirs, com/sun/tools sun/jvmstat sun/tools tools)
-	$(call SharedLibraryPermissions,tools/launcher)
-	$(call RunBatch)
-
-ifdef OPENJDK
-jdk_jfr:
-else
-JDK_ALL_TARGETS += jdk_jfr
-jdk_jfr: $(call TestDirs, com/oracle/jfr)
-	$(call RunBatch)
-endif
-
-JDK_ALL_TARGETS += jdk_util
-JDK_DEFAULT_TARGETS += jdk_util
-jdk_util: $(call TestDirs, java/util sun/util)
-	$(call RunBatch)
-
-# ------------------------------------------------------------------
-
-# Run default tests
-# note that this *does not* have the same meaning as jprt.properties :: jprt.make.rule.default.test.targets
-jdk_default: $(JDK_DEFAULT_TARGETS)
-	@$(SummaryInfo)
-
-# Run core tests
-# please keep this in sync with jdk/make/jprt.properties :: jprt.make.rule.core.test.targets
-jdk_core: jdk_lang jdk_math jdk_util jdk_io jdk_net jdk_nio \
-        jdk_security1 jdk_security2 jdk_security3 jdk_rmi \
-        jdk_management jdk_jmx jdk_text jdk_tools jdk_jfr jdk_other
-	@$(SummaryInfo)
-
-# Run all tests
-# note that this *does not* have the same meaning as jprt.properties :: jprt.make.rule.all.test.targets
-jdk_all: $(JDK_ALL_TARGETS)
-	@$(SummaryInfo)
-
-# These are all phony targets
-PHONY_LIST += $(JDK_ALL_TARGETS) jdk_default jdk_core jdk_all
+jdk_%:
+	$(ECHO) "Running tests: $@"
+	for each in $@; do \
+	        $(MAKE) -j 1 TEST_SELECTION=":$$each" UNIQUE_DIR=$$each jtreg_tests; \
+	done
 
 # ------------------------------------------------------------------
 
@@ -625,44 +299,23 @@
 $(JTREG): $(JT_HOME)
 
 # Run jtreg
-jtreg_tests: prep $(PRODUCT_HOME) $(JTREG) $(EXCLUDELIST)
-	@$(EXPAND) $(EXCLUDELIST) \
-            | $(CUT) -d' ' -f1 \
-            | $(SED) -e 's@^@Excluding: @'
+jtreg_tests: prep $(PRODUCT_HOME) $(JTREG)
 	(                                                                    \
 	  ( JT_HOME=$(shell $(GETMIXEDPATH) "$(JT_HOME)");                   \
             export JT_HOME;                                                  \
             $(shell $(GETMIXEDPATH) "$(JTREG)")                              \
               $(JTREG_BASIC_OPTIONS)                                         \
-              -r:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/JTreport  \
-              -w:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)")/JTwork    \
+              -r:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/JTreport")  \
+              -w:$(shell $(GETMIXEDPATH) "$(ABS_TEST_OUTPUT_DIR)/JTwork")    \
               -jdk:$(shell $(GETMIXEDPATH) "$(PRODUCT_HOME)")                \
-              -exclude:$(shell $(GETMIXEDPATH) "$(EXCLUDELIST)")             \
+              $(JTREG_EXCLUSIONS)                                            \
               $(JTREG_TEST_OPTIONS)                                          \
-              $(TESTDIRS)                                                    \
-	  ) ; $(BUNDLE_UP_AND_EXIT)                                          \
+              $(TEST_SELECTION)                                                    \
+	  ) ;                                                                \
+	  $(BUNDLE_UP_AND_EXIT)                                              \
 	) 2>&1 | $(TEE) $(ABS_TEST_OUTPUT_DIR)/output.txt ; $(TESTEXIT)
 
-# Rule that may change execute permissions on shared library files.
-#  Files in repositories should never have execute permissions, but there
-#  are some tests that have pre-built shared libraries, and these windows
-#  dll files must have execute permission. Adding execute permission
-#  may happen automatically on windows when using certain versions of mercurial
-#  but it cannot be guaranteed. And blindly adding execute permission might
-#  be seen as a mercurial 'change', so we avoid adding execute permission to
-#  repository files. But testing from a plain source tree needs the chmod a+rx.
-#  Used on select directories and applying the chmod to all shared libraries
-#  not just dll files. On windows, this may not work with MKS if the files
-#  were installed with CYGWIN unzip or untar (MKS chmod may not do anything).
-#  And with CYGWIN and sshd service, you may need CYGWIN=ntsec for this to work.
-#
-shared_library_permissions: $(SHARED_LIBRARY_DIR)
-	if [ ! -d $(TEST_ROOT)/../.hg ] ; then                          \
-	  $(FIND) $< \( -name \*.dll -o -name \*.DLL -o -name \*.so \)  \
-	        -exec $(CHMOD) a+rx {} \; ;                             \
-        fi
-
-PHONY_LIST += jtreg_tests shared_library_permissions
+PHONY_LIST += jtreg_tests
 
 ################################################################
 
diff --git a/jdk/test/ProblemList.txt b/jdk/test/ProblemList.txt
index ea99549..6cb3ce7 100644
--- a/jdk/test/ProblemList.txt
+++ b/jdk/test/ProblemList.txt
@@ -5,9 +5,7 @@
 #
 # 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.
+# 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
@@ -128,15 +126,6 @@
 # 7067973
 java/lang/management/MemoryMXBean/CollectionUsageThreshold.java generic-all
 
-# 7196801
-java/lang/management/MemoryMXBean/LowMemoryTest2.sh		generic-all
-
-# 8021230
-java/lang/ThreadLocal/ThreadLocalSupplierTest.java              generic-all
-
-# 8026502
-java/lang/invoke/MethodHandleConstants.java                     generic-all
-
 ############################################################################
 
 # jdk_management
@@ -144,13 +133,13 @@
 # 8010897
 sun/management/HotspotRuntimeMBean/GetSafepointSyncTime.java	macosx-all
 
+# 8028150
+sun/management/jmxremote/bootstrap/RmiSslBootstrapTest.sh	windows-all
+
 ############################################################################
 
 # jdk_jmx
 
-# 6959636
-javax/management/loading/LibraryLoader/LibraryLoaderTest.java	windows-all
-
 ############################################################################
 
 # jdk_math
@@ -165,13 +154,16 @@
 # 7027502
 demo/jvmti/hprof/MonitorTest.java                               generic-all
 
-# 8024423 - JVMTI: GetLoadedClasses doesn't enumerate anonymous classes 
+# 8024423 - JVMTI: GetLoadedClasses doesn't enumerate anonymous classes
 demo/jvmti/hprof/HeapAllTest.java                               generic-all
 demo/jvmti/hprof/HeapBinaryFormatTest.java                      generic-all
 demo/jvmti/hprof/HeapDumpTest.java                              generic-all
 demo/jvmti/hprof/OptionsTest.java                               generic-all
 demo/jvmti/hprof/StackMapTableTest.java                         generic-all
 
+# 8027973
+javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java		windows-all
+
 ############################################################################
 
 # jdk_net
@@ -203,9 +195,6 @@
 # 7143960
 java/net/DatagramSocket/SendDatagramToBadAddress.java            macosx-all
 
-# 8014719
-sun/net/www/http/HttpClient/ProxyTest.java                       generic-all
-
 ############################################################################
 
 # jdk_nio
@@ -213,9 +202,6 @@
 # 6963118
 java/nio/channels/Selector/Wakeup.java                          windows-all
 
-# 7052549
-java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java 	windows-all
-
 # 7133499, 7133497
 java/nio/channels/AsyncCloseAndInterrupt.java                   macosx-all
 java/nio/channels/AsynchronousFileChannel/Lock.java             macosx-all
@@ -227,6 +213,10 @@
 # 7132677
 java/nio/channels/Selector/OutOfBand.java                       macosx-all
 
+# 7158947, Solaris 11
+java/nio/file/WatchService/Basic.java				solaris-all
+java/nio/file/WatchService/LotsOfEvents.java			solaris-all
+
 ############################################################################
 
 # jdk_rmi
@@ -262,10 +252,6 @@
 sun/security/pkcs11/ec/ReadPKCS12.java                          solaris-all
 sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java            solaris-all
 
-# 8009438
-sun/security/pkcs11/Secmod/AddPrivateKey.java			linux-all
-sun/security/pkcs11/Secmod/TrustAnchors.java 			linux-all
-
 # 7041639, Solaris DSA keypair generation bug
 java/security/KeyPairGenerator/SolarisShortDSA.java             solaris-all
 sun/security/tools/keytool/standard.sh                          solaris-all
@@ -335,7 +321,4 @@
 # Filed 6772009
 java/util/concurrent/locks/ReentrantLock/CancelledLockLoops.java generic-all
 
-# 8026772: test/sun/util/resources/TimeZone/Bug6317929.java failing
-sun/util/resources/TimeZone/Bug6317929.java                     generic-all
-
 ############################################################################
diff --git a/jdk/test/com/sun/awt/SecurityWarning/CustomSecurityManager.java b/jdk/test/com/sun/awt/SecurityWarning/CustomSecurityManager.java
new file mode 100644
index 0000000..3885f16
--- /dev/null
+++ b/jdk/test/com/sun/awt/SecurityWarning/CustomSecurityManager.java
@@ -0,0 +1,11 @@
+import sun.security.util.SecurityConstants;
+import java.security.Permission;
+
+public class CustomSecurityManager extends SecurityManager {
+    @Override
+    public void checkPermission(Permission perm) {
+        if (perm.implies(SecurityConstants.AWT.TOPLEVEL_WINDOW_PERMISSION)) {
+            throw new SecurityException();
+        }
+    }
+}
diff --git a/jdk/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java b/jdk/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java
index f66366c9..bf4cdc5 100644
--- a/jdk/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java
+++ b/jdk/test/com/sun/awt/SecurityWarning/GetSizeShouldNotReturnZero.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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,8 +27,9 @@
   @summary The size returned by SecurityWarning.getSize() should not be zero
   @author anthony.petrov@sun.com: area=awt.toplevel
   @library ../../../../java/awt/regtesthelpers
-  @build Util
-  @run main GetSizeShouldNotReturnZero
+  @build Util CustomSecurityManager CopyClassFile
+  @run main CopyClassFile CustomSecurityManager bootcp/
+  @run main/othervm/secure=CustomSecurityManager -Xbootclasspath/a:bootcp GetSizeShouldNotReturnZero
 */
 
 /**
@@ -37,11 +38,10 @@
  * summary: The size returned by SecurityWarning.getSize() should not be zero
  */
 
-import java.awt.*;
-import java.awt.event.*;
-import java.security.Permission;
-import test.java.awt.regtesthelpers.Util;
 import com.sun.awt.SecurityWarning;
+import test.java.awt.regtesthelpers.Util;
+
+import java.awt.*;
 
 public class GetSizeShouldNotReturnZero
 {
@@ -56,21 +56,6 @@
         Sysout.createDialog( );
         Sysout.printInstructions( instructions );
 
-
-        // Install the security manager so that all subsequently created
-        // windows display the security warning.
-        System.setSecurityManager(new SecurityManager() {
-
-            @Override
-            public void checkPermission(Permission perm) {
-            }
-
-            @Override
-            public boolean checkTopLevelWindow(Object window) {
-                return false;
-            }
-        });
-
         Frame f = new Frame();
         f.setSize(100, 100);
         f.setVisible(true);
@@ -87,7 +72,6 @@
     }//End  init()
 
 
-
     /*****************************************************
      * Standard Test Machinery Section
      * DO NOT modify anything in this section -- it's a
diff --git a/jdk/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java b/jdk/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java
index 04fa96a..83b2c69 100644
--- a/jdk/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java
+++ b/jdk/test/com/sun/crypto/provider/KeyFactory/TestProviderLeak.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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,7 @@
 
 /*
  * @test
- * @bug 6578538
+ * @bug 6578538 8027624
  * @summary com.sun.crypto.provider.SunJCE instance leak using KRB5 and
  *     LoginContext
  * @author Brad Wetmore
@@ -89,10 +89,6 @@
     }
 
     public static void main(String [] args) throws Exception {
-        // Eat up memory
-        Deque<byte []> dummyData = eatupMemory();
-        assert (dummyData != null);
-
         // Prepare the test
         final SecretKeyFactory skf =
             SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1", "SunJCE");
@@ -107,6 +103,10 @@
             }
         };
 
+        // Eat up memory
+        Deque<byte []> dummyData = eatupMemory();
+        assert (dummyData != null);
+
         // Start testing iteration
         try {
             for (int i = 0; i <= 1000; i++) {
diff --git a/jdk/test/com/sun/jdi/BadHandshakeTest.java b/jdk/test/com/sun/jdi/BadHandshakeTest.java
index 73f13fe..8e35442 100644
--- a/jdk/test/com/sun/jdi/BadHandshakeTest.java
+++ b/jdk/test/com/sun/jdi/BadHandshakeTest.java
@@ -24,16 +24,12 @@
 /* @test
  * @bug 6306165 6432567
  * @summary Check that a bad handshake doesn't cause a debuggee to abort
+ * @library /lib/testlibrary
  *
  * @build VMConnection BadHandshakeTest Exit0
  * @run main BadHandshakeTest
  *
  */
-import java.io.InputStream;
-import java.io.IOException;
-import java.io.File;
-import java.io.BufferedInputStream;
-import java.net.ServerSocket;
 import java.net.Socket;
 import java.net.InetAddress;
 import com.sun.jdi.Bootstrap;
@@ -44,50 +40,13 @@
 import java.util.Map;
 import java.util.List;
 import java.util.Iterator;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import jdk.testlibrary.Utils;
+import jdk.testlibrary.ProcessTools;
 
 public class BadHandshakeTest {
-
-    static volatile boolean ready = false;
-
-    /*
-     * Helper class to redirect process output/error
-     */
-    static class IOHandler implements Runnable {
-        InputStream in;
-
-        IOHandler(InputStream in) {
-            this.in = in;
-        }
-
-        static void handle(InputStream in) {
-            IOHandler handler = new IOHandler(in);
-            Thread thr = new Thread(handler);
-            thr.setDaemon(true);
-            thr.start();
-        }
-
-        public void run() {
-            try {
-                byte b[] = new byte[100];
-                for (;;) {
-                    int n = in.read(b, 0, 100);
-                    // The first thing that will get read is
-                    //    Listening for transport dt_socket at address: xxxxx
-                    // which shows the debuggee is ready to accept connections.
-                    ready = true;
-                    if (n < 0) {
-                        break;
-                    }
-                    String s = new String(b, 0, n, "UTF-8");
-                    System.out.print(s);
-                }
-            } catch (IOException ioe) {
-                ioe.printStackTrace();
-            }
-        }
-
-    }
-
     /*
      * Find a connector by name
      */
@@ -106,22 +65,31 @@
     /*
      * Launch a server debuggee with the given address
      */
-    private static Process launch(String address, String class_name) throws IOException {
-        String exe =   System.getProperty("java.home")
-                     + File.separator + "bin" + File.separator + "java";
-        String cmd = exe + " " + VMConnection.getDebuggeeVMOptions() +
-            " -agentlib:jdwp=transport=dt_socket" +
-            ",server=y" + ",suspend=y" + ",address=" + address +
-            " " + class_name;
+    private static Process launch(String address, String class_name) throws Exception {
+        String[] args = VMConnection.insertDebuggeeVMOptions(new String[] {
+            "-agentlib:jdwp=transport=dt_socket" +
+            ",server=y" + ",suspend=y" + ",address=" + address,
+            class_name
+        });
 
-        System.out.println("Starting: " + cmd);
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(args);
 
-        Process p = Runtime.getRuntime().exec(cmd);
+        final AtomicBoolean success = new AtomicBoolean();
+        Process p = ProcessTools.startProcess(
+            class_name,
+            pb,
+            (line) -> {
+                // The first thing that will get read is
+                //    Listening for transport dt_socket at address: xxxxx
+                // which shows the debuggee is ready to accept connections.
+                success.set(line.contains("Listening for transport dt_socket at address:"));
+                return true;
+            },
+            1500,
+            TimeUnit.MILLISECONDS
+        );
 
-        IOHandler.handle(p.getInputStream());
-        IOHandler.handle(p.getErrorStream());
-
-        return p;
+        return success.get() ? p : null;
     }
 
     /*
@@ -131,23 +99,14 @@
      * - verify we saw no error
      */
     public static void main(String args[]) throws Exception {
-        // find a free port
-        ServerSocket ss = new ServerSocket(0);
-        int port = ss.getLocalPort();
-        ss.close();
+        int port = Utils.getFreePort();
 
         String address = String.valueOf(port);
 
         // launch the server debuggee
         Process process = launch(address, "Exit0");
-
-        // wait for the debugge to be ready
-        while (!ready) {
-            try {
-                Thread.sleep(1000);
-            } catch(Exception ee) {
-                throw ee;
-            }
+        if (process == null) {
+            throw new RuntimeException("Unable to start debugee");
         }
 
         // Connect to the debuggee and handshake with garbage
diff --git a/jdk/test/com/sun/jdi/BreakpointWithFullGC.sh b/jdk/test/com/sun/jdi/BreakpointWithFullGC.sh
index 590fda3..ef0da88 100644
--- a/jdk/test/com/sun/jdi/BreakpointWithFullGC.sh
+++ b/jdk/test/com/sun/jdi/BreakpointWithFullGC.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 #
-# Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2009, 2013 Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -62,6 +62,7 @@
             System.out.println("top of loop");     // @1 breakpoint
             init(1000000);
             objList.clear();
+            System.gc();
             System.out.println("bottom of loop");  // @1 breakpoint
         }
         System.out.println("end of test");         // @1 breakpoint
diff --git a/jdk/test/com/sun/jdi/JdbMethodExitTest.sh b/jdk/test/com/sun/jdi/JdbMethodExitTest.sh
index 52c0fe7..ab00816 100644
--- a/jdk/test/com/sun/jdi/JdbMethodExitTest.sh
+++ b/jdk/test/com/sun/jdi/JdbMethodExitTest.sh
@@ -156,7 +156,7 @@
         // a resume.
 
         $classname xx = new $classname();
-        
+        System.out.println("threadid="+Thread.currentThread().getId());
         bkpt();
 
         // test all possible return types
@@ -197,6 +197,8 @@
 
     # test all possible return types
     runToBkpt @1
+    debuggeeMatchRegexp "s/threadid=\(.*\)/\1/g"
+    threadid=$?
     cmd untrace
 
     cmd trace methods
@@ -226,7 +228,7 @@
 
     # trace exit of methods with all the return values
     # (but just check a couple of them)
-    cmd trace go exits
+    cmd trace go method exits $threadid
     cmd cont
     jdbFailIfNotPresent "instance of JdbMethodExitTest"
     jdbFailIfNotPresent "return value = 8"
@@ -235,7 +237,7 @@
     cmd step up
 
 
-    cmd trace methods
+    cmd trace methods $threadid
     cmd cont
     jdbFailIfNotPresent "Method entered:"
     cmd cont
@@ -243,7 +245,9 @@
     cmd step up
 
 
-    cmd trace go methods
+    cmd trace go methods $threadid
+    cmd cont
+    cmd cont
     cmd cont
     jdbFailIfNotPresent "Method entered: \"thread=main\", JdbMethodExitTest.traceMethods1"
     jdbFailIfNotPresent 'Method exited: .* JdbMethodExitTest.traceMethods1'
@@ -251,14 +255,14 @@
     cmd step up
     
 
-    cmd trace method exits
+    cmd trace method exits $threadid
     cmd cont
     jdbFailIfNotPresent "Method exited: return value = \"traceExits\""
     cmd untrace
     cmd step up
 
 
-    cmd trace go method exits
+    cmd trace go method exits $threadid
     cmd cont
     jdbFailIfNotPresent 'Method exited: .* JdbMethodExitTest.traceExits1'
     cmd untrace
@@ -266,7 +270,7 @@
 
 
     cmd step            # step into traceExit()
-    cmd trace method exit
+    cmd trace method exit $threadid
     cmd cont
     jdbFailIfNotPresent "Method exited: return value = \"traceExit\""
     cmd untrace
@@ -275,7 +279,7 @@
 
     cmd step
     cmd step           # skip over setting return value in caller :-(
-    cmd trace go method exit
+    cmd trace go method exit $threadid
     cmd cont
     jdbFailIfNotPresent 'Method exited: .*JdbMethodExitTest.traceExit1'
     cmd quit
diff --git a/jdk/test/com/sun/jdi/ShellScaffold.sh b/jdk/test/com/sun/jdi/ShellScaffold.sh
index d8635e3..6ed55c1 100644
--- a/jdk/test/com/sun/jdi/ShellScaffold.sh
+++ b/jdk/test/com/sun/jdi/ShellScaffold.sh
@@ -1004,6 +1004,50 @@
     return $stat
 }
 
+# $1 is the filename, $2 is the regexp to match and return,
+# $3 is the number of lines to search (from the end)
+matchRegexp()
+{
+    if [ -z "$3" ] ; then
+        theCmd=cat
+    else
+        theCmd="tail -$3"
+    fi
+
+    case "$2" in 
+    *\>*)
+        # Target string contains a '>' so we better not ignore it
+        res=`$theCmd $1 | sed -e "$2"`
+        ;;
+    *)
+        # Target string does not contain a '>'.
+        # NOTE:  if $1 does not end with a new line, piping it to sed
+        # doesn't include the chars on the last line.  Detect this
+        # case, and add a new line.
+        theFile="$1"
+        if [ `tail -1 "$theFile" | wc -l | sed -e 's@ @@g'` = 0 ] ; then
+            # The target file doesn't end with a new line so we have
+            # add one to a copy of the target file so the sed command
+            # below can filter that last line.
+            cp "$theFile" "$theFile.tmp"
+            theFile="$theFile.tmp"
+            echo >> "$theFile"
+        fi
+
+        # See bug 6220903. Sometimes the jdb prompt chars ('> ') can
+        # get interleaved in the target file which can keep us from
+        # matching the target string.
+        res=`$theCmd "$theFile" | sed -e 's@> @@g' -e 's@>@@g' \
+            | sed -e "$2"`
+        if [ "$theFile" != "$1" ]; then
+            # remove the copy of the target file
+            rm -f "$theFile"
+        fi
+        unset theFile
+    esac
+    return $res
+}
+
 # $1 is the filename, $2 is the string to look for,
 # $3 is the number of lines to search (from the end)
 failIfPresent()
@@ -1058,6 +1102,14 @@
     failIfPresent $debuggeeOutFile "$1" $2
 }
 
+# match and return the output from the regexp $1 in the debuggee output
+# $2 is the number of lines to search (from the end)
+debuggeeMatchRegexp()
+{
+    matchRegexp $debuggeeOutFile "$1" $2
+}
+
+
 # This should really be named 'done' instead of pass.
 pass()
 {
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/Client.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/Client.java
index b5eb847..384a08d 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/Client.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/Client.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.util.Collections;
 import java.util.HashSet;
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/ConfigKey.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/ConfigKey.java
index 0739065..37adae0 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/ConfigKey.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/ConfigKey.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.
+ */
+
 public enum ConfigKey {
     CONSTANT3, CONSTANT2;
 }
\ No newline at end of file
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java
index aaa31a4..f9f2832 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Client/TestNotification.java
@@ -1,11 +1,28 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.management.Notification;
 
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
 /**
  *
  * @author Jaroslav Bachorik <jaroslav.bachorik at oracle.com>
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/ConfigKey.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/ConfigKey.java
index c79fafb..3b1d1d2 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/ConfigKey.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/ConfigKey.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.
+ */
+
 public enum ConfigKey {
     CONSTANT1, CONSTANT2;
 }
\ No newline at end of file
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Server.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Server.java
index a925421..c02f2f2 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Server.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Server.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.File;
 import java.lang.management.ManagementFactory;
 import java.net.BindException;
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Ste.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Ste.java
index 91ecd00..00cc1d5 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Ste.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/Ste.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.management.NotificationBroadcasterSupport;
 
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/SteMBean.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/SteMBean.java
index b106bc1..9b2c0b1 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/SteMBean.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/SteMBean.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.
+ */
+
 public interface SteMBean {
     public void foo();
 }
\ No newline at end of file
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java
index 6ffdb7f..6a9efd4 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/Server/TestNotification.java
@@ -1,11 +1,28 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.management.Notification;
 
-/*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
-
 /**
  *
  * @author Jaroslav Bachorik <jaroslav.bachorik at oracle.com>
diff --git a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java
index f62a643..ad8009a 100644
--- a/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java
+++ b/jdk/test/com/sun/jmx/remote/NotificationMarshalVersions/TestSerializationMismatch.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.File;
 import java.lang.reflect.Method;
diff --git a/jdk/test/com/sun/jndi/cosnaming/CNNameParser.java b/jdk/test/com/sun/jndi/cosnaming/CNNameParser.java
index 954cc1b..fac3f77 100644
--- a/jdk/test/com/sun/jndi/cosnaming/CNNameParser.java
+++ b/jdk/test/com/sun/jndi/cosnaming/CNNameParser.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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 4238914
  * @summary Tests that JNDI/COS naming parser supports the syntax
diff --git a/jdk/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java b/jdk/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java
index 0fe573c..30cb392 100644
--- a/jdk/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java
+++ b/jdk/test/com/sun/jndi/cosnaming/IiopUrlIPv6.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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 5042453
  * @summary Ipv6 address throws Non-numeric port number error
diff --git a/jdk/test/com/sun/net/httpserver/bugs/B6433018.java b/jdk/test/com/sun/net/httpserver/bugs/B6433018.java
index 7b4aa43..3193530 100644
--- a/jdk/test/com/sun/net/httpserver/bugs/B6433018.java
+++ b/jdk/test/com/sun/net/httpserver/bugs/B6433018.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2013 Oracle and/or its affiliates. All rights reserved.
  * 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,20 +29,19 @@
 
 import com.sun.net.httpserver.*;
 
-import java.util.*;
 import java.util.concurrent.*;
 import java.io.*;
 import java.net.*;
 
 public class B6433018 {
 
-    static String CRLF = "\r\n";
+    static final String CRLF = "\r\n";
 
     /* invalid HTTP POST with extra CRLF at end */
     /* This checks that the server is able to handle it
      * and recognise the second request */
 
-    static String cmd =
+    static final String cmd =
         "POST /test/item HTTP/1.1"+CRLF+
         "Keep-Alive: 300"+CRLF+
         "Proxy-Connection: keep-alive"+CRLF+
@@ -61,45 +60,47 @@
         "Pragma: no-cache"+CRLF+
         "Cache-Control: no-cache"+CRLF+CRLF;
 
-    public static void main (String[] args) throws Exception {
-        Handler handler = new Handler();
-        InetSocketAddress addr = new InetSocketAddress (0);
-        HttpServer server = HttpServer.create (addr, 0);
-        HttpContext ctx = server.createContext ("/test", handler);
+    public static void main(String[] args) throws Exception {
+        CountDownLatch finished = new CountDownLatch(2);
+        Handler handler = new Handler(finished);
+        InetSocketAddress addr = new InetSocketAddress(0);
+        HttpServer server = HttpServer.create(addr, 0);
+        HttpContext ctx = server.createContext("/test", handler);
 
-        server.start ();
-
-        Socket s = new Socket ("localhost", server.getAddress().getPort());
-
-        try {
-            OutputStream os = s.getOutputStream();
-            os.write (cmd.getBytes());
-            Thread.sleep (3000);
-            s.close();
-        } catch (IOException e) { }
-        server.stop(2);
-        if (requests != 2) {
-            throw new RuntimeException ("did not receive the 2 requests");
+        server.start();
+        int port = server.getAddress().getPort();
+        try (Socket s = new Socket("localhost", port);
+             OutputStream os = s.getOutputStream()) {
+            os.write(cmd.getBytes());
+            finished.await(30, TimeUnit.SECONDS);
+        } finally {
+            server.stop(2);
         }
-        System.out.println ("OK");
+
+        if (finished.getCount() != 0)
+            throw new RuntimeException("did not receive the 2 requests");
+
+        System.out.println("OK");
     }
 
-    public static boolean error = false;
-    static int requests = 0;
-
     static class Handler implements HttpHandler {
-        int invocation = 1;
-        public void handle (HttpExchange t)
-            throws IOException
-        {
-            InputStream is = t.getRequestBody();
-            Headers map = t.getRequestHeaders();
-            Headers rmap = t.getResponseHeaders();
-            while (is.read () != -1) ;
-            is.close();
-            t.sendResponseHeaders (200, -1);
+        private final CountDownLatch finished;
+
+        Handler(CountDownLatch finished) {
+            this.finished = finished;
+        }
+
+        @Override
+        public void handle(HttpExchange t) throws IOException {
+            try (InputStream is = t.getRequestBody()) {
+                Headers map = t.getRequestHeaders();
+                Headers rmap = t.getResponseHeaders();
+                while (is.read() != -1);
+            }
+            t.sendResponseHeaders(200, -1);
             t.close();
-            requests ++;
+            finished.countDown();
         }
     }
 }
+
diff --git a/jdk/test/demo/zipfs/ZipFSTester.java b/jdk/test/demo/zipfs/ZipFSTester.java
index c6bd389..6153a660 100644
--- a/jdk/test/demo/zipfs/ZipFSTester.java
+++ b/jdk/test/demo/zipfs/ZipFSTester.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java b/jdk/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java
index 2b9fb6e..77f0ba3 100644
--- a/jdk/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java
+++ b/jdk/test/java/awt/AlphaComposite/TestAlphaCompositeForNaN.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * 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 6918065
  * @summary Test for passing NaN as alpha
diff --git a/jdk/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html b/jdk/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html
index fca0821..7c56676 100644
--- a/jdk/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html
+++ b/jdk/test/java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html b/jdk/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html
index a2f02710..bb03faf 100644
--- a/jdk/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html
+++ b/jdk/test/java/awt/Choice/NonFocusablePopupMenuTest/NonFocusablePopupMenuTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html b/jdk/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html
index 7bea0ea..84f5e96 100644
--- a/jdk/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html
+++ b/jdk/test/java/awt/Component/F10TopToplevel/F10TopToplevel.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html b/jdk/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html
index c310b05..2a40796 100644
--- a/jdk/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html
+++ b/jdk/test/java/awt/Component/UpdatingBootTime/UpdatingBootTime.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html
index 2139635..af168b4 100644
--- a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html
+++ b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/NextFramePositionCalculator.java b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/NextFramePositionCalculator.java
index c97ea67..ab36c52 100644
--- a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/NextFramePositionCalculator.java
+++ b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/NextFramePositionCalculator.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.*;
 
 
diff --git a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/SourcePanel.java b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/SourcePanel.java
index 5985df5..3e6269a 100644
--- a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/SourcePanel.java
+++ b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/SourcePanel.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.dnd.DragSource;
 import java.awt.dnd.DnDConstants;
 import java.awt.dnd.DragGestureEvent;
diff --git a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/TargetPanel.java b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/TargetPanel.java
index 2e56961..a761900 100644
--- a/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/TargetPanel.java
+++ b/jdk/test/java/awt/DataFlavor/MissedHtmlAndRtfBug/TargetPanel.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.datatransfer.Transferable;
 import java.awt.dnd.*;
 import java.awt.*;
diff --git a/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html b/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html
index 6d71d8c..70f1b59 100644
--- a/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html
+++ b/jdk/test/java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 1998, 2009, Oracle and/or its affiliates. All rights reserved.
+ 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 4023283
diff --git a/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java b/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java
index 2a20320..d7ae259 100644
--- a/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java
+++ b/jdk/test/java/awt/EventQueue/MainAppContext/MainAppContext.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 7122796
  * @summary Tests 7122796
diff --git a/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java b/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java
index d6d9ec7..c368537 100644
--- a/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java
+++ b/jdk/test/java/awt/EventQueue/PostEventOrderingTest/PostEventOrderingTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html b/jdk/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html
index 6c64525..a13ecf7 100644
--- a/jdk/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html
+++ b/jdk/test/java/awt/FileDialog/FileDialogReturnTest/FileDialogReturnTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html b/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html
index 56e6163..c75f816 100644
--- a/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html
+++ b/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java b/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java
index 38fbbcc..5d54d9a 100644
--- a/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java
+++ b/jdk/test/java/awt/FileDialog/FileNameOverrideTest/FileNameOverrideTest.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 6260659
   @summary File Name set programmatically in FileDialog is overridden during navigation, XToolkit
diff --git a/jdk/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html b/jdk/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html
index 89c13fc..6182d5b 100644
--- a/jdk/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html
+++ b/jdk/test/java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/FileDialog/MultipleMode/MultipleMode.html b/jdk/test/java/awt/FileDialog/MultipleMode/MultipleMode.html
index a52ee58..af65011 100644
--- a/jdk/test/java/awt/FileDialog/MultipleMode/MultipleMode.html
+++ b/jdk/test/java/awt/FileDialog/MultipleMode/MultipleMode.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/FileDialog/RegexpFilterTest/RegexpFilterTest.html b/jdk/test/java/awt/FileDialog/RegexpFilterTest/RegexpFilterTest.html
index 37fc680..5913557 100644
--- a/jdk/test/java/awt/FileDialog/RegexpFilterTest/RegexpFilterTest.html
+++ b/jdk/test/java/awt/FileDialog/RegexpFilterTest/RegexpFilterTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007 Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html
index 561e780..4e514d4 100644
--- a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html
+++ b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java
index 19c2feb..7311214 100644
--- a/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java
+++ b/jdk/test/java/awt/FileDialog/SaveFileNameOverrideTest/SaveFileNameOverrideTest.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 6998877
   @summary After double-click on the folder names, FileNameOverrideTest FAILED
diff --git a/jdk/test/java/awt/Focus/6981400/Test1.java b/jdk/test/java/awt/Focus/6981400/Test1.java
index 6702063..ff92c32 100644
--- a/jdk/test/java/awt/Focus/6981400/Test1.java
+++ b/jdk/test/java/awt/Focus/6981400/Test1.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Focus/6981400/Test2.java b/jdk/test/java/awt/Focus/6981400/Test2.java
index fc14db2..db16b60 100644
--- a/jdk/test/java/awt/Focus/6981400/Test2.java
+++ b/jdk/test/java/awt/Focus/6981400/Test2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Focus/6981400/Test3.java b/jdk/test/java/awt/Focus/6981400/Test3.java
index a4a37b1..daf9c9c 100644
--- a/jdk/test/java/awt/Focus/6981400/Test3.java
+++ b/jdk/test/java/awt/Focus/6981400/Test3.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html
index bb07d59..09199a7 100644
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html
index dc094e1..24d72f9 100644
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java
index 2f7e8f9..0cfb626 100644
--- a/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java
+++ b/jdk/test/java/awt/Focus/AppletInitialFocusTest/AppletInitialFocusTest1.java
@@ -1,11 +1,25 @@
 /*
-  test %W% %E%
-  @bug 4411534 4517274
-  @summary ensures that user's requestFocus() during applet initialization
-           is not ignored.
-  @author  prs@sparc.spb.su area=appletviewer
-  @run shell AppletInitialFocusTest1.sh
-*/
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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.applet.Applet;
 import java.awt.*;
diff --git a/jdk/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html b/jdk/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html
index 18a7444..12c419f 100644
--- a/jdk/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html
+++ b/jdk/test/java/awt/Focus/DeiconifiedFrameLoosesFocus/DeiconifiedFrameLoosesFocus.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java b/jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java
index 6c13b37..3cb18d6 100644
--- a/jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java
+++ b/jdk/test/java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java
index 44cf627..ff921a7 100644
--- a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java
+++ b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 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.
+ *
+ * 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       7125044
   @summary   Tests defaut focus traversal policy in AWT & Swing toplevel windows.
diff --git a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java
index b22117a..98e6cb3 100644
--- a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java
+++ b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_AWT.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 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.
+ *
+ * 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.
+ */
+
+/*
   @bug       7125044
   @summary   Tests default focus traversal policy in AWT toplevel windows.
   @author    anton.tarasov@sun.com: area=awt.focus
diff --git a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java
index ab75622..f3a3b4f 100644
--- a/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java
+++ b/jdk/test/java/awt/Focus/FocusTraversalPolicy/InitialFTP_Swing.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 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.
+ *
+ * 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.
+ */
+
+/*
   @bug       7125044
   @summary   Tests default focus traversal policy in Swing toplevel windows.
   @author    anton.tarasov@sun.com: area=awt.focus
diff --git a/jdk/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html b/jdk/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html
index 2fda942..9b152c9 100644
--- a/jdk/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html
+++ b/jdk/test/java/awt/Focus/ModalBlockedStealsFocusTest/ModalBlockedStealsFocusTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html b/jdk/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html
index cb8b063..51b9dae 100644
--- a/jdk/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html
+++ b/jdk/test/java/awt/Focus/ToFrontFocusTest/ToFrontFocus.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html b/jdk/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html
index e8efd0c..dc9aab7 100644
--- a/jdk/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html
+++ b/jdk/test/java/awt/Focus/WindowInitialFocusTest/WindowInitialFocusTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java b/jdk/test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java
index 9a3b2f0..2f8169e 100644
--- a/jdk/test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java
+++ b/jdk/test/java/awt/Frame/FrameSetSizeStressTest/FrameSetSizeStressTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html b/jdk/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html
index 08a41f0..4aab277 100644
--- a/jdk/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html
+++ b/jdk/test/java/awt/Frame/InitialMaximizedTest/InitialMaximizedTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Frame/ShownOnPack/ShownOnPack.html b/jdk/test/java/awt/Frame/ShownOnPack/ShownOnPack.html
index f6e330d..f406898 100644
--- a/jdk/test/java/awt/Frame/ShownOnPack/ShownOnPack.html
+++ b/jdk/test/java/awt/Frame/ShownOnPack/ShownOnPack.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java b/jdk/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java
index 0883b29..2d042ea 100644
--- a/jdk/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java
+++ b/jdk/test/java/awt/Graphics/DrawImageBG/SystemBgColorTest.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2007, 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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     4614845
  * @summary Test drawImage(bgcolor) gets correct RGB from SystemColor objects.
diff --git a/jdk/test/java/awt/Graphics2D/FillTexturePaint/FillTexturePaint.java b/jdk/test/java/awt/Graphics2D/FillTexturePaint/FillTexturePaint.java
index 2bcf35d..78cd398 100644
--- a/jdk/test/java/awt/Graphics2D/FillTexturePaint/FillTexturePaint.java
+++ b/jdk/test/java/awt/Graphics2D/FillTexturePaint/FillTexturePaint.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/InputMethods/InputMethodsTest/InputMethodsTest.html b/jdk/test/java/awt/InputMethods/InputMethodsTest/InputMethodsTest.html
index b92e6c7..1d24a35 100644
--- a/jdk/test/java/awt/InputMethods/InputMethodsTest/InputMethodsTest.html
+++ b/jdk/test/java/awt/InputMethods/InputMethodsTest/InputMethodsTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <head>
 <title> InputMethodsTest </title>
diff --git a/jdk/test/java/awt/JAWT/JAWT.sh b/jdk/test/java/awt/JAWT/JAWT.sh
index 70ff02b..48182d4 100644
--- a/jdk/test/java/awt/JAWT/JAWT.sh
+++ b/jdk/test/java/awt/JAWT/JAWT.sh
@@ -5,9 +5,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/awt/JAWT/Makefile.cygwin b/jdk/test/java/awt/JAWT/Makefile.cygwin
index 326d581..1ca2284 100644
--- a/jdk/test/java/awt/JAWT/Makefile.cygwin
+++ b/jdk/test/java/awt/JAWT/Makefile.cygwin
@@ -3,9 +3,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/awt/JAWT/Makefile.unix b/jdk/test/java/awt/JAWT/Makefile.unix
index 2b3f47c..00cf78e 100644
--- a/jdk/test/java/awt/JAWT/Makefile.unix
+++ b/jdk/test/java/awt/JAWT/Makefile.unix
@@ -3,9 +3,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/awt/JAWT/Makefile.win b/jdk/test/java/awt/JAWT/Makefile.win
index 327fb25..909f4f5 100644
--- a/jdk/test/java/awt/JAWT/Makefile.win
+++ b/jdk/test/java/awt/JAWT/Makefile.win
@@ -3,9 +3,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/awt/JAWT/MyCanvas.java b/jdk/test/java/awt/JAWT/MyCanvas.java
index 4bf0741..424e3f1 100644
--- a/jdk/test/java/awt/JAWT/MyCanvas.java
+++ b/jdk/test/java/awt/JAWT/MyCanvas.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/JAWT/myfile.c b/jdk/test/java/awt/JAWT/myfile.c
index 1a10289..890a4b5 100644
--- a/jdk/test/java/awt/JAWT/myfile.c
+++ b/jdk/test/java/awt/JAWT/myfile.c
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/JAWT/myfile.cpp b/jdk/test/java/awt/JAWT/myfile.cpp
index fc5b278..eb8b0a7 100644
--- a/jdk/test/java/awt/JAWT/myfile.cpp
+++ b/jdk/test/java/awt/JAWT/myfile.cpp
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java
index 34b52f0..eef8f3c 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java
+++ b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_AWT.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 6741526
   @summary KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy) affects created components
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java
index f068043..adbafb1 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java
+++ b/jdk/test/java/awt/KeyboardFocusmanager/DefaultPolicyChange/DefaultPolicyChange_Swing.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 6741526
   @summary KeyboardFocusManager.setDefaultFocusTraversalPolicy(FocusTraversalPolicy) affects created components
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html
index c1326d3..f6adef4 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/ButtonActionKeyTest/ButtonActionKeyTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html
index 2024c51..b17669b 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/MenuItemActivatedTest/MenuItemActivatedTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html
index 94335cf..55cdf37 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html
index c86da54..6cf7ba3 100644
--- a/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html
+++ b/jdk/test/java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/List/SetFontTest/SetFontTest.html b/jdk/test/java/awt/List/SetFontTest/SetFontTest.html
index 5d2508e..b7ff684 100644
--- a/jdk/test/java/awt/List/SetFontTest/SetFontTest.html
+++ b/jdk/test/java/awt/List/SetFontTest/SetFontTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java b/jdk/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java
index e779f40..18c435d 100644
--- a/jdk/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java
+++ b/jdk/test/java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * 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 1.5 98/07/23
         @bug 4064202 4253466
         @summary Test for Win32 NPE when MenuItem with null label added.
diff --git a/jdk/test/java/awt/MenuBar/8007006/bug8007006.java b/jdk/test/java/awt/MenuBar/8007006/bug8007006.java
new file mode 100644
index 0000000..3e7270d
--- /dev/null
+++ b/jdk/test/java/awt/MenuBar/8007006/bug8007006.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8007006
+ * @summary [macosx] Closing subwindow loses main window menus.
+ * @author Leonid Romanov
+ * @run main bug8007006
+ */
+
+import sun.awt.SunToolkit;
+import java.awt.*;
+import java.awt.event.*;
+
+public class bug8007006 {
+    private static Frame frame1;
+    private static Frame frame2;
+
+    public static void main(String[] args) throws Exception {
+        if (sun.awt.OSInfo.getOSType() != sun.awt.OSInfo.OSType.MACOSX) {
+            System.out.println("This test is for MacOS only. Automatically passed on other platforms.");
+            return;
+        }
+
+        System.setProperty("apple.laf.useScreenMenuBar", "true");
+
+        createAndShowGUI();
+        sleep(1500);
+
+        frame2.dispose();
+        sleep(1500);
+
+        SunToolkit tk = (SunToolkit)Toolkit.getDefaultToolkit();
+
+        Robot robot = new Robot();
+        robot.setAutoDelay(50);
+
+        // open "Apple" menu (the leftmost one)
+        robot.keyPress(KeyEvent.VK_META);
+        robot.keyPress(KeyEvent.VK_SHIFT);
+        robot.keyPress(KeyEvent.VK_SLASH);
+        robot.keyRelease(KeyEvent.VK_SLASH);
+        robot.keyRelease(KeyEvent.VK_SHIFT);
+        robot.keyRelease(KeyEvent.VK_META);
+
+        // Select our menu
+        robot.keyPress(KeyEvent.VK_LEFT);
+        robot.keyRelease(KeyEvent.VK_LEFT);
+
+        // Select menu item
+        robot.keyPress(KeyEvent.VK_DOWN);
+        robot.keyRelease(KeyEvent.VK_DOWN);
+        robot.keyPress(KeyEvent.VK_ENTER);
+        robot.keyRelease(KeyEvent.VK_ENTER);
+
+        sleep(0);
+
+        MenuBar mbar = frame1.getMenuBar();
+        Menu menu = mbar.getMenu(0);
+        CheckboxMenuItem item = (CheckboxMenuItem)menu.getItem(0);
+        boolean isChecked = item.getState();
+
+        frame1.dispose();
+
+        if (isChecked) {
+            throw new Exception("Test failed: menu item remained checked");
+        }
+    }
+
+    private static void createAndShowGUI() {
+        frame1 = new Frame("Frame 1");
+        frame1.setMenuBar(createMenuBar());
+        frame1.setSize(200, 200);
+
+        frame2 = new Frame("Frame 2");
+        frame2.setMenuBar(createMenuBar());
+        frame2.setSize(200, 200);
+
+        frame1.setVisible(true);
+        frame2.setVisible(true);
+    }
+
+    private static MenuBar createMenuBar() {
+        MenuBar mbar = new MenuBar();
+        Menu menu = new Menu("Menu");
+        MenuItem item = new CheckboxMenuItem("Checked", true);
+
+        menu.add(item);
+        mbar.add(menu);
+
+        return mbar;
+    }
+
+    private static void sleep(int ms) {
+        SunToolkit tk = (SunToolkit)Toolkit.getDefaultToolkit();
+        tk.realSync();
+
+        try {
+            Thread.sleep(ms);
+        } catch (Exception ignore) {
+        }
+    }
+}
diff --git a/jdk/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html b/jdk/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html
index 7f22447..d98c3b8 100644
--- a/jdk/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html
+++ b/jdk/test/java/awt/Mouse/ExtraMouseClick/ExtraMouseClick.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java
index e49736c..d85d8d34 100644
--- a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java
+++ b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that drag events are coming for every button if the property is set to true
diff --git a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java
index 2c22669..c659d82 100644
--- a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java
+++ b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/ModifierPermutation.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary presses buttons in all permutations and verifies modifiers
diff --git a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java
index 0571820..1ef1474 100644
--- a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java
+++ b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Extra.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that modifiers are correct for extra buttons
diff --git a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java
index cd2dab0..55d58f8 100644
--- a/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java
+++ b/jdk/test/java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that modifiers are correct for standard (1, 2, 3, wheel) mouse buttons
diff --git a/jdk/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html b/jdk/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html
index 6d9a38d..eb9f89e 100644
--- a/jdk/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html
+++ b/jdk/test/java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java b/jdk/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java
index f044b1b..3892972 100644
--- a/jdk/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java
+++ b/jdk/test/java/awt/Multiscreen/TranslucencyThrowsExceptionWhenFullScreen/TranslucencyThrowsExceptionWhenFullScreen.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html b/jdk/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html
index ade0902..519173b 100644
--- a/jdk/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html
+++ b/jdk/test/java/awt/Multiscreen/WindowGCChangeTest/WindowGCChangeTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/PrintJob/Text/stringwidth.sh b/jdk/test/java/awt/PrintJob/Text/stringwidth.sh
index 354cff5..3d5ba3e 100644
--- a/jdk/test/java/awt/PrintJob/Text/stringwidth.sh
+++ b/jdk/test/java/awt/PrintJob/Text/stringwidth.sh
@@ -1,5 +1,26 @@
 #!/bin/ksh -p
 #
+# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+# 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        4692562
 #   @summary    Requirement: Windows with printer installed.  It should print with text "Hello World".
diff --git a/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java b/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java
index 91b13cc..d2e3c01 100644
--- a/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java
+++ b/jdk/test/java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that Robot is accepting extra mouse buttons
diff --git a/jdk/test/java/awt/Robot/ManualInstructions/ManualInstructions.java b/jdk/test/java/awt/Robot/ManualInstructions/ManualInstructions.java
index 96baf9b..0603376 100644
--- a/jdk/test/java/awt/Robot/ManualInstructions/ManualInstructions.java
+++ b/jdk/test/java/awt/Robot/ManualInstructions/ManualInstructions.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %W% %E%  %I%, %G%
   @bug 6315717
   @summary  manual control over the Robot
diff --git a/jdk/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java b/jdk/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java
index 83e9571..299c6ca 100644
--- a/jdk/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java
+++ b/jdk/test/java/awt/Robot/RobotExtraButton/RobotExtraButton.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that robot could accept extra buttons
diff --git a/jdk/test/java/awt/ScrollPane/ScrollPanePreferredSize/ScrollPanePreferredSize.java b/jdk/test/java/awt/ScrollPane/ScrollPanePreferredSize/ScrollPanePreferredSize.java
index a8c3c82..f5c83a6 100644
--- a/jdk/test/java/awt/ScrollPane/ScrollPanePreferredSize/ScrollPanePreferredSize.java
+++ b/jdk/test/java/awt/ScrollPane/ScrollPanePreferredSize/ScrollPanePreferredSize.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java
index 098fdac..8646274 100644
--- a/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java
+++ b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 6431076
   @summary Mouse cursor must remain DEFAULT over scrollbar when text is typed
diff --git a/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java
index 24d0670..db29726 100644
--- a/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java
+++ b/jdk/test/java/awt/TextArea/MouseOverScrollbarWhenTyping/Test1.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 6431076
   @summary Mouse cursor must remain DEFAULT over scrollbar when text is typed
diff --git a/jdk/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html b/jdk/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html
index 0c139d2..d28b038 100644
--- a/jdk/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html
+++ b/jdk/test/java/awt/TextArea/TextAreaCursorTest/HoveringAndDraggingTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java b/jdk/test/java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java
index edd4ede..94777a6 100644
--- a/jdk/test/java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java
+++ b/jdk/test/java/awt/TextArea/TextAreaTwicePack/TextAreaTwicePack.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html b/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
index 21006f4..c043ba9 100644
--- a/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
+++ b/jdk/test/java/awt/TextArea/UsingWithMouse/SelectionAutoscrollTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html b/jdk/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html
index 0035efa..b42bb3f 100644
--- a/jdk/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html
+++ b/jdk/test/java/awt/TextField/ScrollSelectionTest/ScrollSelectionTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java b/jdk/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java
index 44098dd..a635b8c 100644
--- a/jdk/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java
+++ b/jdk/test/java/awt/Toolkit/Headless/AWTEventListener/AWTListener.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 6738181
   @library ../../../regtesthelpers
diff --git a/jdk/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java b/jdk/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java
index e6835e6..599dc80 100644
--- a/jdk/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java
+++ b/jdk/test/java/awt/Toolkit/Headless/ExceptionContract/ExceptionContract.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java b/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java
index 29a0950..60c28bd 100644
--- a/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java
+++ b/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJob.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 7023011
 @library ../../../regtesthelpers
diff --git a/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java b/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java
index c5edf26..7d9b02c 100644
--- a/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java
+++ b/jdk/test/java/awt/Toolkit/Headless/GetPrintJob/GetPrintJobHeadless.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 7023011
 @library ../../../regtesthelpers
diff --git a/jdk/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java b/jdk/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java
index 109cb7c..c380850 100644
--- a/jdk/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java
+++ b/jdk/test/java/awt/Toolkit/SecurityTest/SecurityTest2.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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 6599601
   @summary tests that a simple GUI application runs without any
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java
index 3fdd3bc..5f857e0 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_1.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that system property sun.awt.enableExtraMouseButtons is true by default
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java
index 366dbdf..f23ddbe 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_2.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that system property sun.awt.enableExtraMouseButtons might be set to true by the command line
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java
index e634af9..1875779 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_3.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that system property sun.awt.enableExtraMouseButtons might be set to false by the command line
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java
index 85a80b7..9766e46 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_4.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that system property sun.awt.enableExtraMouseButtons might be set to true by the System class API.
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java
index 6dc2203..396057f 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/SystemPropTest_5.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that system property sun.awt.enableExtraMouseButtons might be set to false by the System class API.
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java
index 023bbb2..32ee89b 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Disable.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that sun.awt.enableExtraMouseButtons = false consumes extra events
diff --git a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java
index e6c1983..89c09b6 100644
--- a/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java
+++ b/jdk/test/java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that sun.awt.enableExtraMouseButtons is working
diff --git a/jdk/test/java/awt/Window/Grab/GrabTest.java b/jdk/test/java/awt/Window/Grab/GrabTest.java
index 12f85fa..75d70b9 100644
--- a/jdk/test/java/awt/Window/Grab/GrabTest.java
+++ b/jdk/test/java/awt/Window/Grab/GrabTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java b/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java
index d6765fc..51fef8f 100644
--- a/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java
+++ b/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TSFrame.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java b/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java
index 283f667..8b4c6cb 100644
--- a/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java
+++ b/jdk/test/java/awt/Window/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh b/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh
index 923cac5..ccbea0c 100644
--- a/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh
+++ b/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh
@@ -4,9 +4,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/test.html b/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/test.html
index 104905b..af87050 100644
--- a/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/test.html
+++ b/jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/test.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html b/jdk/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html
index 49fbace..5ff9380 100644
--- a/jdk/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html
+++ b/jdk/test/java/awt/datatransfer/DragUnicodeBetweenJVMTest/DragUnicodeBetweenJVMTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/datatransfer/DuplicatedNativesTest/DuplicatedNativesTest.java b/jdk/test/java/awt/datatransfer/DuplicatedNativesTest/DuplicatedNativesTest.java
new file mode 100644
index 0000000..b994bb7
--- /dev/null
+++ b/jdk/test/java/awt/datatransfer/DuplicatedNativesTest/DuplicatedNativesTest.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.datatransfer.DataFlavor;
+import java.awt.datatransfer.SystemFlavorMap;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+/* @test
+ * @bug 8028230
+ * @summary Checks that SystemFlavorMap.getNativesForFlavor returns a list without duplicates
+ * @author Petr Pchelko
+ * @run main DuplicatedNativesTest
+ */
+public class DuplicatedNativesTest {
+
+    public static void main(String[] args) throws Exception {
+
+        // 1. Check that returned natives do not contain duplicates.
+        SystemFlavorMap flavorMap = (SystemFlavorMap)SystemFlavorMap.getDefaultFlavorMap();
+        for (Map.Entry<DataFlavor, String> entry : flavorMap.getNativesForFlavors(null).entrySet()) {
+            List<String> natives = flavorMap.getNativesForFlavor(entry.getKey());
+            if (new HashSet<>(natives).size() != natives.size()) {
+                throw new RuntimeException("FAILED: returned natives contain duplicates: " + Arrays.toString(natives.toArray()));
+            }
+        }
+
+        // 2. Check that even if we set a duplicate it would be ignored.
+        flavorMap.setNativesForFlavor(DataFlavor.stringFlavor, new String[] {"test", "test", "test"});
+        List<String> natives = flavorMap.getNativesForFlavor(DataFlavor.stringFlavor);
+        if (new HashSet<>(natives).size() != natives.size()) {
+            throw new RuntimeException("FAILED: duplicates were not ignored: " + Arrays.toString(natives.toArray()));
+        }
+    }
+}
diff --git a/jdk/test/java/awt/datatransfer/HTMLDataFlavors/ManualHTMLDataFlavorTest.html b/jdk/test/java/awt/datatransfer/HTMLDataFlavors/ManualHTMLDataFlavorTest.html
index ddf65b4bb..0a444d5 100644
--- a/jdk/test/java/awt/datatransfer/HTMLDataFlavors/ManualHTMLDataFlavorTest.html
+++ b/jdk/test/java/awt/datatransfer/HTMLDataFlavors/ManualHTMLDataFlavorTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/dnd/Button2DragTest/Button2DragTest.html b/jdk/test/java/awt/dnd/Button2DragTest/Button2DragTest.html
index c30df93..3d23785 100644
--- a/jdk/test/java/awt/dnd/Button2DragTest/Button2DragTest.html
+++ b/jdk/test/java/awt/dnd/Button2DragTest/Button2DragTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html
index 4ff6adc..59ff9d3 100644
--- a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java
index 6bb7210..975ef01 100644
--- a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java
@@ -4,9 +4,7 @@
   *
   * 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.
+  * 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
diff --git a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java
index 76376dd..64536b2 100644
--- a/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html b/jdk/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html
index 0b7e6d2..140771b 100644
--- a/jdk/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html
+++ b/jdk/test/java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java
index e728f17..ec4c14c 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java
index c243941..de65571 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html
index 620eea0..b996e69 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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 %W% %E%
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java
index 73367b5..3bdd80e 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java
index 6ef68df..bd469df 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java b/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java
index 19425ea..006767d 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java
index 3743803..e077c8f 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java
index c243941..de65571 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html
index 15ade24..01f3847 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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 %W% %E%
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java
index a2fb385..77d5203 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java
index 6ef68df..bd469df 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java
index 19425ea..006767d 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java
index d5dd2bd..346cdf5 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java
index c243941..de65571 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html
index e51c99a..9a14f6e 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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 %W% %E%
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java
index 9c49ed6..1d54894 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java
index 6ef68df..bd469df 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java
index 19425ea..006767d 100644
--- a/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html b/jdk/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html
index cf5a41c..fd48bb7 100644
--- a/jdk/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html
+++ b/jdk/test/java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java b/jdk/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java
index 8082391..066d90b 100644
--- a/jdk/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java
+++ b/jdk/test/java/awt/event/InputEvent/ButtonArraysEquality/ButtonArraysEquality.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that InputEvents button masks arrays are the same
diff --git a/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html b/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html
index 64ef5d1..4070213 100644
--- a/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html
+++ b/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java b/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java
index d0c7140..df09536 100644
--- a/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java
+++ b/jdk/test/java/awt/event/KeyEvent/AcceleratorTest/AcceleratorTest.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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 6680988
   @summary verify that various shortcuts and accelerators work
diff --git a/jdk/test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.html b/jdk/test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.html
index 0396f79..2898dc4 100644
--- a/jdk/test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.html
+++ b/jdk/test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html b/jdk/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html
index 28b26ed..bca100c 100644
--- a/jdk/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html
+++ b/jdk/test/java/awt/event/KeyEvent/KeyTyped/CtrlASCII.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html b/jdk/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html
index 2e61321..8e51bb9 100644
--- a/jdk/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html
+++ b/jdk/test/java/awt/event/MouseEvent/AWTPanelSmoothWheel/AWTPanelSmoothWheel.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java b/jdk/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java
index 802f4cf..cb8b602 100644
--- a/jdk/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java
+++ b/jdk/test/java/awt/event/MouseEvent/AcceptExtraButton/AcceptExtraButton.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that MouseEvent CTOR accepts extra mouse button numbers
diff --git a/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java b/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java
index d461115..7c1f070 100644
--- a/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java
+++ b/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that MouseEvent could be constructed correctly for mouse extra buttons in regard to sun.awt.enableExtraMouseButtons property
diff --git a/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java b/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java
index aaf1c16..c01783d 100644
--- a/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java
+++ b/jdk/test/java/awt/event/MouseEvent/CTORRestrictions/CTORRestrictions_Disable.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that MouseEvent could be constructed correctly for mouse extra buttons in regard to sun.awt.enableExtraMouseButtons property
diff --git a/jdk/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java b/jdk/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java
index 2f62521..d6e57ac 100644
--- a/jdk/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java
+++ b/jdk/test/java/awt/event/MouseEvent/CheckGetMaskForButton/CheckGetMaskForButton.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %I% %E%
   @bug 6315717
   @summary verifies that InputEvent.getMaskForButton() returns the same values as in InputEvent.BUTTON_DOWN_MASK
diff --git a/jdk/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html b/jdk/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html
index 1862c24..ea99bca 100644
--- a/jdk/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html b/jdk/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html
index 1e6d6dd..4d71c26 100644
--- a/jdk/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/MenuDragMouseEventAbsoluteCoordsTest/MenuDragMouseEventAbsoluteCoordsTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html b/jdk/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html
index 95b90eb..e53e539 100644
--- a/jdk/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html b/jdk/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html
index 8f25c34..aebea23 100644
--- a/jdk/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/MouseWheelEventAbsoluteCoordsTest/MouseWheelEventAbsoluteCoordsTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html b/jdk/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html
index b7d23f4..f3f221b 100644
--- a/jdk/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html
+++ b/jdk/test/java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html b/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html
index 9a180a8..60f955e 100644
--- a/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html
+++ b/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_2.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html b/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html
index ab53eab..884914b 100644
--- a/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html
+++ b/jdk/test/java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_3.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java b/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java
index 34a7b76..3b2a56c 100644
--- a/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java
+++ b/jdk/test/java/awt/event/OtherEvents/UngrabID/UngrabID.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/im/4490692/bug4490692.html b/jdk/test/java/awt/im/4490692/bug4490692.html
index 9be8056..dcfab0fa 100644
--- a/jdk/test/java/awt/im/4490692/bug4490692.html
+++ b/jdk/test/java/awt/im/4490692/bug4490692.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/im/4959409/bug4959409.html b/jdk/test/java/awt/im/4959409/bug4959409.html
index 1b98207..ab602cc 100644
--- a/jdk/test/java/awt/im/4959409/bug4959409.html
+++ b/jdk/test/java/awt/im/4959409/bug4959409.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/im/JTextFieldTest.html b/jdk/test/java/awt/im/JTextFieldTest.html
index 1b961f7..037e623 100644
--- a/jdk/test/java/awt/im/JTextFieldTest.html
+++ b/jdk/test/java/awt/im/JTextFieldTest.html
@@ -1,4 +1,26 @@
-<!---->
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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.
+-->
+
 <p>
 Please run this test case under Solaris cjk locale with inputmethod
 support, if you could input Chinese/Japanese/Korean in the  swing
diff --git a/jdk/test/java/awt/image/BufferedImage/TinyScale.java b/jdk/test/java/awt/image/BufferedImage/TinyScale.java
index 83a5dbc..e4c913e 100644
--- a/jdk/test/java/awt/image/BufferedImage/TinyScale.java
+++ b/jdk/test/java/awt/image/BufferedImage/TinyScale.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 %W% %E%
  * @bug 7016495
  * @summary Test tiny scales of BufferedImage
diff --git a/jdk/test/java/awt/image/DrawImage/EABlitTest.java b/jdk/test/java/awt/image/DrawImage/EABlitTest.java
index 6240ce7..023a2e7 100644
--- a/jdk/test/java/awt/image/DrawImage/EABlitTest.java
+++ b/jdk/test/java/awt/image/DrawImage/EABlitTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/print/PrinterJob/CustomPrintService/PrintServiceStub.java b/jdk/test/java/awt/print/PrinterJob/CustomPrintService/PrintServiceStub.java
index c430959..de409b0 100644
--- a/jdk/test/java/awt/print/PrinterJob/CustomPrintService/PrintServiceStub.java
+++ b/jdk/test/java/awt/print/PrinterJob/CustomPrintService/PrintServiceStub.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/print/PrinterJob/CustomPrintService/SetPrintServiceTest.java b/jdk/test/java/awt/print/PrinterJob/CustomPrintService/SetPrintServiceTest.java
index a6bc7ff..9c3ebe7 100644
--- a/jdk/test/java/awt/print/PrinterJob/CustomPrintService/SetPrintServiceTest.java
+++ b/jdk/test/java/awt/print/PrinterJob/CustomPrintService/SetPrintServiceTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/print/bug8023392/bug8023392.html b/jdk/test/java/awt/print/bug8023392/bug8023392.html
index d796a21..af69512 100644
--- a/jdk/test/java/awt/print/bug8023392/bug8023392.html
+++ b/jdk/test/java/awt/print/bug8023392/bug8023392.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/java/awt/print/bug8023392/bug8023392.java b/jdk/test/java/awt/print/bug8023392/bug8023392.java
index 6c6fbb2..9b7c6bc 100644
--- a/jdk/test/java/awt/print/bug8023392/bug8023392.java
+++ b/jdk/test/java/awt/print/bug8023392/bug8023392.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/awt/regtesthelpers/CopyClassFile.java b/jdk/test/java/awt/regtesthelpers/CopyClassFile.java
new file mode 100644
index 0000000..1ee6513
--- /dev/null
+++ b/jdk/test/java/awt/regtesthelpers/CopyClassFile.java
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+import java.util.Arrays;
+
+/**
+ * A utility to copy the class and all it's inner classes to the specified directory.
+ * <p>
+ * Usage in jtreg:
+ *
+ * @build CopyClassFile
+ * @run main CopyClassFile package.class dest_directory
+ */
+public class CopyClassFile {
+
+    private static final ClassLoader cl = CopyClassFile.class.getClassLoader();
+
+    private static String destinationDir;
+    private static String className;
+    private static String classFile;
+
+    public static void main(String[] args) throws Exception {
+        if (args.length != 2) {
+            throw new IllegalArgumentException("Illegal usage: class name and destination directory should be specified");
+        }
+
+        destinationDir = args[1];
+        className = args[0];
+        classFile = className.replaceAll("\\.", File.separator) + ".class";
+
+        URL url = cl.getResource(classFile);
+        if (url == null) {
+            throw new RuntimeException("Could not find a class: " + classFile);
+        }
+
+        File[] files = new File(url.toURI())
+                .getParentFile()
+                .listFiles((dir, name) -> name.startsWith(cutPackageName(className)) && name.endsWith(".class"));
+
+        Arrays.stream(files).forEach(CopyClassFile::copyFile);
+    }
+
+    private static String cutPackageName(String className) {
+        int dotIndex = className.lastIndexOf(".") + 1;
+        if (dotIndex <= 0) {
+            return className;
+        } else {
+            return className.substring(dotIndex);
+        }
+    }
+
+    private static void copyFile(File f) {
+        try {
+            Path classFilePath = Paths.get(classFile);
+            String packagePath = classFilePath.getParent() == null ? "" : classFilePath.getParent().toString();
+            Path p = Paths.get(destinationDir + packagePath + File.separator + f.getName());
+            Files.createDirectories(p.getParent());
+            try (InputStream is = new FileInputStream(f)) {
+                Files.copy(is, p, StandardCopyOption.REPLACE_EXISTING);
+            }
+        } catch (IOException ex) {
+            throw new RuntimeException("Could not copy file " + f, ex);
+        }
+    }
+}
diff --git a/jdk/test/java/beans/Introspector/6380849/beans/FirstBean.java b/jdk/test/java/beans/Introspector/6380849/beans/FirstBean.java
index cafb44e..38c2522 100644
--- a/jdk/test/java/beans/Introspector/6380849/beans/FirstBean.java
+++ b/jdk/test/java/beans/Introspector/6380849/beans/FirstBean.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
 package beans;
 
 public class FirstBean {
diff --git a/jdk/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java b/jdk/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java
index f4d1355..d6560bd 100644
--- a/jdk/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java
+++ b/jdk/test/java/beans/Introspector/6380849/beans/FirstBeanBeanInfo.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
 package beans;
 
 import java.beans.BeanDescriptor;
diff --git a/jdk/test/java/beans/Introspector/6380849/beans/SecondBean.java b/jdk/test/java/beans/Introspector/6380849/beans/SecondBean.java
index fbde390..ae1a9b5 100644
--- a/jdk/test/java/beans/Introspector/6380849/beans/SecondBean.java
+++ b/jdk/test/java/beans/Introspector/6380849/beans/SecondBean.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
 package beans;
 
 public class SecondBean {
diff --git a/jdk/test/java/beans/Introspector/6380849/beans/ThirdBean.java b/jdk/test/java/beans/Introspector/6380849/beans/ThirdBean.java
index 8fb8b9a..18f1489 100644
--- a/jdk/test/java/beans/Introspector/6380849/beans/ThirdBean.java
+++ b/jdk/test/java/beans/Introspector/6380849/beans/ThirdBean.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
 package beans;
 
 public class ThirdBean {
diff --git a/jdk/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java b/jdk/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java
index 999a6df..44a7883 100644
--- a/jdk/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java
+++ b/jdk/test/java/beans/Introspector/6380849/infos/SecondBeanBeanInfo.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
 package infos;
 
 import beans.SecondBean;
diff --git a/jdk/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java b/jdk/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java
index 7d295bd..fb78706 100644
--- a/jdk/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java
+++ b/jdk/test/java/beans/Introspector/6380849/infos/ThirdBeanBeanInfo.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
 package infos;
 
 import java.beans.BeanDescriptor;
diff --git a/jdk/test/java/beans/Introspector/6976577/test/Accessor.java b/jdk/test/java/beans/Introspector/6976577/test/Accessor.java
index a7a7090..9fced1e 100644
--- a/jdk/test/java/beans/Introspector/6976577/test/Accessor.java
+++ b/jdk/test/java/beans/Introspector/6976577/test/Accessor.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
 package test;
 
 import java.beans.PropertyChangeListener;
diff --git a/jdk/test/java/beans/Introspector/7122138/pack/Sub.java b/jdk/test/java/beans/Introspector/7122138/pack/Sub.java
index b30d132..b3f0ba6 100644
--- a/jdk/test/java/beans/Introspector/7122138/pack/Sub.java
+++ b/jdk/test/java/beans/Introspector/7122138/pack/Sub.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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 pack;
 
 public class Sub<String> extends Super {
diff --git a/jdk/test/java/beans/Introspector/7122138/pack/Super.java b/jdk/test/java/beans/Introspector/7122138/pack/Super.java
index 7735968..8e6235b 100644
--- a/jdk/test/java/beans/Introspector/7122138/pack/Super.java
+++ b/jdk/test/java/beans/Introspector/7122138/pack/Super.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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 pack;
 
 class Super<T> {
diff --git a/jdk/test/java/beans/Introspector/Test8027648.java b/jdk/test/java/beans/Introspector/Test8027648.java
new file mode 100644
index 0000000..972ef78
--- /dev/null
+++ b/jdk/test/java/beans/Introspector/Test8027648.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.beans.IndexedPropertyDescriptor;
+import java.beans.PropertyDescriptor;
+
+/*
+ * @test
+ * @bug 8027648
+ * @summary Tests overridden getter and overloaded setter
+ * @author Sergey Malenkov
+ */
+
+public class Test8027648 {
+
+    public static void main(String[] args) {
+        test(false);
+        test(true);
+    }
+
+    private static void test(boolean indexed) {
+        Class<?> parent = getPropertyType(BaseBean.class, indexed);
+        Class<?> child = getPropertyType(MyBean.class, indexed);
+        if (parent.equals(child) || !parent.isAssignableFrom(child)) {
+            throw new Error("the child property type is not override the parent property type");
+        }
+    }
+
+    private static Class<?> getPropertyType(Class<?> type, boolean indexed) {
+        PropertyDescriptor pd = BeanUtils.findPropertyDescriptor(type, indexed ? "index" : "value");
+        if (pd instanceof IndexedPropertyDescriptor) {
+            IndexedPropertyDescriptor ipd = (IndexedPropertyDescriptor) pd;
+            return ipd.getIndexedPropertyType();
+        }
+        return pd.getPropertyType();
+    }
+
+    public static class BaseBean {
+        private Object value;
+
+        public Object getValue() {
+            return this.value;
+        }
+
+        public void setValue(Object value) {
+            this.value = value;
+        }
+
+        public Object getIndex(int index) {
+            return getValue();
+        }
+
+        public void setIndex(int index, Object value) {
+            setValue(value);
+        }
+    }
+
+    public static class MyBean extends BaseBean {
+        @Override
+        public String getValue() {
+            return (String) super.getValue();
+        }
+
+        public void setValue(String value) {
+            setValue((Object) value);
+        }
+
+        @Override
+        public String getIndex(int index) {
+            return getValue();
+        }
+
+        public void setIndex(int index, String value) {
+            setValue(value);
+        }
+    }
+}
diff --git a/jdk/test/java/beans/Introspector/Test8027905.java b/jdk/test/java/beans/Introspector/Test8027905.java
new file mode 100644
index 0000000..6c91694
--- /dev/null
+++ b/jdk/test/java/beans/Introspector/Test8027905.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.beans.PropertyDescriptor;
+
+/*
+ * @test
+ * @bug 8027905
+ * @summary Tests that GC does not affect a property type
+ * @author Sergey Malenkov
+ */
+
+public class Test8027905 {
+    public static void main(String[] args) {
+        PropertyDescriptor pd = BeanUtils.getPropertyDescriptor(Sub.class, "foo");
+        Class<?> type = pd.getPropertyType();
+
+        int[] array = new int[10];
+        while (array != null) {
+            try {
+                array = new int[array.length + array.length];
+            }
+            catch (OutOfMemoryError error) {
+                array = null;
+            }
+        }
+        if (type != pd.getPropertyType()) {
+            throw new Error("property type is changed");
+        }
+    }
+
+    public static class Super<T> {
+        public T getFoo() {
+            return null;
+        }
+
+        public void setFoo(T t) {
+        }
+    }
+
+    public static class Sub extends Super<String> {
+        @Override
+        public String getFoo() {
+            return null;
+        }
+
+        @Override
+        public void setFoo(String t) {
+        }
+    }
+}
diff --git a/jdk/test/java/beans/XMLEncoder/6380849/Bean.java b/jdk/test/java/beans/XMLEncoder/6380849/Bean.java
index 5414597..13431cc 100644
--- a/jdk/test/java/beans/XMLEncoder/6380849/Bean.java
+++ b/jdk/test/java/beans/XMLEncoder/6380849/Bean.java
@@ -1,2 +1,25 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
 public class Bean {
 }
diff --git a/jdk/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java b/jdk/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java
index 34278b4..749ec10 100644
--- a/jdk/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java
+++ b/jdk/test/java/beans/XMLEncoder/6380849/BeanPersistenceDelegate.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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.beans.DefaultPersistenceDelegate;
 
 public class BeanPersistenceDelegate
diff --git a/jdk/test/java/io/File/MaxPathLength.java b/jdk/test/java/io/File/MaxPathLength.java
index 9fd6183..cdda047 100644
--- a/jdk/test/java/io/File/MaxPathLength.java
+++ b/jdk/test/java/io/File/MaxPathLength.java
@@ -28,6 +28,8 @@
 
 import java.io.*;
 import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.DirectoryNotEmptyException;
 
 public class MaxPathLength {
     private static String sep = File.separator;
@@ -182,7 +184,18 @@
         } finally {
             // Clean up
             for (int i = 0; i < max; i++) {
-                Files.deleteIfExists((new File(created[i])).toPath());
+                Path p = (new File(created[i])).toPath();
+                try {
+                    Files.deleteIfExists(p);
+                    // Test if the file is really deleted and wait for 1 second at most
+                    for (int j = 0; j < 10 && Files.exists(p); j++) {
+                        Thread.sleep(100);
+                    }
+                } catch (DirectoryNotEmptyException ex) {
+                    // Give up the clean-up, let jtreg handle it.
+                    System.err.println("Dir, " + p + ", is not empty");
+                    break;
+                }
             }
         }
     }
diff --git a/jdk/test/java/io/FileInputStream/OpsAfterClose.java b/jdk/test/java/io/FileInputStream/OpsAfterClose.java
index 2a4f700..943d584 100644
--- a/jdk/test/java/io/FileInputStream/OpsAfterClose.java
+++ b/jdk/test/java/io/FileInputStream/OpsAfterClose.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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 6359397
diff --git a/jdk/test/java/io/FileOutputStream/OpsAfterClose.java b/jdk/test/java/io/FileOutputStream/OpsAfterClose.java
index 8ea0866..88128c9 100644
--- a/jdk/test/java/io/FileOutputStream/OpsAfterClose.java
+++ b/jdk/test/java/io/FileOutputStream/OpsAfterClose.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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 6359397
diff --git a/jdk/test/java/io/RandomAccessFile/OpsAfterClose.java b/jdk/test/java/io/RandomAccessFile/OpsAfterClose.java
index d1f2b4c..bfc8bee 100644
--- a/jdk/test/java/io/RandomAccessFile/OpsAfterClose.java
+++ b/jdk/test/java/io/RandomAccessFile/OpsAfterClose.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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 6359397
diff --git a/jdk/test/java/lang/String/Split.java b/jdk/test/java/lang/String/Split.java
index 0ea1199..d86f560 100644
--- a/jdk/test/java/lang/String/Split.java
+++ b/jdk/test/java/lang/String/Split.java
@@ -23,7 +23,7 @@
 
 /**
  * @test
- * @bug 6840246
+ * @bug 6840246 6559590
  * @summary test String.split()
  */
 import java.util.Arrays;
@@ -78,6 +78,7 @@
                 throw new RuntimeException("String.split failure 7");
         }
         // Check the case for limit == 0, source = "";
+        // split() now returns 0-length for empty source "" see #6559590
         source = "";
         String[] result = source.split("e", 0);
         if (result.length != 1)
diff --git a/jdk/test/java/lang/StringBuffer/BufferForwarding.java b/jdk/test/java/lang/StringBuffer/BufferForwarding.java
index fafbc19..3aa5b60 100644
--- a/jdk/test/java/lang/StringBuffer/BufferForwarding.java
+++ b/jdk/test/java/lang/StringBuffer/BufferForwarding.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/StringBuilder/BuilderForwarding.java b/jdk/test/java/lang/StringBuilder/BuilderForwarding.java
index 99334ff..dbd5502 100644
--- a/jdk/test/java/lang/StringBuilder/BuilderForwarding.java
+++ b/jdk/test/java/lang/StringBuilder/BuilderForwarding.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/Thread/ThreadStateController.java b/jdk/test/java/lang/Thread/ThreadStateController.java
new file mode 100644
index 0000000..2d876b0
--- /dev/null
+++ b/jdk/test/java/lang/Thread/ThreadStateController.java
@@ -0,0 +1,340 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.util.concurrent.Phaser;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.locks.LockSupport;
+
+/**
+ * ThreadStateController allows a thread to request this thread to transition
+ * to a specific thread state.  The {@linkplain #transitionTo request} is
+ * a blocking call that the calling thread will wait until this thread is about
+ * going to the new state.  Only one request of state transition at a time
+ * is supported (the Phaser expects only parties of 2 to arrive and advance
+ * to next phase).
+ */
+public class ThreadStateController extends Thread {
+    // used to achieve waiting states
+    private final Object lock;
+    public ThreadStateController(String name, Object lock) {
+        super(name);
+        this.lock = lock;
+    }
+
+    public void checkThreadState(Thread.State expected) {
+        // maximum number of retries when checking for thread state.
+        final int MAX_RETRY = 500;
+
+        // wait for the thread to transition to the expected state.
+        // There is a small window between the thread checking the state
+        // and the thread actual entering that state.
+        Thread.State state;
+        int retryCount=0;
+        while ((state = getState()) != expected && retryCount < MAX_RETRY) {
+            pause(10);
+            retryCount++;
+        }
+
+        if (state == null) {
+            throw new RuntimeException(getName() + " expected to have " +
+                expected + " but got null.");
+        }
+
+        if (state != expected) {
+            throw new RuntimeException(String.format("%s expected in %s state but got %s " +
+                "(iterations %d interrupted %d)%n",
+                getName(), expected, state, iterations.get(), interrupted.get()));
+        }
+    }
+
+    public static void pause(long ms) {
+        try {
+            Thread.sleep(ms);
+        } catch (InterruptedException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    // Phaser to sync between the main thread putting
+    // this thread into various states
+    private final Phaser phaser =  new Phaser(2);
+    private volatile int newState = S_RUNNABLE;
+    private volatile int state = 0;
+    private boolean done = false;
+
+    private static final int S_RUNNABLE = 1;
+    private static final int S_BLOCKED = 2;
+    private static final int S_WAITING = 3;
+    private static final int S_TIMED_WAITING = 4;
+    private static final int S_PARKED = 5;
+    private static final int S_TIMED_PARKED = 6;
+    private static final int S_SLEEPING = 7;
+    private static final int S_TERMINATE = 8;
+
+    // for debugging
+    private AtomicInteger iterations = new AtomicInteger();
+    private AtomicInteger interrupted = new AtomicInteger();
+    public void run() {
+        // this thread has started
+        while (!done) {
+            // state transition
+            int nextState = state;
+            if (newState != state) {
+                nextState = newState;
+                iterations.set(0);
+                interrupted.set(0);
+            }
+            iterations.incrementAndGet();
+            switch (nextState) {
+                case S_RUNNABLE: {
+                    stateChange(nextState);
+                    double sum = 0;
+                    for (int i = 0; i < 1000; i++) {
+                       double r = Math.random();
+                       double x = Math.pow(3, r);
+                       sum += x - r;
+                    }
+                    break;
+                }
+                case S_BLOCKED: {
+                    System.out.format("%d: %s is going to block (interations %d)%n",
+                                      getId(), getName(), iterations.get());
+                    stateChange(nextState);
+                    // going to block on lock
+                    synchronized (lock) {
+                        System.out.format("%d:   %s acquired the lock (interations %d)%n",
+                                          getId(), getName(), iterations.get());
+                        try {
+                            // this thread has escaped the BLOCKED state
+                            // release the lock and a short wait before continue
+                            lock.wait(10);
+                        } catch (InterruptedException e) {
+                            // ignore
+                            interrupted.incrementAndGet();
+                        }
+                    }
+                    break;
+                }
+                case S_WAITING: {
+                    synchronized (lock) {
+                        System.out.format("%d: %s is going to waiting (interations %d interrupted %d)%n",
+                                          getId(), getName(), iterations.get(), interrupted.get());
+                        try {
+                            stateChange(nextState);
+                            lock.wait();
+                            System.out.format("%d:   %s wakes up from waiting (interations %d interrupted %d)%n",
+                                              getId(), getName(), iterations.get(), interrupted.get());
+                        } catch (InterruptedException e) {
+                            // ignore
+                            interrupted.incrementAndGet();
+                        }
+                    }
+                    break;
+                }
+                case S_TIMED_WAITING: {
+                    synchronized (lock) {
+                        System.out.format("%d: %s is going to timed waiting (interations %d interrupted %d)%n",
+                                          getId(), getName(), iterations.get(), interrupted.get());
+                        try {
+                            stateChange(nextState);
+                            lock.wait(10000);
+                            System.out.format("%d:   %s wakes up from timed waiting (interations %d interrupted %d)%n",
+                                              getId(), getName(), iterations.get(), interrupted.get());
+                        } catch (InterruptedException e) {
+                            // ignore
+                            interrupted.incrementAndGet();
+                        }
+                    }
+                    break;
+                }
+                case S_PARKED: {
+                    System.out.format("%d: %s is going to park (interations %d)%n",
+                                      getId(), getName(), iterations.get());
+                    stateChange(nextState);
+                    LockSupport.park();
+                    break;
+                }
+                case S_TIMED_PARKED: {
+                    System.out.format("%d: %s is going to timed park (interations %d)%n",
+                                      getId(), getName(), iterations.get());
+                    long deadline = System.currentTimeMillis() + 10000*1000;
+                    stateChange(nextState);
+                    LockSupport.parkUntil(deadline);
+                    break;
+                }
+                case S_SLEEPING: {
+                    System.out.format("%d: %s is going to sleep (interations %d interrupted %d)%n",
+                                      getId(), getName(), iterations.get(), interrupted.get());
+                    try {
+                        stateChange(nextState);
+                        Thread.sleep(1000000);
+                    } catch (InterruptedException e) {
+                        // finish sleeping
+                        interrupted.incrementAndGet();
+                    }
+                    break;
+                }
+                case S_TERMINATE: {
+                    done = true;
+                    stateChange(nextState);
+                    break;
+                }
+                default:
+                    break;
+            }
+        }
+    }
+
+    /**
+     * Change the state if it matches newState.
+     */
+    private void stateChange(int nextState) {
+        // no state change
+        if (state == nextState)
+            return;
+
+        // transition to the new state
+        if (newState == nextState) {
+            state = nextState;
+            phaser.arrive();
+            System.out.format("%d:   state change: %s %s%n",
+                              getId(), toStateName(nextState), phaserToString(phaser));
+            return;
+        }
+
+        // should never reach here
+        throw new RuntimeException("current " + state + " next " + nextState +
+                " new state " + newState);
+    }
+
+    /**
+     * Blocks until this thread transitions to the given state
+     */
+    public void transitionTo(Thread.State tstate) throws InterruptedException {
+        switch (tstate) {
+            case RUNNABLE:
+                nextState(S_RUNNABLE);
+                break;
+            case BLOCKED:
+                nextState(S_BLOCKED);
+                break;
+            case WAITING:
+                nextState(S_WAITING);
+                break;
+            case TIMED_WAITING:
+                nextState(S_TIMED_WAITING);
+                break;
+            case TERMINATED:
+                nextState(S_TERMINATE);
+                break;
+            default:
+                break;
+        }
+    }
+
+    /**
+     * Blocks until this thread transitions to sleeping
+     */
+    public void transitionToSleep() throws InterruptedException {
+        nextState(S_SLEEPING);
+    }
+
+    /**
+     * Blocks until this thread transitions to park or timed park
+     */
+    public void transitionToPark(boolean timed) throws InterruptedException {
+        nextState(timed ? S_TIMED_PARKED : S_PARKED);
+    }
+
+    private void nextState(int s) throws InterruptedException {
+        final long id = Thread.currentThread().getId();
+        System.out.format("%d: wait until the thread transitions to %s %s%n",
+                          id, toStateName(s), phaserToString(phaser));
+        this.newState = s;
+        int phase = phaser.arrive();
+        System.out.format("%d:   awaiting party arrive %s %s%n",
+                           id, toStateName(s), phaserToString(phaser));
+        for (;;) {
+            // when this thread has changed its state before it waits or parks
+            // on a lock, a potential race might happen if it misses the notify
+            // or unpark.  Hence await for the phaser to advance with timeout
+            // to cope with this race condition.
+            switch (state) {
+                case S_WAITING:
+                case S_TIMED_WAITING:
+                    synchronized (lock) {
+                        lock.notify();
+                    }
+                    break;
+                case S_PARKED:
+                case S_TIMED_PARKED:
+                    LockSupport.unpark(this);
+                    break;
+                case S_SLEEPING:
+                    this.interrupt();
+                    break;
+                case S_BLOCKED:
+                default:
+                    break;
+            }
+            try {
+                phaser.awaitAdvanceInterruptibly(phase, 100, TimeUnit.MILLISECONDS);
+                System.out.format("%d:   arrived at %s %s%n",
+                                  id, toStateName(s), phaserToString(phaser));
+                return;
+            } catch (TimeoutException ex) {
+                // this thread hasn't arrived at this phase
+                System.out.format("%d: Timeout: %s%n", id, phaser);
+            }
+        }
+    }
+    private String phaserToString(Phaser p) {
+        return "[phase = " + p.getPhase() +
+               " parties = " + p.getRegisteredParties() +
+               " arrived = " + p.getArrivedParties() + "]";
+    }
+    private String toStateName(int state) {
+        switch (state) {
+            case S_RUNNABLE:
+                return "runnable";
+            case S_WAITING:
+                return "waiting";
+            case S_TIMED_WAITING:
+                return "timed waiting";
+            case S_PARKED:
+                return "parked";
+            case S_TIMED_PARKED:
+                return "timed parked";
+            case S_SLEEPING:
+                return "sleeping";
+            case S_BLOCKED:
+                return "blocked";
+            case S_TERMINATE:
+                return "terminated";
+            default:
+                return "unknown " + state;
+        }
+    }
+}
diff --git a/jdk/test/java/lang/Thread/ThreadStateTest.java b/jdk/test/java/lang/Thread/ThreadStateTest.java
index 51429e9..e2661f3 100644
--- a/jdk/test/java/lang/Thread/ThreadStateTest.java
+++ b/jdk/test/java/lang/Thread/ThreadStateTest.java
@@ -21,77 +21,64 @@
  * questions.
  */
 
+import static java.lang.Thread.State.*;
+
 /*
  * @test
- * @bug     5014783
+ * @bug     5014783 8022208
  * @summary Basic unit test of thread states returned by
  *          Thread.getState().
  *
  * @author  Mandy Chung
- *
- * @build ThreadStateTest
+ * @build ThreadStateTest ThreadStateController
  * @run main/othervm -Xmixed ThreadStateTest
  */
 
-import java.util.concurrent.locks.LockSupport;
-import java.util.concurrent.Phaser;
-
 public class ThreadStateTest {
-    // maximum number of retries when checking for thread state.
-    static final int MAX_RETRY = 500;
-
     private static boolean testFailed = false;
 
     // used to achieve waiting states
-    static final Object globalLock = new Object();
+    private static final Object globalLock = new Object();
 
-    public static void main(String[] argv) {
+    public static void main(String[] argv) throws Exception {
         // Call Thread.getState to force all initialization done
         // before test verification begins.
         Thread.currentThread().getState();
-        MyThread myThread = new MyThread("MyThread");
+        ThreadStateController thread = new ThreadStateController("StateChanger", globalLock);
+        thread.setDaemon(true);
 
         // before myThread starts
-        checkThreadState(myThread, Thread.State.NEW);
+        thread.checkThreadState(NEW);
 
-        myThread.start();
-        myThread.waitUntilStarted();
-        checkThreadState(myThread, Thread.State.RUNNABLE);
+        thread.start();
+        thread.transitionTo(RUNNABLE);
+        thread.checkThreadState(RUNNABLE);
 
         synchronized (globalLock) {
-            myThread.goBlocked();
-            checkThreadState(myThread, Thread.State.BLOCKED);
+            thread.transitionTo(BLOCKED);
+            thread.checkThreadState(BLOCKED);
         }
 
-        myThread.goWaiting();
-        checkThreadState(myThread, Thread.State.WAITING);
+        thread.transitionTo(WAITING);
+        thread.checkThreadState(WAITING);
 
-        myThread.goTimedWaiting();
-        checkThreadState(myThread, Thread.State.TIMED_WAITING);
+        thread.transitionTo(TIMED_WAITING);
+        thread.checkThreadState(TIMED_WAITING);
 
+        thread.transitionToPark(true /* timed park*/);
+        thread.checkThreadState(TIMED_WAITING);
 
-      /*
-       *********** park and parkUntil seems not working
-       * ignore this case for now.
-       * Bug ID 5062095
-       ***********************************************
+        thread.transitionToPark(false /* indefinite park */);
+        thread.checkThreadState(WAITING);
 
-        myThread.goParked();
-        checkThreadState(myThread, Thread.State.WAITING);
+        thread.transitionToSleep();
+        thread.checkThreadState(TIMED_WAITING);
 
-        myThread.goTimedParked();
-        checkThreadState(myThread, Thread.State.TIMED_WAITING);
-       */
-
-
-        myThread.goSleeping();
-        checkThreadState(myThread, Thread.State.TIMED_WAITING);
-
-        myThread.terminate();
-        checkThreadState(myThread, Thread.State.TERMINATED);
+        thread.transitionTo(TERMINATED);
+        thread.checkThreadState(TERMINATED);
 
         try {
-            myThread.join();
+            thread.join();
         } catch (InterruptedException e) {
             e.printStackTrace();
             System.out.println("Unexpected exception.");
@@ -102,241 +89,4 @@
             throw new RuntimeException("TEST FAILED.");
         System.out.println("Test passed.");
     }
-
-    private static void checkThreadState(Thread t, Thread.State expected) {
-        // wait for the thread to transition to the expected state.
-        // There is a small window between the thread checking the state
-        // and the thread actual entering that state.
-        Thread.State state;
-        int retryCount=0;
-        while ((state = t.getState()) != expected && retryCount < MAX_RETRY) {
-            if (state != Thread.State.RUNNABLE) {
-                throw new RuntimeException("Thread not in expected state yet," +
-                        " but it should at least be RUNNABLE");
-            }
-            goSleep(10);
-            retryCount++;
-        }
-
-        System.out.println("Checking thread state " + state);
-        if (state == null) {
-            throw new RuntimeException(t.getName() + " expected to have " +
-                expected + " but got null.");
-        }
-
-        if (state != expected) {
-            throw new RuntimeException(t.getName() + " expected to have " +
-                expected + " but got " + state);
-        }
-    }
-
-    private static void goSleep(long ms) {
-        try {
-            Thread.sleep(ms);
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-            System.out.println("Unexpected exception.");
-            testFailed = true;
-        }
-    }
-
-    static class MyThread extends Thread {
-        // Phaser to sync between the main thread putting
-        // this thread into various states
-        private Phaser phaser =  new Phaser(2);
-
-        MyThread(String name) {
-            super(name);
-        }
-
-        private final int RUNNABLE = 0;
-        private final int BLOCKED = 1;
-        private final int WAITING = 2;
-        private final int TIMED_WAITING = 3;
-        private final int PARKED = 4;
-        private final int TIMED_PARKED = 5;
-        private final int SLEEPING = 6;
-        private final int TERMINATE = 7;
-
-        private volatile int state = RUNNABLE;
-
-        private boolean done = false;
-        public void run() {
-            // Signal main thread to continue.
-            phaser.arriveAndAwaitAdvance();
-
-            while (!done) {
-                switch (state) {
-                    case RUNNABLE: {
-                        double sum = 0;
-                        for (int i = 0; i < 1000; i++) {
-                           double r = Math.random();
-                           double x = Math.pow(3, r);
-                           sum += x - r;
-                        }
-                        break;
-                    }
-                    case BLOCKED: {
-                        // signal main thread.
-                        phaser.arrive();
-                        System.out.println("  myThread is going to block.");
-                        synchronized (globalLock) {
-                            // finish blocking
-                            state = RUNNABLE;
-                        }
-                        break;
-                    }
-                    case WAITING: {
-                        synchronized (globalLock) {
-                            // signal main thread.
-                            phaser.arrive();
-                            System.out.println("  myThread is going to wait.");
-                            try {
-                                globalLock.wait();
-                            } catch (InterruptedException e) {
-                                // ignore
-                            }
-                        }
-                        break;
-                    }
-                    case TIMED_WAITING: {
-                        synchronized (globalLock) {
-                            // signal main thread.
-                            phaser.arrive();
-                            System.out.println("  myThread is going to timed wait.");
-                            try {
-                                globalLock.wait(10000);
-                            } catch (InterruptedException e) {
-                                // ignore
-                            }
-                        }
-                        break;
-                    }
-                    case PARKED: {
-                        // signal main thread.
-                        phaser.arrive();
-                        System.out.println("  myThread is going to park.");
-                        LockSupport.park();
-                        // give a chance for the main thread to block
-                        goSleep(10);
-                        break;
-                    }
-                    case TIMED_PARKED: {
-                        // signal main thread.
-                        phaser.arrive();
-                        System.out.println("  myThread is going to timed park.");
-                        long deadline = System.currentTimeMillis() + 10000*1000;
-                        LockSupport.parkUntil(deadline);
-
-                        // give a chance for the main thread to block
-                        goSleep(10);
-                        break;
-                    }
-                    case SLEEPING: {
-                        // signal main thread.
-                        phaser.arrive();
-                        System.out.println("  myThread is going to sleep.");
-                        try {
-                            Thread.sleep(1000000);
-                        } catch (InterruptedException e) {
-                            // finish sleeping
-                        }
-                        break;
-                    }
-                    case TERMINATE: {
-                        done = true;
-                        // signal main thread.
-                        phaser.arrive();
-                        break;
-                    }
-                    default:
-                        break;
-                }
-            }
-        }
-
-        public void waitUntilStarted() {
-            // wait for MyThread.
-            phaser.arriveAndAwaitAdvance();
-        }
-
-        public void goBlocked() {
-            System.out.println("Waiting myThread to go blocked.");
-            setState(BLOCKED);
-            // wait for MyThread to get to a point just before being blocked
-            phaser.arriveAndAwaitAdvance();
-        }
-
-        public void goWaiting() {
-            System.out.println("Waiting myThread to go waiting.");
-            setState(WAITING);
-            // wait for MyThread to get to just before wait on object.
-            phaser.arriveAndAwaitAdvance();
-        }
-
-        public void goTimedWaiting() {
-            System.out.println("Waiting myThread to go timed waiting.");
-            setState(TIMED_WAITING);
-            // wait for MyThread to get to just before timed wait call.
-            phaser.arriveAndAwaitAdvance();
-        }
-
-        public void goParked() {
-            System.out.println("Waiting myThread to go parked.");
-            setState(PARKED);
-            // wait for MyThread to get to just before parked.
-            phaser.arriveAndAwaitAdvance();
-        }
-
-        public void goTimedParked() {
-            System.out.println("Waiting myThread to go timed parked.");
-            setState(TIMED_PARKED);
-            // wait for MyThread to get to just before timed park.
-            phaser.arriveAndAwaitAdvance();
-        }
-
-        public void goSleeping() {
-            System.out.println("Waiting myThread to go sleeping.");
-            setState(SLEEPING);
-            // wait for MyThread to get to just before sleeping
-            phaser.arriveAndAwaitAdvance();
-        }
-
-        public void terminate() {
-            System.out.println("Waiting myThread to terminate.");
-            setState(TERMINATE);
-            // wait for MyThread to get to just before terminate
-            phaser.arriveAndAwaitAdvance();
-        }
-
-        private void setState(int newState) {
-            switch (state) {
-                case BLOCKED:
-                    while (state == BLOCKED) {
-                        goSleep(10);
-                    }
-                    state = newState;
-                    break;
-                case WAITING:
-                case TIMED_WAITING:
-                    state = newState;
-                    synchronized (globalLock) {
-                        globalLock.notify();
-                    }
-                    break;
-                case PARKED:
-                case TIMED_PARKED:
-                    state = newState;
-                    LockSupport.unpark(this);
-                    break;
-                case SLEEPING:
-                    state = newState;
-                    this.interrupt();
-                    break;
-                default:
-                    state = newState;
-                    break;
-            }
-        }
-    }
 }
diff --git a/jdk/test/java/lang/instrument/RedefineBigClassApp.java b/jdk/test/java/lang/instrument/RedefineBigClassApp.java
index 40807d3..ed4669e 100644
--- a/jdk/test/java/lang/instrument/RedefineBigClassApp.java
+++ b/jdk/test/java/lang/instrument/RedefineBigClassApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/java/lang/instrument/RetransformBigClass.sh b/jdk/test/java/lang/instrument/RetransformBigClass.sh
index d168395..22065b6 100644
--- a/jdk/test/java/lang/instrument/RetransformBigClass.sh
+++ b/jdk/test/java/lang/instrument/RetransformBigClass.sh
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2011, 2013 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/java/lang/instrument/RetransformBigClassApp.java b/jdk/test/java/lang/instrument/RetransformBigClassApp.java
index 01e305a..352e839 100644
--- a/jdk/test/java/lang/instrument/RetransformBigClassApp.java
+++ b/jdk/test/java/lang/instrument/RetransformBigClassApp.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/java/lang/invoke/AccessControlTest.java b/jdk/test/java/lang/invoke/AccessControlTest.java
index 0d37ec6..6cb3af3 100644
--- a/jdk/test/java/lang/invoke/AccessControlTest.java
+++ b/jdk/test/java/lang/invoke/AccessControlTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/BigArityTest.java b/jdk/test/java/lang/invoke/BigArityTest.java
index 3744bf9..8a2947b 100644
--- a/jdk/test/java/lang/invoke/BigArityTest.java
+++ b/jdk/test/java/lang/invoke/BigArityTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/ClassValueTest.java b/jdk/test/java/lang/invoke/ClassValueTest.java
index 8f9bd95..b287685 100644
--- a/jdk/test/java/lang/invoke/ClassValueTest.java
+++ b/jdk/test/java/lang/invoke/ClassValueTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/InvokeGenericTest.java b/jdk/test/java/lang/invoke/InvokeGenericTest.java
index 9589324..161a0c8 100644
--- a/jdk/test/java/lang/invoke/InvokeGenericTest.java
+++ b/jdk/test/java/lang/invoke/InvokeGenericTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/JavaDocExamplesTest.java b/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
index 194564f..2f8bfdc 100644
--- a/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
+++ b/jdk/test/java/lang/invoke/JavaDocExamplesTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/MethodHandles/TestCatchException.java b/jdk/test/java/lang/invoke/MethodHandles/TestCatchException.java
new file mode 100644
index 0000000..106eafc
--- /dev/null
+++ b/jdk/test/java/lang/invoke/MethodHandles/TestCatchException.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+/**
+ * @test
+ * @bug 8027823
+ * @run junit test.java.lang.invoke.TestCatchException
+ */
+package test.java.lang.invoke;
+
+import java.lang.invoke.*;
+import org.junit.*;
+import static org.junit.Assert.*;
+
+public class TestCatchException {
+    final static MethodHandles.Lookup LOOKUP = MethodHandles.lookup();
+    final static MethodType M_TYPE = MethodType.methodType(int.class, Object.class, Object.class, int.class, int.class, int.class, int.class, int.class, int.class, int.class);
+
+    private static int noThrow(Object o1, Object o2, int i1, int i2, int i3, int i4, int i5, int i6, int i7) {
+        return 42;
+    }
+
+    private static int throwEx(Object o1, Object o2, int i1, int i2, int i3, int i4, int i5, int i6, int i7) throws Exception {
+        throw new Exception();
+    }
+
+    private static int handler(Exception e) {
+        return 17;
+    }
+
+    @Test
+    public void testNoThrowPath() throws Throwable {
+        MethodHandle target = LOOKUP.findStatic(TestCatchException.class, "noThrow", M_TYPE);
+        MethodHandle handler = LOOKUP.findStatic(TestCatchException.class, "handler", MethodType.methodType(int.class, Exception.class));
+
+        MethodHandle h = MethodHandles.catchException(target, Exception.class, handler);
+
+        int x = (int)h.invokeExact(new Object(), new Object(), 1, 2, 3, 4, 5, 6, 7);
+        assertEquals(x, 42);
+    }
+
+    @Test
+    public void testThrowPath() throws Throwable {
+        MethodHandle target = LOOKUP.findStatic(TestCatchException.class, "throwEx", M_TYPE);
+        MethodHandle handler = LOOKUP.findStatic(TestCatchException.class, "handler", MethodType.methodType(int.class, Exception.class));
+
+        MethodHandle h = MethodHandles.catchException(target, Exception.class, handler);
+
+        int x = (int)h.invokeExact(new Object(), new Object(), 1, 2, 3, 4, 5, 6, 7);
+        assertEquals(x, 17);
+    }
+
+    public static void main(String[] args) throws Throwable {
+        TestCatchException test = new TestCatchException();
+        test.testNoThrowPath();
+        test.testThrowPath();
+        System.out.println("TEST PASSED");
+    }
+}
diff --git a/jdk/test/java/lang/invoke/MethodHandlesTest.java b/jdk/test/java/lang/invoke/MethodHandlesTest.java
index 37da9b0..57a5e92 100644
--- a/jdk/test/java/lang/invoke/MethodHandlesTest.java
+++ b/jdk/test/java/lang/invoke/MethodHandlesTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/PermuteArgsTest.java b/jdk/test/java/lang/invoke/PermuteArgsTest.java
index 53aa787..213b984 100644
--- a/jdk/test/java/lang/invoke/PermuteArgsTest.java
+++ b/jdk/test/java/lang/invoke/PermuteArgsTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/PrivateInvokeTest.java b/jdk/test/java/lang/invoke/PrivateInvokeTest.java
index cc4fec3..678712f 100644
--- a/jdk/test/java/lang/invoke/PrivateInvokeTest.java
+++ b/jdk/test/java/lang/invoke/PrivateInvokeTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/RevealDirectTest.java b/jdk/test/java/lang/invoke/RevealDirectTest.java
index 1aa15da8..2b5ac7c 100644
--- a/jdk/test/java/lang/invoke/RevealDirectTest.java
+++ b/jdk/test/java/lang/invoke/RevealDirectTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/RicochetTest.java b/jdk/test/java/lang/invoke/RicochetTest.java
index 8f9ed66..e7f77f2 100644
--- a/jdk/test/java/lang/invoke/RicochetTest.java
+++ b/jdk/test/java/lang/invoke/RicochetTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/TestCatchExceptionWithVarargs.java b/jdk/test/java/lang/invoke/TestCatchExceptionWithVarargs.java
index a3df17c..d5d6c10 100644
--- a/jdk/test/java/lang/invoke/TestCatchExceptionWithVarargs.java
+++ b/jdk/test/java/lang/invoke/TestCatchExceptionWithVarargs.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/ThrowExceptionsTest.java b/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
index feca972..5f54c68 100644
--- a/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
+++ b/jdk/test/java/lang/invoke/ThrowExceptionsTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/invoke/lambda/LambdaAsm.java b/jdk/test/java/lang/invoke/lambda/LambdaAsm.java
new file mode 100644
index 0000000..0f80d17
--- /dev/null
+++ b/jdk/test/java/lang/invoke/lambda/LambdaAsm.java
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8027232
+ * @summary ensures that j.l.i.InvokerByteCodeGenerator and ASM visitMethodInsn
+ * generate  bytecodes with correct constant pool references
+ * @compile -XDignore.symbol.file LambdaAsm.java LUtils.java
+ * @run main/othervm LambdaAsm
+ */
+import com.sun.tools.classfile.Attribute;
+import com.sun.tools.classfile.ClassFile;
+import com.sun.tools.classfile.Code_attribute;
+import com.sun.tools.classfile.ConstantPool;
+import com.sun.tools.classfile.ConstantPool.CPInfo;
+import com.sun.tools.classfile.Instruction;
+import com.sun.tools.classfile.Method;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.util.ArrayList;
+import java.nio.file.DirectoryStream;
+import java.nio.file.Path;
+import jdk.internal.org.objectweb.asm.ClassWriter;
+import jdk.internal.org.objectweb.asm.MethodVisitor;
+
+import static java.nio.file.Files.*;
+import static jdk.internal.org.objectweb.asm.Opcodes.*;
+
+public class LambdaAsm {
+
+    static final File TestFile = new File("A.java");
+
+    static void init() {
+        emitCode();
+        LUtils.compile(TestFile.getName());
+        LUtils.TestResult tr = LUtils.doExec(LUtils.JAVA_CMD.getAbsolutePath(),
+                "-Djdk.internal.lambda.dumpProxyClasses=.",
+                "-cp", ".", "A");
+        if (tr.exitValue != 0) {
+            System.out.println("Error: " + tr.toString());
+            throw new RuntimeException("could not create proxy classes");
+        }
+    }
+
+    static void emitCode() {
+        ArrayList<String> scratch = new ArrayList<>();
+        scratch.add("import java.util.function.*;");
+        scratch.add("class A {");
+        scratch.add("   interface I {");
+        scratch.add("       default Supplier<Integer> a() { return () -> 1; }");
+        scratch.add("       default Supplier<Integer> b(int i) { return () -> i; }");
+        scratch.add("       default Supplier<Integer> c(int i) { return () -> m(i); }");
+        scratch.add("       int m(int i);");
+        scratch.add("       static Integer d() { return 0; }");
+        scratch.add("   }");
+        scratch.add("   static class C implements I {");
+        scratch.add("       public int m(int i) { return i;}");
+        scratch.add("   }");
+        scratch.add("   public static void main(String[] args) {");
+        scratch.add("       I i = new C();");
+        scratch.add("       i.a();");
+        scratch.add("       i.b(1);");
+        scratch.add("       i.c(1);");
+        scratch.add("       I.d();");
+        scratch.add("   }");
+        scratch.add("}");
+        LUtils.createFile(TestFile, scratch);
+    }
+
+    static void checkMethod(String cname, String mname, ConstantPool cp,
+            Code_attribute code) throws ConstantPool.InvalidIndex {
+        for (Instruction i : code.getInstructions()) {
+            String iname = i.getMnemonic();
+            if ("invokespecial".equals(iname)
+                    || "invokestatic".equals(iname)) {
+                int idx = i.getByte(2);
+                System.out.println("Verifying " + cname + ":" + mname +
+                        " instruction:" + iname + " index @" + idx);
+                CPInfo cpinfo = cp.get(idx);
+                if (cpinfo instanceof ConstantPool.CONSTANT_Methodref_info) {
+                    throw new RuntimeException("unexpected CP type expected "
+                            + "InterfaceMethodRef, got MethodRef, " + cname
+                            + ", " + mname);
+                }
+            }
+        }
+    }
+
+    static int checkMethod(ClassFile cf, String mthd) throws Exception {
+        if (cf.major_version < 52) {
+            throw new RuntimeException("unexpected class file version, in "
+                    + cf.getName() + "expected 52, got " + cf.major_version);
+        }
+        int count = 0;
+        for (Method m : cf.methods) {
+            String mname = m.getName(cf.constant_pool);
+            if (mname.equals(mthd)) {
+                for (Attribute a : m.attributes) {
+                    if ("Code".equals(a.getName(cf.constant_pool))) {
+                        count++;
+                        checkMethod(cf.getName(), mname, cf.constant_pool,
+                                (Code_attribute) a);
+                    }
+                }
+            }
+        }
+        return count;
+    }
+
+    static void verifyInvokerBytecodeGenerator() throws Exception {
+        int count = 0;
+        int mcount = 0;
+        try (DirectoryStream<Path> ds = newDirectoryStream(new File(".").toPath(),
+                // filter in lambda proxy classes
+                "A$I$$Lambda$?.class")) {
+            for (Path p : ds) {
+                System.out.println(p.toFile());
+                ClassFile cf = ClassFile.read(p.toFile());
+                // Check those methods implementing Supplier.get
+                mcount += checkMethod(cf, "get");
+                count++;
+            }
+        }
+        if (count < 3) {
+            throw new RuntimeException("unexpected number of files, "
+                    + "expected atleast 3 files, but got only " + count);
+        }
+        if (mcount < 3) {
+            throw new RuntimeException("unexpected number of methods, "
+                    + "expected atleast 3 methods, but got only " + mcount);
+        }
+    }
+
+    static void verifyASM() throws Exception {
+        ClassWriter cw = new ClassWriter(0);
+        cw.visit(V1_8, ACC_PUBLIC, "X", null, "java/lang/Object", null);
+        MethodVisitor mv = cw.visitMethod(ACC_STATIC, "foo",
+                "()V", null, null);
+        mv.visitMaxs(2, 1);
+        mv.visitMethodInsn(INVOKESTATIC,
+                "java/util/function/Function.class",
+                "identity", "()Ljava/util/function/Function;", true);
+        mv.visitInsn(RETURN);
+        cw.visitEnd();
+        byte[] carray = cw.toByteArray();
+        // for debugging
+        // write((new File("X.class")).toPath(), carray, CREATE, TRUNCATE_EXISTING);
+
+        // verify using javap/classfile reader
+        ClassFile cf = ClassFile.read(new ByteArrayInputStream(carray));
+        int mcount = checkMethod(cf, "foo");
+        if (mcount < 1) {
+            throw new RuntimeException("unexpected method count, expected 1" +
+                    "but got " + mcount);
+        }
+    }
+
+    public static void main(String... args) throws Exception {
+        init();
+        verifyInvokerBytecodeGenerator();
+        verifyASM();
+    }
+}
diff --git a/jdk/test/java/lang/invoke/lambda/RepetitiveLambdaSerialization.java b/jdk/test/java/lang/invoke/lambda/RepetitiveLambdaSerialization.java
new file mode 100644
index 0000000..7d406a3
--- /dev/null
+++ b/jdk/test/java/lang/invoke/lambda/RepetitiveLambdaSerialization.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8027681
+ * @summary Lambda serialization fails once reflection proxy generation kicks in
+ * @author  Robert Field
+ * @run main/othervm RepetitiveLambdaSerialization
+ * @run main/othervm -Dsun.reflect.noInflation=true RepetitiveLambdaSerialization
+ */
+
+import java.io.*;
+
+public class RepetitiveLambdaSerialization {
+
+    static final int REPS = 20;
+
+    public static void main(String[] args) throws Exception {
+        LSI ls = z -> "[" + z + "]";
+        for (int i = 0; i < REPS; ++i) {
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            ObjectOutput out = new ObjectOutputStream(baos);
+            out.writeObject(ls);
+            out.flush();
+            out.close();
+        }
+        System.out.println("Passed.");
+    }
+}
+
+interface LSI extends Serializable {
+    String convert(String x);
+}
diff --git a/jdk/test/java/lang/invoke/remote/RemoteExample.java b/jdk/test/java/lang/invoke/remote/RemoteExample.java
index 801d9b7..dcd5498 100644
--- a/jdk/test/java/lang/invoke/remote/RemoteExample.java
+++ b/jdk/test/java/lang/invoke/remote/RemoteExample.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/lang/management/RuntimeMXBean/UpTime.java b/jdk/test/java/lang/management/RuntimeMXBean/UpTime.java
index ac332ca..5bfe094 100644
--- a/jdk/test/java/lang/management/RuntimeMXBean/UpTime.java
+++ b/jdk/test/java/lang/management/RuntimeMXBean/UpTime.java
@@ -33,30 +33,34 @@
 public class UpTime {
     final static long DELAY = 5; // Seconds
     final static long TIMEOUT = 30; // Minutes
-    private static RuntimeMXBean metrics
+    final static long MULTIPLIER = 1000; // millisecond ticks
+
+    private static final RuntimeMXBean metrics
         = ManagementFactory.getRuntimeMXBean();
 
     public static void main(String argv[]) throws Exception {
         long jvmStartTime = metrics.getStartTime();
-        long systemStartOuter = System.currentTimeMillis();
+        // this will get an aproximate JVM uptime before starting this test
+        long jvmUptime = System.currentTimeMillis() - jvmStartTime;
+        long systemStartOuter = System_milliTime();
         long metricsStart = metrics.getUptime();
-        long systemStartInner = System.currentTimeMillis();
+        long systemStartInner = System_milliTime();
 
         // This JVM might have been running for some time if this test runs
         // in samevm mode.  The sanity check should apply to the test uptime.
-        long testUptime = metricsStart - (systemStartOuter - jvmStartTime);
+        long testUptime = metricsStart - jvmUptime;
 
         // If uptime is more than 30 minutes then it looks like a bug in
         // the method
-        if (testUptime > TIMEOUT * 60 * 1000)
+        if (testUptime > TIMEOUT * 60 * MULTIPLIER)
             throw new RuntimeException("Uptime of the JVM is more than 30 "
                                      + "minutes ("
-                                     + (metricsStart / 60 / 1000)
+                                     + (metricsStart / 60 / MULTIPLIER)
                                      + " minutes).");
 
         // Wait for DELAY seconds
         Object o = new Object();
-        while (System.currentTimeMillis() < systemStartInner + DELAY * 1000) {
+        while (System_milliTime() < systemStartInner + DELAY * MULTIPLIER) {
             synchronized (o) {
                 try {
                     o.wait(DELAY * 1000);
@@ -67,23 +71,27 @@
             }
         }
 
-        long systemEndInner = System.currentTimeMillis();
+        long systemEndInner = System_milliTime();
         long metricsEnd = metrics.getUptime();
-        long systemEndOuter = System.currentTimeMillis();
+        long systemEndOuter = System_milliTime();
 
         long systemDifferenceInner = systemEndInner - systemStartInner;
         long systemDifferenceOuter = systemEndOuter - systemStartOuter;
         long metricsDifference = metricsEnd - metricsStart;
 
         // Check the flow of time in RuntimeMXBean.getUptime(). See the
-        // picture below
-        if (metricsDifference < systemDifferenceInner)
+        // picture below.
+        // The measured times can be off by 1 due to conversions from
+        // nanoseconds to milliseconds, using different channels to read the
+        // HR timer and rounding error. Bigger difference will make the test
+        // fail.
+        if (metricsDifference - systemDifferenceInner < -1)
             throw new RuntimeException("Flow of the time in "
                                      + "RuntimeMXBean.getUptime() ("
                                      + metricsDifference + ") is slower than "
                                      + " in system (" + systemDifferenceInner
                                      + ")");
-        if (metricsDifference > systemDifferenceOuter)
+        if (metricsDifference - systemDifferenceOuter > 1)
             throw new RuntimeException("Flow of the time in "
                                      + "RuntimeMXBean.getUptime() ("
                                      + metricsDifference + ") is faster than "
@@ -92,6 +100,10 @@
 
         System.out.println("Test passed.");
     }
+
+    private static long System_milliTime() {
+        return System.nanoTime() / 1000000; // nanoseconds / milliseconds;
+    }
 }
 
 /*
diff --git a/jdk/test/java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java b/jdk/test/java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java
new file mode 100644
index 0000000..dc4fe3d
--- /dev/null
+++ b/jdk/test/java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java
@@ -0,0 +1,230 @@
+/*
+ * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * 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     4967283 5080203 8022208
+ * @summary Basic unit test of thread states returned by
+ *          ThreadMXBean.getThreadInfo.getThreadState().
+ *          It also tests lock information returned by ThreadInfo.
+ *
+ * @author  Mandy Chung
+ *
+ * @library ../../Thread
+ * @build ThreadMXBeanStateTest ThreadStateController
+ * @run main ThreadMXBeanStateTest
+ */
+
+import java.lang.management.ManagementFactory;
+import java.lang.management.ThreadMXBean;
+import java.lang.management.ThreadInfo;
+import static java.lang.Thread.State.*;
+
+public class ThreadMXBeanStateTest {
+    private static final ThreadMXBean tm = ManagementFactory.getThreadMXBean();
+
+    static class Lock {
+        private String name;
+        Lock(String name) {
+            this.name = name;
+        }
+        public String toString() {
+            return name;
+        }
+    }
+    private static Lock globalLock = new Lock("my lock");
+
+    public static void main(String[] argv) throws Exception {
+        // Force thread state initialization now before the test
+        // verification begins.
+        Thread.currentThread().getState();
+        ThreadStateController thread = new ThreadStateController("StateChanger", globalLock);
+        thread.setDaemon(true);
+
+        // before myThread starts
+        thread.checkThreadState(NEW);
+
+        thread.start();
+        thread.transitionTo(RUNNABLE);
+        thread.checkThreadState(RUNNABLE);
+        checkLockInfo(thread, RUNNABLE, null, null);
+
+        thread.suspend();
+        ThreadStateController.pause(10);
+        thread.checkThreadState(RUNNABLE);
+        checkSuspendedThreadState(thread, RUNNABLE);
+        thread.resume();
+
+        synchronized (globalLock) {
+            thread.transitionTo(BLOCKED);
+            thread.checkThreadState(BLOCKED);
+            checkLockInfo(thread, BLOCKED,
+                          globalLock, Thread.currentThread());
+        }
+
+        thread.transitionTo(WAITING);
+        thread.checkThreadState(WAITING);
+        checkLockInfo(thread, Thread.State.WAITING,
+                      globalLock, null);
+
+        thread.transitionTo(TIMED_WAITING);
+        thread.checkThreadState(TIMED_WAITING);
+        checkLockInfo(thread, TIMED_WAITING,
+                      globalLock, null);
+
+
+        thread.transitionToPark(true /* timed park */);
+        thread.checkThreadState(TIMED_WAITING);
+        checkLockInfo(thread, TIMED_WAITING, null, null);
+
+        thread.transitionToPark(false /* indefinite park */);
+        thread.checkThreadState(WAITING);
+        checkLockInfo(thread, WAITING, null, null);
+
+        thread.transitionToSleep();
+        thread.checkThreadState(TIMED_WAITING);
+        checkLockInfo(thread, TIMED_WAITING, null, null);
+
+        thread.transitionTo(TERMINATED);
+        thread.checkThreadState(TERMINATED);
+
+        try {
+            thread.join();
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+            System.out.println("TEST FAILED: Unexpected exception.");
+            throw new RuntimeException(e);
+        }
+        System.out.println("Test passed.");
+    }
+
+    private static void checkSuspendedThreadState(ThreadStateController t, Thread.State state) {
+        ThreadInfo info = getThreadInfo(t, state);
+        if (info == null) {
+            throw new RuntimeException(t.getName() +
+               " expected to have ThreadInfo " +
+               " but got null.");
+        }
+
+        if (info.getThreadState() != state) {
+            throw new RuntimeException(t.getName() + " expected to be in " +
+                state + " state but got " + info.getThreadState());
+        }
+
+        if (!info.isSuspended()) {
+            throw new RuntimeException(t.getName() + " expected to be suspended " +
+                " but isSuspended() returns " + info.isSuspended());
+        }
+    }
+
+    private static String getLockName(Object lock) {
+        if (lock == null) return null;
+
+        return lock.getClass().getName() + '@' +
+            Integer.toHexString(System.identityHashCode(lock));
+    }
+
+    // maximum number of retries when checking for thread state.
+    private static final int MAX_RETRY = 500;
+    private static ThreadInfo getThreadInfo(ThreadStateController t, Thread.State expected) {
+        // wait for the thread to transition to the expected state.
+        // There is a small window between the thread checking the state
+        // and the thread actual entering that state.
+        int retryCount=0;
+        ThreadInfo info = tm.getThreadInfo(t.getId());
+        while (info.getThreadState() != expected && retryCount < MAX_RETRY) {
+            ThreadStateController.pause(10);
+            retryCount++;
+            info = tm.getThreadInfo(t.getId());
+        }
+        return info;
+    }
+
+    private static void checkLockInfo(ThreadStateController t, Thread.State state,
+                                      Object lock, Thread owner) {
+        ThreadInfo info = getThreadInfo(t, state);
+        if (info == null) {
+            throw new RuntimeException(t.getName() +
+               " expected to have ThreadInfo " +
+               " but got null.");
+        }
+
+        if (info.getThreadState() != state) {
+            throw new RuntimeException(t.getName() + " expected to be in " +
+                state + " state but got " + info.getThreadState());
+        }
+
+        if (lock == null && info.getLockName() != null) {
+            throw new RuntimeException(t.getName() +
+                " expected not to be blocked on any lock" +
+                " but got " + info.getLockName());
+        }
+        String expectedLockName = getLockName(lock);
+        if (lock != null && info.getLockName() == null) {
+            throw new RuntimeException(t.getName() +
+                " expected to be blocked on lock [" + expectedLockName +
+                "] but got null.");
+        }
+
+        if (lock != null && !expectedLockName.equals(info.getLockName())) {
+            throw new RuntimeException(t.getName() +
+                " expected to be blocked on lock [" + expectedLockName +
+                "] but got [" + info.getLockName() + "].");
+        }
+
+        if (owner == null && info.getLockOwnerName() != null) {
+            throw new RuntimeException("Lock owner is expected " +
+                " to be null but got " + info.getLockOwnerName());
+        }
+
+        if (owner != null && info.getLockOwnerName() == null) {
+            throw new RuntimeException("Lock owner is expected to be " +
+                owner.getName() +
+                " but got null.");
+        }
+        if (owner != null && !info.getLockOwnerName().equals(owner.getName())) {
+            throw new RuntimeException("Lock owner is expected to be " +
+                owner.getName() +
+                " but got " + owner.getName());
+        }
+        if (owner == null && info.getLockOwnerId() != -1) {
+            throw new RuntimeException("Lock owner is expected " +
+                " to be -1 but got " + info.getLockOwnerId());
+        }
+
+        if (owner != null && info.getLockOwnerId() <= 0) {
+            throw new RuntimeException("Lock owner is expected to be " +
+                owner.getName() + "(id = " + owner.getId() +
+                ") but got " + info.getLockOwnerId());
+        }
+        if (owner != null && info.getLockOwnerId() != owner.getId()) {
+            throw new RuntimeException("Lock owner is expected to be " +
+                owner.getName() + "(id = " + owner.getId() +
+                ") but got " + info.getLockOwnerId());
+        }
+        if (info.isSuspended()) {
+            throw new RuntimeException(t.getName() +
+                " isSuspended() returns " + info.isSuspended());
+        }
+    }
+}
diff --git a/jdk/test/java/lang/management/ThreadMXBean/ThreadStateTest.java b/jdk/test/java/lang/management/ThreadMXBean/ThreadStateTest.java
deleted file mode 100644
index 1b767e4..0000000
--- a/jdk/test/java/lang/management/ThreadMXBean/ThreadStateTest.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
- * 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     4967283 5080203
- * @summary Basic unit test of thread states returned by
- *          ThreadMXBean.getThreadInfo.getThreadState().
- *          It also tests lock information returned by ThreadInfo.
- *
- * @author  Mandy Chung
- *
- * @build ThreadExecutionSynchronizer Utils
- * @run main ThreadStateTest
- */
-
-import java.lang.management.ManagementFactory;
-import java.lang.management.ThreadMXBean;
-import java.lang.management.ThreadInfo;
-
-import java.util.concurrent.locks.LockSupport;
-
-public class ThreadStateTest {
-    private static final ThreadMXBean tm = ManagementFactory.getThreadMXBean();
-
-    static class Lock {
-        private String name;
-        Lock(String name) {
-            this.name = name;
-        }
-        public String toString() {
-            return name;
-        }
-    }
-    private static Lock globalLock = new Lock("my lock");
-
-    public static void main(String[] argv) {
-        // Force thread state initialization now before the test
-        // verification begins.
-        Thread.currentThread().getState();
-
-        MyThread myThread = new MyThread("MyThread");
-
-        // before myThread starts
-        // Utils.checkThreadState(myThread, Thread.State.NEW);
-
-        myThread.start();
-        myThread.waitUntilStarted();
-        Utils.checkThreadState(myThread, Thread.State.RUNNABLE);
-        checkLockInfo(myThread, Thread.State.RUNNABLE, null, null);
-
-        myThread.suspend();
-        Utils.goSleep(10);
-        checkSuspendedThreadState(myThread, Thread.State.RUNNABLE);
-        myThread.resume();
-
-        synchronized (globalLock) {
-            myThread.goBlocked();
-            Utils.checkThreadState(myThread, Thread.State.BLOCKED);
-            checkLockInfo(myThread, Thread.State.BLOCKED,
-                          globalLock, Thread.currentThread());
-        }
-
-        myThread.goWaiting();
-        Utils.checkThreadState(myThread, Thread.State.WAITING);
-        checkLockInfo(myThread, Thread.State.WAITING,
-                      globalLock, null);
-
-        myThread.goTimedWaiting();
-        Utils.checkThreadState(myThread, Thread.State.TIMED_WAITING);
-        checkLockInfo(myThread, Thread.State.TIMED_WAITING,
-                      globalLock, null);
-
-
-
-      /*
-       *********** parkUntil seems not working
-       * ignore this park case for now.
-
-         Bug ID : 5062095
-       ***********************************************
-        myThread.goParked();
-        Utils.checkThreadState(myThread, Thread.State.WAITING);
-        checkLockInfo(myThread, Thread.State.WAITING, null, null);
-
-        myThread.goTimedParked();
-        Utils.checkThreadState(myThread, Thread.State.TIMED_WAITING);
-        checkLockInfo(myThread, Thread.State.TIMED_WAITING, null, null);
-
-       */
-
-        myThread.goSleeping();
-        Utils.checkThreadState(myThread, Thread.State.TIMED_WAITING);
-        checkLockInfo(myThread, Thread.State.TIMED_WAITING, null, null);
-
-
-        myThread.terminate();
-        // Utils.checkThreadState(myThread, ThreadState.TERMINATED);
-
-        try {
-            myThread.join();
-        } catch (InterruptedException e) {
-            e.printStackTrace();
-            System.out.println("TEST FAILED: Unexpected exception.");
-            throw new RuntimeException(e);
-        }
-        System.out.println("Test passed.");
-    }
-
-    private static void checkSuspendedThreadState(Thread t, Thread.State state) {
-        ThreadInfo info = tm.getThreadInfo(t.getId());
-        if (info == null) {
-            throw new RuntimeException(t.getName() +
-               " expected to have ThreadInfo " +
-               " but got null.");
-        }
-
-        if (info.getThreadState() != state) {
-            throw new RuntimeException(t.getName() + " expected to be in " +
-                state + " state but got " + info.getThreadState());
-        }
-
-        if (!info.isSuspended()) {
-            throw new RuntimeException(t.getName() + " expected to be suspended " +
-                " but isSuspended() returns " + info.isSuspended());
-        }
-        Utils.checkThreadState(t, state);
-    }
-
-    private static String getLockName(Object lock) {
-        if (lock == null) return null;
-
-        return lock.getClass().getName() + '@' +
-            Integer.toHexString(System.identityHashCode(lock));
-    }
-
-    private static void checkLockInfo(Thread t, Thread.State state, Object lock, Thread owner) {
-        ThreadInfo info = tm.getThreadInfo(t.getId());
-        if (info == null) {
-            throw new RuntimeException(t.getName() +
-               " expected to have ThreadInfo " +
-               " but got null.");
-        }
-
-        if (info.getThreadState() != state) {
-            throw new RuntimeException(t.getName() + " expected to be in " +
-                state + " state but got " + info.getThreadState());
-        }
-
-        if (lock == null && info.getLockName() != null) {
-            throw new RuntimeException(t.getName() +
-                " expected not to be blocked on any lock" +
-                " but got " + info.getLockName());
-        }
-        String expectedLockName = getLockName(lock);
-        if (lock != null && info.getLockName() == null) {
-            throw new RuntimeException(t.getName() +
-                " expected to be blocked on lock [" + expectedLockName +
-                "] but got null.");
-        }
-
-        if (lock != null && !expectedLockName.equals(info.getLockName())) {
-            throw new RuntimeException(t.getName() +
-                " expected to be blocked on lock [" + expectedLockName +
-                "] but got [" + info.getLockName() + "].");
-        }
-
-        if (owner == null && info.getLockOwnerName() != null) {
-            throw new RuntimeException("Lock owner is expected " +
-                " to be null but got " + info.getLockOwnerName());
-        }
-
-        if (owner != null && info.getLockOwnerName() == null) {
-            throw new RuntimeException("Lock owner is expected to be " +
-                owner.getName() +
-                " but got null.");
-        }
-        if (owner != null && !info.getLockOwnerName().equals(owner.getName())) {
-            throw new RuntimeException("Lock owner is expected to be " +
-                owner.getName() +
-                " but got " + owner.getName());
-        }
-        if (owner == null && info.getLockOwnerId() != -1) {
-            throw new RuntimeException("Lock owner is expected " +
-                " to be -1 but got " + info.getLockOwnerId());
-        }
-
-        if (owner != null && info.getLockOwnerId() <= 0) {
-            throw new RuntimeException("Lock owner is expected to be " +
-                owner.getName() + "(id = " + owner.getId() +
-                ") but got " + info.getLockOwnerId());
-        }
-        if (owner != null && info.getLockOwnerId() != owner.getId()) {
-            throw new RuntimeException("Lock owner is expected to be " +
-                owner.getName() + "(id = " + owner.getId() +
-                ") but got " + info.getLockOwnerId());
-        }
-        if (info.isSuspended()) {
-            throw new RuntimeException(t.getName() +
-                " isSuspended() returns " + info.isSuspended());
-        }
-    }
-
-    static class MyThread extends Thread {
-        private ThreadExecutionSynchronizer thrsync = new ThreadExecutionSynchronizer();
-
-        MyThread(String name) {
-            super(name);
-        }
-
-        private final int RUNNABLE = 0;
-        private final int BLOCKED = 1;
-        private final int WAITING = 2;
-        private final int TIMED_WAITING = 3;
-        private final int PARKED = 4;
-        private final int TIMED_PARKED = 5;
-        private final int SLEEPING = 6;
-        private final int TERMINATE = 7;
-        private int state = RUNNABLE;
-
-        private boolean done = false;
-        public void run() {
-            // Signal main thread to continue.
-            thrsync.signal();
-            while (!done) {
-                switch (state) {
-                    case RUNNABLE: {
-                        double sum = 0;
-                        for (int i = 0; i < 1000; i++) {
-                           double r = Math.random();
-                           double x = Math.pow(3, r);
-                           sum += x - r;
-                        }
-                        break;
-                    }
-                    case BLOCKED: {
-                        // signal main thread.
-                        thrsync.signal();
-                        System.out.println("  myThread is going to block.");
-                        synchronized (globalLock) {
-                            // finish blocking
-                            state = RUNNABLE;
-                        }
-                        break;
-                    }
-                    case WAITING: {
-                        synchronized (globalLock) {
-                            // signal main thread.
-                            thrsync.signal();
-                            System.out.println("  myThread is going to wait.");
-                            try {
-                                globalLock.wait();
-                            } catch (InterruptedException e) {
-                                // ignore
-                            }
-                        }
-                        break;
-                    }
-                    case TIMED_WAITING: {
-                        synchronized (globalLock) {
-                            // signal main thread.
-                            thrsync.signal();
-                            System.out.println("  myThread is going to timed wait.");
-                            try {
-                                globalLock.wait(10000);
-                            } catch (InterruptedException e) {
-                                // ignore
-                            }
-                        }
-                        break;
-                    }
-                    case PARKED: {
-                        // signal main thread.
-                        thrsync.signal();
-                        System.out.println("  myThread is going to park.");
-                        LockSupport.park();
-                        // give a chance for the main thread to block
-                        System.out.println("  myThread is going to park.");
-                        Utils.goSleep(10);
-                        break;
-                    }
-                    case TIMED_PARKED: {
-                        // signal main thread.
-                        thrsync.signal();
-                        System.out.println("  myThread is going to timed park.");
-                        long deadline = System.currentTimeMillis() + 10000*1000;
-                        LockSupport.parkUntil(deadline);
-
-                        // give a chance for the main thread to block
-                        Utils.goSleep(10);
-                        break;
-                    }
-                    case SLEEPING: {
-                        // signal main thread.
-                        thrsync.signal();
-                        System.out.println("  myThread is going to sleep.");
-                        try {
-                            Thread.sleep(1000000);
-                        } catch (InterruptedException e) {
-                            // finish sleeping
-                            interrupted();
-                        }
-                        break;
-                    }
-                    case TERMINATE: {
-                        done = true;
-                        // signal main thread.
-                        thrsync.signal();
-                        break;
-                    }
-                    default:
-                        break;
-                }
-            }
-        }
-        public void waitUntilStarted() {
-            // wait for MyThread.
-            thrsync.waitForSignal();
-            Utils.goSleep(10);
-        }
-
-        public void goBlocked() {
-            System.out.println("Waiting myThread to go blocked.");
-            setState(BLOCKED);
-            // wait for MyThread to get blocked
-            thrsync.waitForSignal();
-            Utils.goSleep(20);
-        }
-
-        public void goWaiting() {
-            System.out.println("Waiting myThread to go waiting.");
-            setState(WAITING);
-            // wait for  MyThread to wait on object.
-            thrsync.waitForSignal();
-            Utils.goSleep(20);
-        }
-        public void goTimedWaiting() {
-            System.out.println("Waiting myThread to go timed waiting.");
-            setState(TIMED_WAITING);
-            // wait for MyThread timed wait call.
-            thrsync.waitForSignal();
-            Utils.goSleep(20);
-        }
-        public void goParked() {
-            System.out.println("Waiting myThread to go parked.");
-            setState(PARKED);
-            // wait for  MyThread state change to PARKED.
-            thrsync.waitForSignal();
-            Utils.goSleep(20);
-        }
-        public void goTimedParked() {
-            System.out.println("Waiting myThread to go timed parked.");
-            setState(TIMED_PARKED);
-            // wait for  MyThread.
-            thrsync.waitForSignal();
-            Utils.goSleep(20);
-        }
-
-        public void goSleeping() {
-            System.out.println("Waiting myThread to go sleeping.");
-            setState(SLEEPING);
-            // wait for  MyThread.
-            thrsync.waitForSignal();
-            Utils.goSleep(20);
-        }
-        public void terminate() {
-            System.out.println("Waiting myThread to terminate.");
-            setState(TERMINATE);
-            // wait for  MyThread.
-            thrsync.waitForSignal();
-            Utils.goSleep(20);
-        }
-
-        private void setState(int newState) {
-            switch (state) {
-                case BLOCKED:
-                    while (state == BLOCKED) {
-                        Utils.goSleep(20);
-                    }
-                    state = newState;
-                    break;
-                case WAITING:
-                case TIMED_WAITING:
-                    state = newState;
-                    synchronized (globalLock) {
-                        globalLock.notify();
-                    }
-                    break;
-                case PARKED:
-                case TIMED_PARKED:
-                    state = newState;
-                    LockSupport.unpark(this);
-                    break;
-                case SLEEPING:
-                    state = newState;
-                    this.interrupt();
-                    break;
-                default:
-                    state = newState;
-                    break;
-            }
-        }
-    }
-}
diff --git a/jdk/test/java/lang/ref/FinalizeOverride.java b/jdk/test/java/lang/ref/FinalizeOverride.java
new file mode 100644
index 0000000..eeb86fe
--- /dev/null
+++ b/jdk/test/java/lang/ref/FinalizeOverride.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.ByteArrayOutputStream;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/* @test
+ * @bug 8027351
+ * @summary Basic test of the finalize method
+ */
+
+public class FinalizeOverride {
+    // finalizedCount is incremented when the finalize method is invoked
+    private static AtomicInteger finalizedCount = new AtomicInteger();
+
+    // finalizedSum and privateFinalizedInvoke are used to verify
+    // the right overrided finalize method is invoked
+    private static AtomicInteger finalizedSum = new AtomicInteger();
+    private static volatile boolean privateFinalizeInvoked = false;
+
+    public static void main(String[] argvs) throws IOException {
+        patchPrivateFinalize();
+
+        test(new Base(10), 10);
+        test(new Subclass(20), 0);
+        test(new SubSubclass(30), 30);
+        test(new PublicFinalize(40), 40*100+40);
+        test(new PrivateFinalize(50), 50);
+        test(new NoOverride(60), 60);
+    }
+
+    static void test(Object o, int expected) {
+        int count = finalizedCount.get();
+        int sum = finalizedSum.get();
+        privateFinalizeInvoked = false;
+
+        // force GC and finalization
+        o = null;
+        while (finalizedCount.get() != (count+1)) {
+            System.gc();
+            System.runFinalization();
+        }
+
+        if (privateFinalizeInvoked) {
+            throw new RuntimeException("private finalize method invoked");
+        }
+        if (finalizedCount.get() != (count+1)) {
+            throw new RuntimeException("Unexpected count=" + finalizedCount +
+                " expected=" + (count+1));
+        }
+        if (finalizedSum.get() != (sum+expected)) {
+            throw new RuntimeException("Unexpected sum=" + finalizedSum +
+                " prev=" + sum + " value=" + expected);
+        }
+    }
+
+    static void patchPrivateFinalize() throws IOException {
+        // patch the private f_nal_ze method name to "finalize"
+        String testClasses = System.getProperty("test.classes", ".");
+        Path p = Paths.get(testClasses, "FinalizeOverride$PrivateFinalize.class");
+        byte[] bytes = Files.readAllBytes(p);
+        int len = "f_nal_ze".length();
+        for (int i=0; i < bytes.length-len; i++) {
+            if (bytes[i] == 'f' &&
+                bytes[i+1] == '_' &&
+                bytes[i+2] == 'n' &&
+                bytes[i+3] == 'a' &&
+                bytes[i+4] == 'l' &&
+                bytes[i+5] == '_' &&
+                bytes[i+6] == 'z' &&
+                bytes[i+7] == 'e')
+            {
+                // s%_%i%
+                bytes[i+1] = 'i';
+                bytes[i+5] = 'i';
+                break;
+            }
+        }
+        Files.write(p, bytes);
+    }
+
+    static class Base {
+        protected int value;
+        Base(int v) {
+            this.value = v;
+        }
+        int called() {
+            finalizedSum.addAndGet(value);
+            return value;
+        }
+        protected void finalize() {
+            System.out.println("Base.finalize() sum += " + called());
+            finalizedCount.incrementAndGet();
+        }
+    }
+    static class PublicFinalize extends Base {
+        PublicFinalize(int v) {
+            super(v);
+        }
+        public void finalize() {
+            finalizedSum.addAndGet(value * 100);
+            System.out.println("PublicFinalize.finalize() sum += " + called() +
+                "+"+value+"*100");
+            finalizedCount.incrementAndGet();
+        }
+    }
+    static class Subclass extends Base {
+        Subclass(int v) {
+            super(v);
+        }
+        protected void finalize() {
+            // no value added to sum
+            System.out.println("Subclass.finalize() sum += 0");
+            finalizedCount.incrementAndGet();
+        }
+    }
+    static class SubSubclass extends Subclass {
+        SubSubclass(int v) {
+            super(v);
+        }
+        protected final void finalize() {
+            finalizedSum.addAndGet(value);
+            System.out.println("SubSubclass.finalize() sum +=" +value);
+            finalizedCount.incrementAndGet();
+        }
+    }
+    static class PrivateFinalize extends Base {
+        PrivateFinalize(int v) {
+            super(v);
+        }
+        private void f_nal_ze() {
+            // finalization catches any exception
+            System.out.println("Error: private finalize invoked!!");
+            privateFinalizeInvoked = true;
+            finalizedCount.incrementAndGet();
+        }
+    }
+    static class NoOverride extends PrivateFinalize {
+        NoOverride(int v) {
+            super(v);
+        }
+    }
+}
diff --git a/jdk/test/java/lang/ref/ReferenceEnqueuePending.java b/jdk/test/java/lang/ref/ReferenceEnqueuePending.java
index 0e8868f..58ceab6 100644
--- a/jdk/test/java/lang/ref/ReferenceEnqueuePending.java
+++ b/jdk/test/java/lang/ref/ReferenceEnqueuePending.java
@@ -1,4 +1,5 @@
-/* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/java/lang/reflect/Method/DefaultMethodModeling.java b/jdk/test/java/lang/reflect/Method/defaultMethodModeling/DefaultMethodModeling.java
similarity index 100%
rename from jdk/test/java/lang/reflect/Method/DefaultMethodModeling.java
rename to jdk/test/java/lang/reflect/Method/defaultMethodModeling/DefaultMethodModeling.java
diff --git a/jdk/test/java/lang/reflect/Parameter/GetAnnotatedTypeTest.java b/jdk/test/java/lang/reflect/Parameter/GetAnnotatedTypeTest.java
index 2fcf0b8..5a24287 100644
--- a/jdk/test/java/lang/reflect/Parameter/GetAnnotatedTypeTest.java
+++ b/jdk/test/java/lang/reflect/Parameter/GetAnnotatedTypeTest.java
@@ -23,6 +23,7 @@
 
 /*
  * @test
+ * @bug 8021398
  * @compile -parameters GetAnnotatedTypeTest.java
  * @run main GetAnnotatedTypeTest
  * @summary javac should generate method parameters correctly.
diff --git a/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java b/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java
index 4c39a60..5ddc07e 100644
--- a/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java
+++ b/jdk/test/java/math/BigInteger/ExtremeShiftingTests.java
@@ -25,6 +25,7 @@
  * @test
  * @bug 6371401
  * @summary Tests of shiftLeft and shiftRight on Integer.MIN_VALUE
+ * @run main/othervm -Xmx512m ExtremeShiftingTests
  * @author Joseph D. Darcy
  */
 import java.math.BigInteger;
diff --git a/jdk/test/java/net/MulticastSocket/TestInterfaces.java b/jdk/test/java/net/MulticastSocket/TestInterfaces.java
index 3883ad6..283cf18 100644
--- a/jdk/test/java/net/MulticastSocket/TestInterfaces.java
+++ b/jdk/test/java/net/MulticastSocket/TestInterfaces.java
@@ -33,6 +33,8 @@
 
 public class TestInterfaces {
 
+    static final boolean isWindows = System.getProperty("os.name").startsWith("Windows");
+
     public static void main(String args[]) throws Exception {
         int failures = 0;
 
@@ -85,6 +87,10 @@
                 continue;
             }
 
+            // JDK-8022963, Skip (Windows) Teredo Tunneling seudo-Interface
+            if (isWindows && ni.getDisplayName().contains("Teredo"))
+                continue;
+
             NetworkInterface curr = soc.getNetworkInterface();
             if (!curr.equals(ni)) {
                 System.err.println("MulticastSocket.getNetworkInterface returned: " + curr);
diff --git a/jdk/test/java/net/NetworkInterface/Equals.java b/jdk/test/java/net/NetworkInterface/Equals.java
index 1c33ee8..cbf0518 100644
--- a/jdk/test/java/net/NetworkInterface/Equals.java
+++ b/jdk/test/java/net/NetworkInterface/Equals.java
@@ -38,6 +38,8 @@
 
 public class Equals {
 
+    static final boolean isWindows = System.getProperty("os.name").startsWith("Windows");
+
     public static void main(String args[]) throws Exception {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         PrintStream bufferedOut = new PrintStream(baos);
@@ -59,6 +61,11 @@
         Enumeration<NetworkInterface> nifs2 = NetworkInterface.getNetworkInterfaces();
         while (nifs2.hasMoreElements()) {
             NetworkInterface ni = nifs2.nextElement();
+
+            // JDK-8022963, Skip (Windows)Teredo Tunneling seudo-Interface
+            if (isWindows && ni.getDisplayName().contains("Teredo"))
+                continue;
+
             NetworkInterface niOrig = nicMap.get(ni.getName());
 
             int h = ni.hashCode();
diff --git a/jdk/test/java/net/URLClassLoader/closetest/CloseTest.java b/jdk/test/java/net/URLClassLoader/closetest/CloseTest.java
index 598b1e6..a141627 100644
--- a/jdk/test/java/net/URLClassLoader/closetest/CloseTest.java
+++ b/jdk/test/java/net/URLClassLoader/closetest/CloseTest.java
@@ -25,7 +25,8 @@
  * @test
  * @bug 4167874
  * @library ../../../../com/sun/net/httpserver
- * @build FileServerHandler
+ * @library /lib/testlibrary
+ * @build FileServerHandler jdk.testlibrary.FileUtils
  * @run shell build.sh
  * @run main/othervm CloseTest
  * @summary URL-downloaded jar files can consume all available file descriptors
diff --git a/jdk/test/java/net/URLClassLoader/closetest/Common.java b/jdk/test/java/net/URLClassLoader/closetest/Common.java
index 69332ac..fc06fb3 100644
--- a/jdk/test/java/net/URLClassLoader/closetest/Common.java
+++ b/jdk/test/java/net/URLClassLoader/closetest/Common.java
@@ -23,6 +23,9 @@
 
 import java.io.*;
 import java.net.*;
+import java.nio.file.Files;
+import jdk.testlibrary.FileUtils;
+import static java.nio.file.StandardCopyOption.*;
 
 public class Common {
 
@@ -39,42 +42,16 @@
             if (!src.isFile()) {
                 throw new RuntimeException ("File not found: " + src.toString());
             }
-            dst.delete();
-            dst.createNewFile();
-            FileInputStream i = new FileInputStream (src);
-            FileOutputStream o = new FileOutputStream (dst);
-            byte[] buf = new byte [1024];
-            int count;
-            while ((count=i.read(buf)) >= 0) {
-                o.write (buf, 0, count);
-            }
-            i.close();
-            o.close();
+            Files.copy(src.toPath(), dst.toPath(), REPLACE_EXISTING);
         } catch (IOException e) {
             throw new RuntimeException (e);
         }
     }
 
-    static void rm_minus_rf (File path) {
-        if (!path.exists()) {
+    static void rm_minus_rf (File path) throws IOException, InterruptedException {
+        if (!path.exists())
             return;
-        }
-        if (path.isFile()) {
-            if (!path.delete()) {
-                throw new RuntimeException ("Could not delete " + path);
-            }
-        } else if (path.isDirectory ()) {
-            String[] names = path.list();
-            File[] files = path.listFiles();
-            for (int i=0; i<files.length; i++) {
-                rm_minus_rf (new File(path, names[i]));
-            }
-            if (!path.delete()) {
-                throw new RuntimeException ("Could not delete " + path);
-            }
-        } else {
-            throw new RuntimeException ("Trying to delete something that isn't a file or a directory");
-        }
+        FileUtils.deleteFileTreeWithRetry(path.toPath());
     }
 
     static void copyDir (File src, File dst) {
diff --git a/jdk/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java b/jdk/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java
index d927b01..54e5170 100644
--- a/jdk/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java
+++ b/jdk/test/java/net/URLClassLoader/closetest/GetResourceAsStream.java
@@ -24,6 +24,8 @@
 /**
  * @test
  * @bug 6899919
+ * @library /lib/testlibrary
+ * @build jdk.testlibrary.FileUtils
  * @run shell build2.sh
  * @run main/othervm GetResourceAsStream
  */
diff --git a/jdk/test/java/net/URLClassLoader/closetest/build.sh b/jdk/test/java/net/URLClassLoader/closetest/build.sh
index 651c8a4..4fe159b 100644
--- a/jdk/test/java/net/URLClassLoader/closetest/build.sh
+++ b/jdk/test/java/net/URLClassLoader/closetest/build.sh
@@ -1,25 +1,25 @@
 #!/bin/sh
 # 
 # Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
-#  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 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 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).
+# 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.
+# 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.
+# 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.
 # 
 #
 #
diff --git a/jdk/test/java/net/URLPermission/URLPermissionTest.java b/jdk/test/java/net/URLPermission/URLPermissionTest.java
index 3bf862b..7e55a63 100644
--- a/jdk/test/java/net/URLPermission/URLPermissionTest.java
+++ b/jdk/test/java/net/URLPermission/URLPermissionTest.java
@@ -26,7 +26,7 @@
 
 /**
  * @test
- * @bug 8010464 8027570
+ * @bug 8010464 8027570 8027687
  */
 
 public class URLPermissionTest {
@@ -186,6 +186,14 @@
         imtest("http:*", "https://www.foo.com/a/b/c", false),
         imtest("http:*", "http://www.foo.com/a/b/c", true),
         imtest("http:*", "http://foo/bar", true),
+        imtest("http://WWW.foO.cOM/a/b/*", "http://wwW.foo.com/a/b/c", true),
+        imtest("http://wWw.fOo.cOm/a/b/*", "http://Www.foo.com/a/b/*", true),
+        imtest("http://www.FOO.com/", "http://www.foo.COM/", true),
+        imtest("http://66ww-w.F-O012O.com/", "http://66ww-w.f-o012o.COM/",true),
+        imtest("http://xn--ire-9la.com/", "http://xn--ire-9la.COM/", true),
+        imtest("http://x/", "http://X/", true),
+        imtest("http://x/", "http://x/", true),
+        imtest("http://X/", "http://X/", true),
         imtest("http://foo/bar", "https://foo/bar", false)
     };
 
@@ -194,9 +202,12 @@
     static Test[] exceptionTests = {
         extest("http://1.2.3.4.5/a/b/c"),
         extest("http://www.*.com"),
-        //extest("http://www.foo.com:1-X"),
         extest("http://[foo.com]:99"),
         extest("http://[fec0::X]:99"),
+        extest("http:\\www.foo.com"),
+        extest("http://w_09ww.foo.com"),
+        extest("http://w&09ww.foo.com/p"),
+        extest("http://www+foo.com"),
         extest("http:")
     };
 
diff --git a/jdk/test/java/net/URLPermission/nstest/LookupTest.java b/jdk/test/java/net/URLPermission/nstest/LookupTest.java
index 5b76357..5730921 100644
--- a/jdk/test/java/net/URLPermission/nstest/LookupTest.java
+++ b/jdk/test/java/net/URLPermission/nstest/LookupTest.java
@@ -21,12 +21,6 @@
  * questions.
  */
 
-/* @test
- * @compile -XDignore.symbol.file=true SimpleNameService.java
- *                                     SimpleNameServiceDescriptor.java
- * @run main/othervm/timeout=200 -Dsun.net.spi.nameservice.provider.1=simple,sun LookupTest
- */
-
 /**
  * This is a simple smoke test of the HttpURLPermission mechanism, which
  * checks for either IOException (due to unknown host) or SecurityException
@@ -35,6 +29,7 @@
 
 import java.net.*;
 import java.io.*;
+import jdk.testlibrary.Utils;
 
 public class LookupTest {
 
@@ -48,12 +43,12 @@
             InputStream is = urlc.getInputStream();
         } catch (SecurityException e) {
             if (!throwsSecException) {
-                throw new RuntimeException ("(1) was not expecting " + e);
+                throw new RuntimeException ("(1) was not expecting ", e);
             }
             return;
         } catch (IOException ioe) {
             if (!throwsIOException) {
-                throw new RuntimeException ("(2) was not expecting " + ioe);
+                throw new RuntimeException ("(2) was not expecting ", ioe);
             }
             return;
         }
@@ -64,31 +59,41 @@
         }
     }
 
+    static int port;
+    static ServerSocket serverSocket;
+
     public static void main(String args[]) throws Exception {
-        SimpleNameService.put("allowedAndFound.com", "127.0.0.1");
-        SimpleNameService.put("notAllowedButFound.com", "99.99.99.99");
-        // name "notAllowedAndNotFound.com" is not in map
-        // name "allowedButNotfound.com" is not in map
-        startServer();
+        String cmd = args[0];
+        if (cmd.equals("-getport")) {
+            port = Utils.getFreePort();
+            System.out.print(port);
+        } else if (cmd.equals("-runtest")) {
+            port = Integer.parseInt(args[1]);
+            SimpleNameService.put("allowedAndFound.com", "127.0.0.1");
+            SimpleNameService.put("notAllowedButFound.com", "99.99.99.99");
+            // name "notAllowedAndNotFound.com" is not in map
+            // name "allowedButNotfound.com" is not in map
+            try {
+                startServer();
 
-        String policyFileName = "file://" + System.getProperty("test.src", ".") + "/policy";
-        System.err.println ("policy = " + policyFileName);
+                System.setSecurityManager(new SecurityManager());
 
-        System.setProperty("java.security.policy", policyFileName);
+                test("http://allowedAndFound.com:" + port + "/foo", false, false);
 
-        System.setSecurityManager(new SecurityManager());
+                test("http://notAllowedButFound.com:" + port + "/foo", true, false);
 
-        test("http://allowedAndFound.com:50100/foo", false, false);
+                test("http://allowedButNotfound.com:" + port + "/foo", false, true);
 
-        test("http://notAllowedButFound.com:50100/foo", true, false);
-
-        test("http://allowedButNotfound.com:50100/foo", false, true);
-
-        test("http://notAllowedAndNotFound.com:50100/foo", true, false);
+                test("http://notAllowedAndNotFound.com:" + port + "/foo", true, false);
+            } finally {
+                serverSocket.close();
+            }
+        } else {
+            throw new RuntimeException("Bad invocation: " + cmd);
+        }
     }
 
     static Thread server;
-    static ServerSocket serverSocket;
 
     static class Server extends Thread {
         public void run() {
@@ -112,11 +117,11 @@
 
     static void startServer() {
         try {
-            serverSocket = new ServerSocket(50100);
+            serverSocket = new ServerSocket(port);
             server = new Server();
             server.start();
         } catch (Exception e) {
-            throw new RuntimeException ("Test failed to initialize");
+            throw new RuntimeException ("Test failed to initialize", e);
         }
     }
 }
diff --git a/jdk/test/java/net/URLPermission/nstest/lookup.sh b/jdk/test/java/net/URLPermission/nstest/lookup.sh
new file mode 100644
index 0000000..89cfd10
--- /dev/null
+++ b/jdk/test/java/net/URLPermission/nstest/lookup.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+#
+# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# 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
+# @library /lib/testlibrary
+# @compile -XDignore.symbol.file=true SimpleNameService.java
+#            LookupTest.java SimpleNameServiceDescriptor.java
+# @run shell/timeout=50 lookup.sh
+#
+
+OS=`uname -s`
+case ${OS} in
+Windows_* | CYGWIN*)
+    PS=";"
+    FS="\\"
+    ;;
+*)
+    PS=":"
+    FS="/"
+    ;;
+esac
+
+
+port=`${TESTJAVA}/bin/java -cp ${TESTCLASSES} LookupTest -getport`
+
+cat << POLICY > policy
+grant {
+    permission java.net.URLPermission "http://allowedAndFound.com:${port}/-", "*:*";
+    permission java.net.URLPermission "http://allowedButNotfound.com:${port}/-", "*:*";
+    permission java.io.FilePermission "<<ALL FILES>>", "read,write,delete";
+    permission java.util.PropertyPermission "java.io.tmpdir", "read";
+
+    // needed for HttpServer
+    permission "java.net.SocketPermission" "localhost:1024-", "resolve,accept";
+};
+POLICY
+
+${TESTJAVA}/bin/java -Djava.security.policy=file:./policy -Dsun.net.spi.nameservice.provider.1=simple,sun -cp ${TESTCLASSES}${PS}${TESTSRC} LookupTest -runtest ${port}
diff --git a/jdk/test/java/net/URLPermission/nstest/policy b/jdk/test/java/net/URLPermission/nstest/policy
deleted file mode 100644
index 967af68..0000000
--- a/jdk/test/java/net/URLPermission/nstest/policy
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
-// 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.
-//
-
-grant {
-    permission java.net.URLPermission "http://allowedAndFound.com:50100/-", "*:*";
-    permission java.net.URLPermission "http://allowedButNotfound.com:50100/-", "*:*";
-
-    // needed for HttpServer
-    permission "java.net.SocketPermission" "localhost:1024-", "resolve,accept";
-};
-
-// Normal permissions that aren't granted when run under jtreg
-
-grant codeBase "file:${{java.ext.dirs}}/*" {
-        permission java.security.AllPermission;
-};
-
-grant codeBase "file:${{java.home}}/jre/lib/rt.jar" {
-        permission java.security.AllPermission;
-};
-
diff --git a/jdk/test/java/net/ipv6tests/BadIPv6Addresses.java b/jdk/test/java/net/ipv6tests/BadIPv6Addresses.java
index 5f98cf7..15ad86b 100644
--- a/jdk/test/java/net/ipv6tests/BadIPv6Addresses.java
+++ b/jdk/test/java/net/ipv6tests/BadIPv6Addresses.java
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 4742177
+ * @bug 4742177 8019834
  * @summary Re-test IPv6 (and specifically MulticastSocket) with latest Linux & USAGI code
  */
 import java.net.*;
diff --git a/jdk/test/java/nio/file/Files/CheckPermissions.java b/jdk/test/java/nio/file/Files/CheckPermissions.java
index 6ac66be..200aae7 100644
--- a/jdk/test/java/nio/file/Files/CheckPermissions.java
+++ b/jdk/test/java/nio/file/Files/CheckPermissions.java
@@ -22,7 +22,7 @@
  */
 
 /* @test
- * @bug 6866804 7006126
+ * @bug 6866804 7006126 8028270
  * @summary Unit test for java.nio.file.Files
  * @library ..
  * @build CheckPermissions
@@ -73,14 +73,9 @@
         myChecks.set(new Checks());
     }
 
-    static void assertCheckPermission(Class<? extends Permission> type,
-                                      String name)
-    {
-        for (Permission perm: myChecks.get().permissionsChecked()) {
-            if (type.isInstance(perm) && perm.getName().equals(name))
-                return;
-        }
-        throw new RuntimeException(type.getName() + "(\"" + name + "\") not checked");
+    static void assertCheckPermission(Permission expected) {
+        if (!myChecks.get().permissionsChecked().contains(expected))
+          throw new RuntimeException(expected + " not checked");
     }
 
     static void assertCheckPropertyAccess(String key) {
@@ -191,22 +186,22 @@
         prepare();
         PosixFileAttributes attrs = view.readAttributes();
         assertCheckRead(file);
-        assertCheckPermission(RuntimePermission.class, "accessUserInformation");
+        assertCheckPermission(new RuntimePermission("accessUserInformation"));
 
         prepare();
         view.setPermissions(attrs.permissions());
         assertCheckWrite(file);
-        assertCheckPermission(RuntimePermission.class, "accessUserInformation");
+        assertCheckPermission(new RuntimePermission("accessUserInformation"));
 
         prepare();
         view.setOwner(attrs.owner());
         assertCheckWrite(file);
-        assertCheckPermission(RuntimePermission.class, "accessUserInformation");
+        assertCheckPermission(new RuntimePermission("accessUserInformation"));
 
         prepare();
         view.setOwner(attrs.owner());
         assertCheckWrite(file);
-        assertCheckPermission(RuntimePermission.class, "accessUserInformation");
+        assertCheckPermission(new RuntimePermission("accessUserInformation"));
     }
 
     public static void main(String[] args) throws IOException {
@@ -256,10 +251,14 @@
                     try {
                         assertCheckRead(link);
                         assertCheckWrite(target);
-                        assertCheckPermission(LinkPermission.class, "symbolic");
+                        assertCheckPermission(new LinkPermission("symbolic"));
                     } finally {
                         delete(target);
                     }
+
+                    prepare();
+                    readSymbolicLink(link);
+                    assertCheckPermission(new FilePermission(link.toString(), "readlink"));
                 } finally {
                     delete(link);
                 }
@@ -295,7 +294,7 @@
                 createSymbolicLink(link, file);
                 try {
                     assertCheckWrite(link);
-                    assertCheckPermission(LinkPermission.class, "symbolic");
+                    assertCheckPermission(new LinkPermission("symbolic"));
                 } finally {
                     delete(link);
                 }
@@ -309,7 +308,7 @@
                 createLink(link, file);
                 try {
                     assertCheckWrite(link);
-                    assertCheckPermission(LinkPermission.class, "hard");
+                    assertCheckPermission(new LinkPermission("hard"));
                 } finally {
                     delete(link);
                 }
@@ -382,7 +381,7 @@
             prepare();
             getFileStore(file);
             assertCheckRead(file);
-            assertCheckPermission(RuntimePermission.class, "getFileStoreAttributes");
+            assertCheckPermission(new RuntimePermission("getFileStoreAttributes"));
 
             // -- isSameFile --
 
@@ -620,12 +619,12 @@
                     prepare();
                     UserPrincipal owner = view.getOwner();
                     assertCheckRead(file);
-                    assertCheckPermission(RuntimePermission.class, "accessUserInformation");
+                    assertCheckPermission(new RuntimePermission("accessUserInformation"));
 
                     prepare();
                     view.setOwner(owner);
                     assertCheckWrite(file);
-                    assertCheckPermission(RuntimePermission.class, "accessUserInformation");
+                    assertCheckPermission(new RuntimePermission("accessUserInformation"));
 
                 } else {
                     System.out.println("FileOwnerAttributeView not tested");
@@ -643,32 +642,27 @@
                     prepare();
                     view.write("test", ByteBuffer.wrap(new byte[100]));
                     assertCheckWrite(file);
-                    assertCheckPermission(RuntimePermission.class,
-                                               "accessUserDefinedAttributes");
+                    assertCheckPermission(new RuntimePermission("accessUserDefinedAttributes"));
 
                     prepare();
                     view.read("test", ByteBuffer.allocate(100));
                     assertCheckRead(file);
-                    assertCheckPermission(RuntimePermission.class,
-                                               "accessUserDefinedAttributes");
+                    assertCheckPermission(new RuntimePermission("accessUserDefinedAttributes"));
 
                     prepare();
                     view.size("test");
                     assertCheckRead(file);
-                    assertCheckPermission(RuntimePermission.class,
-                                               "accessUserDefinedAttributes");
+                    assertCheckPermission(new RuntimePermission("accessUserDefinedAttributes"));
 
                     prepare();
                     view.list();
                     assertCheckRead(file);
-                    assertCheckPermission(RuntimePermission.class,
-                                               "accessUserDefinedAttributes");
+                    assertCheckPermission(new RuntimePermission("accessUserDefinedAttributes"));
 
                     prepare();
                     view.delete("test");
                     assertCheckWrite(file);
-                    assertCheckPermission(RuntimePermission.class,
-                                               "accessUserDefinedAttributes");
+                    assertCheckPermission(new RuntimePermission("accessUserDefinedAttributes"));
                 } else {
                     System.out.println("UserDefinedFileAttributeView not tested");
                 }
@@ -684,11 +678,11 @@
                     prepare();
                     List<AclEntry> acl = view.getAcl();
                     assertCheckRead(file);
-                    assertCheckPermission(RuntimePermission.class, "accessUserInformation");
+                    assertCheckPermission(new RuntimePermission("accessUserInformation"));
                     prepare();
                     view.setAcl(acl);
                     assertCheckWrite(file);
-                    assertCheckPermission(RuntimePermission.class, "accessUserInformation");
+                    assertCheckPermission(new RuntimePermission("accessUserInformation"));
                 } else {
                     System.out.println("AclFileAttributeView not tested");
                 }
@@ -702,15 +696,13 @@
 
             prepare();
             lookupService.lookupPrincipalByName(owner.getName());
-            assertCheckPermission(RuntimePermission.class,
-                                       "lookupUserInformation");
+            assertCheckPermission(new RuntimePermission("lookupUserInformation"));
 
             try {
                 UserPrincipal group = readAttributes(file, PosixFileAttributes.class).group();
                 prepare();
                 lookupService.lookupPrincipalByGroupName(group.getName());
-                assertCheckPermission(RuntimePermission.class,
-                                           "lookupUserInformation");
+                assertCheckPermission(new RuntimePermission("lookupUserInformation"));
             } catch (UnsupportedOperationException ignore) {
                 System.out.println("lookupPrincipalByGroupName not tested");
             }
diff --git a/jdk/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh b/jdk/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh
index 1db7bf0..66016e2 100644
--- a/jdk/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh
+++ b/jdk/test/java/security/cert/CertPathBuilder/selfIssued/generate.sh
@@ -4,9 +4,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh b/jdk/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh
index 1db7bf0..66016e2 100644
--- a/jdk/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh
+++ b/jdk/test/java/security/cert/CertPathValidator/indirectCRL/generate.sh
@@ -4,9 +4,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh b/jdk/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh
index 2cc3666..6704f75 100644
--- a/jdk/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh
+++ b/jdk/test/java/security/cert/CertPathValidator/nameConstraints/generate.sh
@@ -4,9 +4,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/security/cert/CertificateRevokedException/Basic.java b/jdk/test/java/security/cert/CertificateRevokedException/Basic.java
index 95bf592..cdb4c87 100644
--- a/jdk/test/java/security/cert/CertificateRevokedException/Basic.java
+++ b/jdk/test/java/security/cert/CertificateRevokedException/Basic.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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 4946388
diff --git a/jdk/test/java/util/Base64/TestBase64.java b/jdk/test/java/util/Base64/TestBase64.java
index 6202356..9f7babe 100644
--- a/jdk/test/java/util/Base64/TestBase64.java
+++ b/jdk/test/java/util/Base64/TestBase64.java
@@ -23,7 +23,7 @@
 
 /**
  * @test 4235519 8004212 8005394 8007298 8006295 8006315 8006530 8007379 8008925
- *       8014217 8025003
+ *       8014217 8025003 8026330
  * @summary tests java.util.Base64
  */
 
@@ -47,12 +47,9 @@
             numBytes = Integer.parseInt(args[1]);
         }
 
-        test(Base64.getEncoder(),     Base64.getDecoder(),
-             numRuns, numBytes);
-        test(Base64.getUrlEncoder(),  Base64.getUrlDecoder(),
-             numRuns, numBytes);
-        test(Base64.getMimeEncoder(), Base64.getMimeDecoder(),
-             numRuns, numBytes);
+        test(Base64.getEncoder(), Base64.getDecoder(), numRuns, numBytes);
+        test(Base64.getUrlEncoder(), Base64.getUrlDecoder(), numRuns, numBytes);
+        test(Base64.getMimeEncoder(), Base64.getMimeDecoder(), numRuns, numBytes);
 
         Random rnd = new java.util.Random();
         byte[] nl_1 = new byte[] {'\n'};
@@ -142,165 +139,175 @@
         enc.encode(new byte[0]);
         dec.decode(new byte[0]);
 
-        for (int i=0; i<numRuns; i++) {
-            for (int j=1; j<numBytes; j++) {
-                byte[] orig = new byte[j];
-                rnd.nextBytes(orig);
+        for (boolean withoutPadding : new boolean[] { false, true}) {
+            if (withoutPadding) {
+                 enc = enc.withoutPadding();
+            }
+            for (int i=0; i<numRuns; i++) {
+                for (int j=1; j<numBytes; j++) {
+                    byte[] orig = new byte[j];
+                    rnd.nextBytes(orig);
 
-                // --------testing encode/decode(byte[])--------
-                byte[] encoded = enc.encode(orig);
-                byte[] decoded = dec.decode(encoded);
+                    // --------testing encode/decode(byte[])--------
+                    byte[] encoded = enc.encode(orig);
+                    byte[] decoded = dec.decode(encoded);
 
-                checkEqual(orig, decoded,
-                           "Base64 array encoding/decoding failed!");
-
-                // compare to sun.misc.BASE64Encoder
-                byte[] encoded2 = sunmisc.encode(orig).getBytes("ASCII");
-                checkEqual(normalize(encoded),
-                           normalize(encoded2),
-                           "Base64 enc.encode() does not match sun.misc.base64!");
-
-                // remove padding '=' to test non-padding decoding case
-                if (encoded[encoded.length -2] == '=')
-                    encoded2 = Arrays.copyOf(encoded,  encoded.length -2);
-                else if (encoded[encoded.length -1] == '=')
-                    encoded2 = Arrays.copyOf(encoded, encoded.length -1);
-                else
-                    encoded2 = null;
-
-                // --------testing encodetoString(byte[])/decode(String)--------
-                String str = enc.encodeToString(orig);
-                if (!Arrays.equals(str.getBytes("ASCII"), encoded)) {
-                    throw new RuntimeException(
-                        "Base64 encodingToString() failed!");
-                }
-                byte[] buf = dec.decode(new String(encoded, "ASCII"));
-                checkEqual(buf, orig, "Base64 decoding(String) failed!");
-
-                if (encoded2 != null) {
-                    buf = dec.decode(new String(encoded2, "ASCII"));
-                    checkEqual(buf, orig, "Base64 decoding(String) failed!");
-                }
-
-                //-------- testing encode/decode(Buffer)--------
-                testEncode(enc, ByteBuffer.wrap(orig), encoded);
-                ByteBuffer bin = ByteBuffer.allocateDirect(orig.length);
-                bin.put(orig).flip();
-                testEncode(enc, bin, encoded);
-
-                testDecode(dec, ByteBuffer.wrap(encoded), orig);
-                bin = ByteBuffer.allocateDirect(encoded.length);
-                bin.put(encoded).flip();
-                testDecode(dec, bin, orig);
-
-                if (encoded2 != null)
-                    testDecode(dec, ByteBuffer.wrap(encoded2), orig);
-
-                // -------- testing encode(Buffer, Buffer)--------
-                testEncode(enc, encoded,
-                           ByteBuffer.wrap(orig),
-                           ByteBuffer.allocate(encoded.length + 10));
-
-                testEncode(enc, encoded,
-                           ByteBuffer.wrap(orig),
-                           ByteBuffer.allocateDirect(encoded.length + 10));
-
-                // --------testing decode(Buffer, Buffer);--------
-                testDecode(dec, orig,
-                           ByteBuffer.wrap(encoded),
-                           ByteBuffer.allocate(orig.length + 10));
-
-                testDecode(dec, orig,
-                           ByteBuffer.wrap(encoded),
-                           ByteBuffer.allocateDirect(orig.length + 10));
-
-                // --------testing decode.wrap(input stream)--------
-                // 1) random buf length
-                ByteArrayInputStream bais = new ByteArrayInputStream(encoded);
-                InputStream is = dec.wrap(bais);
-                buf = new byte[orig.length + 10];
-                int len = orig.length;
-                int off = 0;
-                while (true) {
-                    int n = rnd.nextInt(len);
-                    if (n == 0)
-                        n = 1;
-                    n = is.read(buf, off, n);
-                    if (n == -1) {
-                        checkEqual(off, orig.length,
-                                   "Base64 stream decoding failed");
-                        break;
+                    checkEqual(orig, decoded,
+                               "Base64 array encoding/decoding failed!");
+                    if (withoutPadding) {
+                        if (encoded[encoded.length - 1] == '=')
+                            throw new RuntimeException(
+                               "Base64 enc.encode().withoutPadding() has padding!");
                     }
-                    off += n;
-                    len -= n;
-                    if (len == 0)
-                        break;
+                    // compare to sun.misc.BASE64Encoder
+
+                    byte[] encoded2 = sunmisc.encode(orig).getBytes("ASCII");
+                    if (!withoutPadding) {    // don't test for withoutPadding()
+                        checkEqual(normalize(encoded), normalize(encoded2),
+                                   "Base64 enc.encode() does not match sun.misc.base64!");
+                    }
+                    // remove padding '=' to test non-padding decoding case
+                    if (encoded[encoded.length -2] == '=')
+                        encoded2 = Arrays.copyOf(encoded,  encoded.length -2);
+                    else if (encoded[encoded.length -1] == '=')
+                        encoded2 = Arrays.copyOf(encoded, encoded.length -1);
+                    else
+                        encoded2 = null;
+
+                    // --------testing encodetoString(byte[])/decode(String)--------
+                    String str = enc.encodeToString(orig);
+                    if (!Arrays.equals(str.getBytes("ASCII"), encoded)) {
+                        throw new RuntimeException(
+                            "Base64 encodingToString() failed!");
+                    }
+                    byte[] buf = dec.decode(new String(encoded, "ASCII"));
+                    checkEqual(buf, orig, "Base64 decoding(String) failed!");
+
+                    if (encoded2 != null) {
+                        buf = dec.decode(new String(encoded2, "ASCII"));
+                        checkEqual(buf, orig, "Base64 decoding(String) failed!");
+                    }
+
+                    //-------- testing encode/decode(Buffer)--------
+                    testEncode(enc, ByteBuffer.wrap(orig), encoded);
+                    ByteBuffer bin = ByteBuffer.allocateDirect(orig.length);
+                    bin.put(orig).flip();
+                    testEncode(enc, bin, encoded);
+
+                    testDecode(dec, ByteBuffer.wrap(encoded), orig);
+                    bin = ByteBuffer.allocateDirect(encoded.length);
+                    bin.put(encoded).flip();
+                    testDecode(dec, bin, orig);
+
+                    if (encoded2 != null)
+                        testDecode(dec, ByteBuffer.wrap(encoded2), orig);
+
+                    // -------- testing encode(Buffer, Buffer)--------
+                    testEncode(enc, encoded,
+                               ByteBuffer.wrap(orig),
+                               ByteBuffer.allocate(encoded.length + 10));
+
+                    testEncode(enc, encoded,
+                               ByteBuffer.wrap(orig),
+                               ByteBuffer.allocateDirect(encoded.length + 10));
+
+                    // --------testing decode(Buffer, Buffer);--------
+                    testDecode(dec, orig,
+                               ByteBuffer.wrap(encoded),
+                               ByteBuffer.allocate(orig.length + 10));
+
+                    testDecode(dec, orig,
+                               ByteBuffer.wrap(encoded),
+                               ByteBuffer.allocateDirect(orig.length + 10));
+
+                    // --------testing decode.wrap(input stream)--------
+                    // 1) random buf length
+                    ByteArrayInputStream bais = new ByteArrayInputStream(encoded);
+                    InputStream is = dec.wrap(bais);
+                    buf = new byte[orig.length + 10];
+                    int len = orig.length;
+                    int off = 0;
+                    while (true) {
+                        int n = rnd.nextInt(len);
+                        if (n == 0)
+                            n = 1;
+                        n = is.read(buf, off, n);
+                        if (n == -1) {
+                            checkEqual(off, orig.length,
+                                       "Base64 stream decoding failed");
+                            break;
+                        }
+                        off += n;
+                        len -= n;
+                        if (len == 0)
+                            break;
+                    }
+                    buf = Arrays.copyOf(buf, off);
+                    checkEqual(buf, orig, "Base64 stream decoding failed!");
+
+                    // 2) read one byte each
+                    bais.reset();
+                    is = dec.wrap(bais);
+                    buf = new byte[orig.length + 10];
+                    off = 0;
+                    int b;
+                    while ((b = is.read()) != -1) {
+                        buf[off++] = (byte)b;
+                    }
+                    buf = Arrays.copyOf(buf, off);
+                    checkEqual(buf, orig, "Base64 stream decoding failed!");
+
+                    // --------testing encode.wrap(output stream)--------
+                    ByteArrayOutputStream baos = new ByteArrayOutputStream((orig.length + 2) / 3 * 4 + 10);
+                    OutputStream os = enc.wrap(baos);
+                    off = 0;
+                    len = orig.length;
+                    for (int k = 0; k < 5; k++) {
+                        if (len == 0)
+                            break;
+                        int n = rnd.nextInt(len);
+                        if (n == 0)
+                            n = 1;
+                        os.write(orig, off, n);
+                        off += n;
+                        len -= n;
+                    }
+                    if (len != 0)
+                        os.write(orig, off, len);
+                    os.close();
+                    buf = baos.toByteArray();
+                    checkEqual(buf, encoded, "Base64 stream encoding failed!");
+
+                    // 2) write one byte each
+                    baos.reset();
+                    os = enc.wrap(baos);
+                    off = 0;
+                    while (off < orig.length) {
+                        os.write(orig[off++]);
+                    }
+                    os.close();
+                    buf = baos.toByteArray();
+                    checkEqual(buf, encoded, "Base64 stream encoding failed!");
+
+                    // --------testing encode(in, out); -> bigger buf--------
+                    buf = new byte[encoded.length + rnd.nextInt(100)];
+                    int ret = enc.encode(orig, buf);
+                    checkEqual(ret, encoded.length,
+                               "Base64 enc.encode(src, null) returns wrong size!");
+                    buf = Arrays.copyOf(buf, ret);
+                    checkEqual(buf, encoded,
+                               "Base64 enc.encode(src, dst) failed!");
+
+                    // --------testing decode(in, out); -> bigger buf--------
+                    buf = new byte[orig.length + rnd.nextInt(100)];
+                    ret = dec.decode(encoded, buf);
+                    checkEqual(ret, orig.length,
+                              "Base64 enc.encode(src, null) returns wrong size!");
+                    buf = Arrays.copyOf(buf, ret);
+                    checkEqual(buf, orig,
+                               "Base64 dec.decode(src, dst) failed!");
+
                 }
-                buf = Arrays.copyOf(buf, off);
-                checkEqual(buf, orig, "Base64 stream decoding failed!");
-
-                // 2) read one byte each
-                bais.reset();
-                is = dec.wrap(bais);
-                buf = new byte[orig.length + 10];
-                off = 0;
-                int b;
-                while ((b = is.read()) != -1) {
-                    buf[off++] = (byte)b;
-                }
-                buf = Arrays.copyOf(buf, off);
-                checkEqual(buf, orig, "Base64 stream decoding failed!");
-
-                // --------testing encode.wrap(output stream)--------
-                ByteArrayOutputStream baos = new ByteArrayOutputStream((orig.length + 2) / 3 * 4 + 10);
-                OutputStream os = enc.wrap(baos);
-                off = 0;
-                len = orig.length;
-                for (int k = 0; k < 5; k++) {
-                    if (len == 0)
-                        break;
-                    int n = rnd.nextInt(len);
-                    if (n == 0)
-                        n = 1;
-                    os.write(orig, off, n);
-                    off += n;
-                    len -= n;
-                }
-                if (len != 0)
-                    os.write(orig, off, len);
-                os.close();
-                buf = baos.toByteArray();
-                checkEqual(buf, encoded, "Base64 stream encoding failed!");
-
-                // 2) write one byte each
-                baos.reset();
-                os = enc.wrap(baos);
-                off = 0;
-                while (off < orig.length) {
-                    os.write(orig[off++]);
-                }
-                os.close();
-                buf = baos.toByteArray();
-                checkEqual(buf, encoded, "Base64 stream encoding failed!");
-
-                // --------testing encode(in, out); -> bigger buf--------
-                buf = new byte[encoded.length + rnd.nextInt(100)];
-                int ret = enc.encode(orig, buf);
-                checkEqual(ret, encoded.length,
-                           "Base64 enc.encode(src, null) returns wrong size!");
-                buf = Arrays.copyOf(buf, ret);
-                checkEqual(buf, encoded,
-                           "Base64 enc.encode(src, dst) failed!");
-
-                // --------testing decode(in, out); -> bigger buf--------
-                buf = new byte[orig.length + rnd.nextInt(100)];
-                ret = dec.decode(encoded, buf);
-                checkEqual(ret, orig.length,
-                          "Base64 enc.encode(src, null) returns wrong size!");
-                buf = Arrays.copyOf(buf, ret);
-                checkEqual(buf, orig,
-                           "Base64 dec.decode(src, dst) failed!");
-
             }
         }
     }
diff --git a/jdk/test/java/util/Calendar/CldrFormatNamesTest.java b/jdk/test/java/util/Calendar/CldrFormatNamesTest.java
index 8536072..d5e3951 100644
--- a/jdk/test/java/util/Calendar/CldrFormatNamesTest.java
+++ b/jdk/test/java/util/Calendar/CldrFormatNamesTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/Calendar/GenericTimeZoneNamesTest.sh b/jdk/test/java/util/Calendar/GenericTimeZoneNamesTest.sh
index a549189..ab3f498 100644
--- a/jdk/test/java/util/Calendar/GenericTimeZoneNamesTest.sh
+++ b/jdk/test/java/util/Calendar/GenericTimeZoneNamesTest.sh
@@ -35,12 +35,12 @@
 # TODO: The purpose of ja-JP is to make sure the fallback for generic
 # names works. Remove ja-JP when adding generic names to localized
 # resources.
-if ! ${TESTJAVA}/bin/java -esa -cp "${TESTCLASSES}" GenericTimeZoneNamesTest en-US ja-JP; then
+if ! ${TESTJAVA}/bin/java -esa ${TESTVMOPTS} -cp "${TESTCLASSES}" GenericTimeZoneNamesTest en-US ja-JP; then
     STATUS=1
 fi
 
 echo "Locale providers: CLDR"
-if ! ${TESTJAVA}/bin/java -esa -cp "${TESTCLASSES}" -Djava.locale.providers=CLDR GenericTimeZoneNamesTest en-US; then
+if ! ${TESTJAVA}/bin/java -esa ${TESTVMOPTS} -cp "${TESTCLASSES}" -Djava.locale.providers=CLDR GenericTimeZoneNamesTest en-US; then
    STATUS=1
 fi
 exit ${STATUS}
diff --git a/jdk/test/java/util/Calendar/NarrowNamesTest.sh b/jdk/test/java/util/Calendar/NarrowNamesTest.sh
index 742e35a..15d1d70 100644
--- a/jdk/test/java/util/Calendar/NarrowNamesTest.sh
+++ b/jdk/test/java/util/Calendar/NarrowNamesTest.sh
@@ -34,7 +34,7 @@
 for P in "JRE,SPI" "CLDR"
 do
     echo "Locale providers: $P"
-    if ! ${TESTJAVA}/bin/java -esa -cp "${TESTCLASSES}" -Djava.locale.providers="${P}" NarrowNamesTest; then
+    if ! ${TESTJAVA}/bin/java -esa ${TESTVMOPTS} -cp "${TESTCLASSES}" -Djava.locale.providers="${P}" NarrowNamesTest; then
         STATUS=1
     fi
 done
diff --git a/jdk/test/java/util/Locale/LocaleEnhanceTest.java b/jdk/test/java/util/Locale/LocaleEnhanceTest.java
index 22e4e5b..01b6c5e 100644
--- a/jdk/test/java/util/Locale/LocaleEnhanceTest.java
+++ b/jdk/test/java/util/Locale/LocaleEnhanceTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/Locale/LocaleTestFmwk.java b/jdk/test/java/util/Locale/LocaleTestFmwk.java
index a8d24ff..29cce4f 100644
--- a/jdk/test/java/util/Locale/LocaleTestFmwk.java
+++ b/jdk/test/java/util/Locale/LocaleTestFmwk.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/Locale/tools/EquivMapsGenerator.java b/jdk/test/java/util/Locale/tools/EquivMapsGenerator.java
index e08e131..bb8294a 100644
--- a/jdk/test/java/util/Locale/tools/EquivMapsGenerator.java
+++ b/jdk/test/java/util/Locale/tools/EquivMapsGenerator.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/ResourceBundle/ResourceBundleTest.java b/jdk/test/java/util/ResourceBundle/ResourceBundleTest.java
index 47cc199..215d92a 100644
--- a/jdk/test/java/util/ResourceBundle/ResourceBundleTest.java
+++ b/jdk/test/java/util/ResourceBundle/ResourceBundleTest.java
@@ -22,7 +22,7 @@
  */
 /*
     @test
-    @bug 4049325 4073127 4083270 4106034 4108126
+    @bug 4049325 4073127 4083270 4106034 4108126 8027930
     @summary test Resource Bundle
     @build TestResource TestResource_de TestResource_fr TestResource_fr_CH
     @build TestResource_it FakeTestResource
@@ -63,6 +63,7 @@
 
 import java.text.*;
 import java.util.*;
+import java.util.ResourceBundle.Control;
 import java.io.*;
 
 public class ResourceBundleTest extends RBTestFmwk {
@@ -134,7 +135,8 @@
         // load up the resource and check to make sure we got the right class
         // (we don't define be_BY or be, so we fall back on the root default)
         ResourceBundle  bundle = ResourceBundle.getBundle("TestResource",
-                            new Locale("be", "BY"));
+                            new Locale("be", "BY"),
+                            Control.getNoFallbackControl(Control.FORMAT_DEFAULT));
         if (!bundle.getClass().getName().equals("TestResource"))
             errln("Expected TestResource, got " + bundle.getClass().getName());
 
@@ -268,7 +270,8 @@
         // try to find TestResource_iw_IL, which doesn't exist.  Should get root locale
         // as its locale
         test = ResourceBundle.getBundle("TestResource",
-                        new Locale("iw", "IL", ""));
+                        new Locale("iw", "IL", ""),
+                        Control.getNoFallbackControl(Control.FORMAT_DEFAULT));
         locale = test.getLocale();
         if (!(locale.getLanguage().equals("")) || !(locale.getCountry().equals("")))
             errln("Actual locale for TestResource_iw_IL should have been the root locale, got "
diff --git a/jdk/test/java/util/ResourceBundle/getBaseBundleName/TestGetBaseBundleName.java b/jdk/test/java/util/ResourceBundle/getBaseBundleName/TestGetBaseBundleName.java
index aca4017..ae59518 100644
--- a/jdk/test/java/util/ResourceBundle/getBaseBundleName/TestGetBaseBundleName.java
+++ b/jdk/test/java/util/ResourceBundle/getBaseBundleName/TestGetBaseBundleName.java
@@ -29,7 +29,7 @@
 
 /**
  * @test
- * @bug 4814565
+ * @bug 4814565 8027930
  * @summary tests ResourceBundle.getBaseBundleName();
  * @build TestGetBaseBundleName resources.ListBundle resources.ListBundle_fr
  * @run main TestGetBaseBundleName
@@ -52,18 +52,20 @@
                     PROPERTY_BUNDLE_NAME,
                     LIST_BUNDLE_NAME
         }) {
-            ResourceBundle bundle = ResourceBundle.getBundle(baseName);
-            System.out.println(getBaseName(bundle));
-            if (!Locale.ROOT.equals(bundle.getLocale())) {
-                throw new RuntimeException("Unexpected locale: "
-                        + bundle.getLocale());
-            }
-            if (!baseName.equals(getBaseName(bundle))) {
-                throw new RuntimeException("Unexpected base name: "
-                        + getBaseName(bundle));
-            }
-            Locale.setDefault(Locale.FRENCH);
             try {
+                Locale.setDefault(Locale.US);
+                ResourceBundle bundle = ResourceBundle.getBundle(baseName);
+                System.out.println(getBaseName(bundle));
+                if (!Locale.ROOT.equals(bundle.getLocale())) {
+                    throw new RuntimeException("Unexpected locale: "
+                            + bundle.getLocale());
+                }
+                if (!baseName.equals(getBaseName(bundle))) {
+                    throw new RuntimeException("Unexpected base name: "
+                            + getBaseName(bundle));
+                }
+
+                Locale.setDefault(Locale.FRENCH);
                 ResourceBundle bundle_fr = ResourceBundle.getBundle(baseName);
                 if (!Locale.FRENCH.equals(bundle_fr.getLocale())) {
                     throw new RuntimeException("Unexpected locale: "
diff --git a/jdk/test/java/util/TimeZone/Bug6912560.java b/jdk/test/java/util/TimeZone/Bug6912560.java
index e88ffb0..b7c8921 100644
--- a/jdk/test/java/util/TimeZone/Bug6912560.java
+++ b/jdk/test/java/util/TimeZone/Bug6912560.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/TimeZone/CLDRDisplayNamesTest.java b/jdk/test/java/util/TimeZone/CLDRDisplayNamesTest.java
index 100ae8d..de1cd1d 100644
--- a/jdk/test/java/util/TimeZone/CLDRDisplayNamesTest.java
+++ b/jdk/test/java/util/TimeZone/CLDRDisplayNamesTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/TimeZone/ListTimeZones.java b/jdk/test/java/util/TimeZone/ListTimeZones.java
index 5e4c3ae..74652cd 100644
--- a/jdk/test/java/util/TimeZone/ListTimeZones.java
+++ b/jdk/test/java/util/TimeZone/ListTimeZones.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/TimeZone/OldIDMappingTest.java b/jdk/test/java/util/TimeZone/OldIDMappingTest.java
index 35e19cb..13fb606 100644
--- a/jdk/test/java/util/TimeZone/OldIDMappingTest.java
+++ b/jdk/test/java/util/TimeZone/OldIDMappingTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/TimeZone/OldIDMappingTest.sh b/jdk/test/java/util/TimeZone/OldIDMappingTest.sh
index f7d67ba..f695822 100644
--- a/jdk/test/java/util/TimeZone/OldIDMappingTest.sh
+++ b/jdk/test/java/util/TimeZone/OldIDMappingTest.sh
@@ -3,9 +3,7 @@
 #
 # 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.
+# 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
diff --git a/jdk/test/java/util/TimeZone/SetDefaultSecurityTest.java b/jdk/test/java/util/TimeZone/SetDefaultSecurityTest.java
index e749ffe..d87752a 100644
--- a/jdk/test/java/util/TimeZone/SetDefaultSecurityTest.java
+++ b/jdk/test/java/util/TimeZone/SetDefaultSecurityTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/TimeZone/TimeZoneDatePermissionCheck.java b/jdk/test/java/util/TimeZone/TimeZoneDatePermissionCheck.java
index 3e215c7..52a1bf0 100644
--- a/jdk/test/java/util/TimeZone/TimeZoneDatePermissionCheck.java
+++ b/jdk/test/java/util/TimeZone/TimeZoneDatePermissionCheck.java
@@ -5,9 +5,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/TimeZone/TzIDOldMapping.java b/jdk/test/java/util/TimeZone/TzIDOldMapping.java
index e9ea6b5..4b78131 100644
--- a/jdk/test/java/util/TimeZone/TzIDOldMapping.java
+++ b/jdk/test/java/util/TimeZone/TzIDOldMapping.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java b/jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java
index 1394a4c..47c2854 100644
--- a/jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java
+++ b/jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java
@@ -33,6 +33,7 @@
 import java.util.*;
 import java.util.concurrent.*;
 import java.util.concurrent.atomic.*;
+import java.util.concurrent.locks.ReentrantLock;
 
 public class ThrowingTasks {
     static final Random rnd = new Random();
@@ -156,6 +157,7 @@
     }
 
     static class CheckingExecutor extends ThreadPoolExecutor {
+        private final ReentrantLock lock = new ReentrantLock();
         CheckingExecutor() {
             super(10, 10,
                   1L, TimeUnit.HOURS,
@@ -163,10 +165,20 @@
                   tf);
         }
         @Override protected void beforeExecute(Thread t, Runnable r) {
-            allStarted.countDown();
-            if (allStarted.getCount() < getCorePoolSize())
+            final boolean lessThanCorePoolSize;
+            // Add a lock to sync allStarted.countDown() and
+            // allStarted.getCount() < getCorePoolSize()
+            lock.lock();
+            try {
+                allStarted.countDown();
+                lessThanCorePoolSize = allStarted.getCount() < getCorePoolSize();
+            } finally {
+                lock.unlock();
+            }
+            if (lessThanCorePoolSize) {
                 try { allContinue.await(); }
                 catch (InterruptedException x) { unexpected(x); }
+            }
             beforeExecuteCount.getAndIncrement();
             check(! isTerminated());
             ((Flaky)r).beforeExecute.run();
diff --git a/jdk/test/java/util/logging/LogManager/RootLogger/setLevel/TestRootLoggerLevel.java b/jdk/test/java/util/logging/LogManager/RootLogger/setLevel/TestRootLoggerLevel.java
index ec27241..58e812c 100644
--- a/jdk/test/java/util/logging/LogManager/RootLogger/setLevel/TestRootLoggerLevel.java
+++ b/jdk/test/java/util/logging/LogManager/RootLogger/setLevel/TestRootLoggerLevel.java
@@ -33,7 +33,7 @@
 
 /**
  * @test
- * @bug 8023163
+ * @bug 8026499
  * @summary checks that Logger.getLogger("").setLevel() is working correctly.
  * @build TestRootLoggerLevel
  * @run main/othervm -Dtest.security=on TestRootLoggerLevel
diff --git a/jdk/test/java/util/logging/TestAppletLoggerContext.java b/jdk/test/java/util/logging/TestAppletLoggerContext.java
index 3db6754..f6cd0e2 100644
--- a/jdk/test/java/util/logging/TestAppletLoggerContext.java
+++ b/jdk/test/java/util/logging/TestAppletLoggerContext.java
@@ -113,16 +113,6 @@
 
             @Override
             public Object getAppletContext() { return active ? exc : null; }
-            @Override
-            public Object get(Object o) { return exc.get(o); }
-            @Override
-            public void put(Object o, Object o1) { exc.put(o, o1); }
-            @Override
-            public void remove(Object o) { exc.remove(o); }
-            @Override
-            public boolean isDisposed() { return false; }
-            @Override
-            public boolean isMainAppContext() { return !active || exc == null; }
         }
 
         final static JavaAWTAccessStub javaAwtAccess = new JavaAWTAccessStub();
diff --git a/jdk/test/java/util/prefs/AddNodeChangeListener.java b/jdk/test/java/util/prefs/AddNodeChangeListener.java
index 761ed2b..56e6c4c 100644
--- a/jdk/test/java/util/prefs/AddNodeChangeListener.java
+++ b/jdk/test/java/util/prefs/AddNodeChangeListener.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/prefs/CheckUserPrefFirst.java b/jdk/test/java/util/prefs/CheckUserPrefFirst.java
index d0ee277..48f9c3e 100644
--- a/jdk/test/java/util/prefs/CheckUserPrefFirst.java
+++ b/jdk/test/java/util/prefs/CheckUserPrefFirst.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/prefs/CheckUserPrefLater.java b/jdk/test/java/util/prefs/CheckUserPrefLater.java
index 555a9ad..03272c7 100644
--- a/jdk/test/java/util/prefs/CheckUserPrefLater.java
+++ b/jdk/test/java/util/prefs/CheckUserPrefLater.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/regex/RegExTest.java b/jdk/test/java/util/regex/RegExTest.java
index aba74b0..da20461 100644
--- a/jdk/test/java/util/regex/RegExTest.java
+++ b/jdk/test/java/util/regex/RegExTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
@@ -33,7 +31,8 @@
  * 5013885 5003322 4988891 5098443 5110268 6173522 4829857 5027748 6376940
  * 6358731 6178785 6284152 6231989 6497148 6486934 6233084 6504326 6635133
  * 6350801 6676425 6878475 6919132 6931676 6948903 6990617 7014645 7039066
- * 7067045 7014640 7189363 8007395 8013252 8013254 8012646 8023647
+ * 7067045 7014640 7189363 8007395 8013252 8013254 8012646 8023647 6559590
+ * 8027645
  */
 
 import java.util.regex.*;
@@ -148,6 +147,7 @@
         groupCurlyNotFoundSuppTest();
         groupCurlyBackoffTest();
         patternAsPredicate();
+
         if (failure) {
             throw new
                 RuntimeException("RegExTest failed, 1st failure: " +
@@ -1776,6 +1776,7 @@
                 failCount++;
         }
         // Check the case for limit == 0, source = "";
+        // split() now returns 0-length for empty source "" see #6559590
         source = "";
         result = source.split("e", 0);
         if (result.length != 1)
@@ -1783,6 +1784,66 @@
         if (!result[0].equals(source))
             failCount++;
 
+        // Check both split() and splitAsStraem(), especially for zero-lenth
+        // input and zero-lenth match cases
+        String[][] input = new String[][] {
+            { " ",           "Abc Efg Hij" },   // normal non-zero-match
+            { " ",           " Abc Efg Hij" },  // leading empty str for non-zero-match
+            { " ",           "Abc  Efg Hij" },  // non-zero-match in the middle
+            { "(?=\\p{Lu})", "AbcEfgHij" },     // no leading empty str for zero-match
+            { "(?=\\p{Lu})", "AbcEfg" },
+            { "(?=\\p{Lu})", "Abc" },
+            { " ",           "" },              // zero-length input
+            { ".*",          "" },
+
+            // some tests from PatternStreamTest.java
+            { "4",       "awgqwefg1fefw4vssv1vvv1" },
+            { "\u00a3a", "afbfq\u00a3abgwgb\u00a3awngnwggw\u00a3a\u00a3ahjrnhneerh" },
+            { "1",       "awgqwefg1fefw4vssv1vvv1" },
+            { "1",       "a\u4ebafg1fefw\u4eba4\u9f9cvssv\u9f9c1v\u672c\u672cvv" },
+            { "\u56da",  "1\u56da23\u56da456\u56da7890" },
+            { "\u56da",  "1\u56da23\u9f9c\u672c\u672c\u56da456\u56da\u9f9c\u672c7890" },
+            { "\u56da",  "" },
+            { "[ \t,:.]","This is,testing: with\tdifferent separators." }, //multiple septs
+            { "o",       "boo:and:foo" },
+            { "o",       "booooo:and:fooooo" },
+            { "o",       "fooooo:" },
+        };
+
+        String[][] expected = new String[][] {
+            { "Abc", "Efg", "Hij" },
+            { "", "Abc", "Efg", "Hij" },
+            { "Abc", "", "Efg", "Hij" },
+            { "Abc", "Efg", "Hij" },
+            { "Abc", "Efg" },
+            { "Abc" },
+            { "" },
+            { "" },
+
+            { "awgqwefg1fefw", "vssv1vvv1" },
+            { "afbfq", "bgwgb", "wngnwggw", "", "hjrnhneerh" },
+            { "awgqwefg", "fefw4vssv", "vvv" },
+            { "a\u4ebafg", "fefw\u4eba4\u9f9cvssv\u9f9c", "v\u672c\u672cvv" },
+            { "1", "23", "456", "7890" },
+            { "1", "23\u9f9c\u672c\u672c", "456", "\u9f9c\u672c7890" },
+            { "" },
+            { "This", "is", "testing", "", "with", "different", "separators" },
+            { "b", "", ":and:f" },
+            { "b", "", "", "", "", ":and:f" },
+            { "f", "", "", "", "", ":" },
+        };
+        for (int i = 0; i < input.length; i++) {
+            pattern = Pattern.compile(input[i][0]);
+            if (!Arrays.equals(pattern.split(input[i][1]), expected[i])) {
+                failCount++;
+            }
+            if (input[i][1].length() > 0 &&  // splitAsStream() return empty resulting
+                                             // array for zero-length input for now
+                !Arrays.equals(pattern.splitAsStream(input[i][1]).toArray(),
+                               expected[i])) {
+                failCount++;
+            }
+        }
         report("Split");
     }
 
diff --git a/jdk/test/java/util/spi/ResourceBundleControlProvider/providersrc/UserControlProvider.java b/jdk/test/java/util/spi/ResourceBundleControlProvider/providersrc/UserControlProvider.java
index 519e873..5145bf6 100644
--- a/jdk/test/java/util/spi/ResourceBundleControlProvider/providersrc/UserControlProvider.java
+++ b/jdk/test/java/util/spi/ResourceBundleControlProvider/providersrc/UserControlProvider.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/SerializedLambdaTest.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/SerializedLambdaTest.java
index 8f01dad..fdbd689 100644
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/SerializedLambdaTest.java
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/lang/invoke/SerializedLambdaTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -56,14 +56,18 @@
  */
 @Test
 public class SerializedLambdaTest {
+    public static final int REPS = 50;
+
     @SuppressWarnings("unchecked")
     private<T> void assertSerial(T p, Consumer<T> asserter) throws IOException, ClassNotFoundException {
         asserter.accept(p);
 
-        byte[] bytes = serialize(p);
-        assertTrue(bytes.length > 0);
+        for (int i=0; i<REPS; i++) {
+            byte[] bytes = serialize(p);
+            assertTrue(bytes.length > 0);
 
-        asserter.accept((T) deserialize(bytes));
+            asserter.accept((T) deserialize(bytes));
+        }
     }
 
     private void assertNotSerial(Predicate<String> p, Consumer<Predicate<String>> asserter)
diff --git a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java
index 7d26925..69432cf 100644
--- a/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java
+++ b/jdk/test/java/util/stream/test/org/openjdk/tests/java/util/stream/DistinctOpTest.java
@@ -54,10 +54,14 @@
         // These tests should short-circuit, otherwise will fail with a time-out
         // or an OOME
 
-        Integer one = Stream.iterate(1, i -> i + 1).unordered().parallel().distinct().findAny().get();
-        assertEquals(one.intValue(), 1);
+        // Note that since the streams are unordered and any element is requested
+        // (a non-deterministic process) the only assertion that can be made is
+        // that an element should be found
 
-        Optional<Integer> oi = ThreadLocalRandom.current().ints().boxed().parallel().distinct().findAny();
+        Optional<Integer> oi = Stream.iterate(1, i -> i + 1).unordered().parallel().distinct().findAny();
+        assertTrue(oi.isPresent());
+
+        oi = ThreadLocalRandom.current().ints().boxed().parallel().distinct().findAny();
         assertTrue(oi.isPresent());
     }
 
diff --git a/jdk/test/java/util/zip/LargeZip.java b/jdk/test/java/util/zip/LargeZip.java
index 81262e9..a84d3e4 100644
--- a/jdk/test/java/util/zip/LargeZip.java
+++ b/jdk/test/java/util/zip/LargeZip.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/java/util/zip/TotalInOut.java b/jdk/test/java/util/zip/TotalInOut.java
index 8e6a1e8..e0532e2 100644
--- a/jdk/test/java/util/zip/TotalInOut.java
+++ b/jdk/test/java/util/zip/TotalInOut.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/imageio/plugins/gif/GifTransparencyTest.java b/jdk/test/javax/imageio/plugins/gif/GifTransparencyTest.java
index 4d51ef2..3d8e91b 100644
--- a/jdk/test/javax/imageio/plugins/gif/GifTransparencyTest.java
+++ b/jdk/test/javax/imageio/plugins/gif/GifTransparencyTest.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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     6276653 6287936
  *
diff --git a/jdk/test/javax/management/loading/LibraryLoader/LibraryLoaderTest.java b/jdk/test/javax/management/loading/LibraryLoader/LibraryLoaderTest.java
index 819cc9c..3930d0b 100644
--- a/jdk/test/javax/management/loading/LibraryLoader/LibraryLoaderTest.java
+++ b/jdk/test/javax/management/loading/LibraryLoader/LibraryLoaderTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013 Oracle and/or its affiliates. All rights reserved.
  * 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,7 +29,7 @@
  * @author Luis-Miguel Alventosa
  * @run clean LibraryLoaderTest
  * @run build LibraryLoaderTest
- * @run main LibraryLoaderTest
+ * @run main/othervm LibraryLoaderTest
  */
 
 import java.io.File;
@@ -48,7 +48,7 @@
         {"testDomain:type=MLet,index=1", "UseNativeLib1.html"}
     };
 
-    public static void main (String args[]) {
+    public static void main(String args[]) throws Exception {
 
         String osName = System.getProperty("os.name");
         System.out.println("os.name=" + osName);
@@ -83,83 +83,73 @@
                 "file:/" + testSrc.replace(File.separatorChar, '/') + "/";
         }
 
-        try {
-            // Create MBeanServer
+        // Create MBeanServer
+        //
+        MBeanServer server = MBeanServerFactory.newMBeanServer();
+
+        // Create MLet instances and call getRandom on the loaded MBeans
+        //
+        for (int i = 0; i < mletInfo.length; i++) {
+            // Create ObjectName for MLet
             //
-            MBeanServer server = MBeanServerFactory.newMBeanServer();
+            ObjectName mlet = new ObjectName(mletInfo[i][0]);
+            server.createMBean("javax.management.loading.MLet", mlet);
+            System.out.println("MLet = " + mlet);
 
-            // Create MLet instances and call getRandom on the loaded MBeans
+            // Display old library directory and set it to test.classes
             //
-            for (int i = 0; i < mletInfo.length; i++) {
-                // Create ObjectName for MLet
-                //
-                ObjectName mlet = new ObjectName(mletInfo[i][0]);
-                server.createMBean("javax.management.loading.MLet", mlet);
-                System.out.println("MLet = " + mlet);
+            String libraryDirectory =
+                (String) server.getAttribute(mlet, "LibraryDirectory");
+            System.out.println("Old Library Directory = " +
+                               libraryDirectory);
+            Attribute attribute =
+                new Attribute("LibraryDirectory", workingDir);
+            server.setAttribute(mlet, attribute);
+            libraryDirectory =
+                (String) server.getAttribute(mlet, "LibraryDirectory");
+            System.out.println("New Library Directory = " +
+                               libraryDirectory);
 
-                // Display old library directory and set it to test.classes
-                //
-                String libraryDirectory =
-                    (String) server.getAttribute(mlet, "LibraryDirectory");
-                System.out.println("Old Library Directory = " +
-                                   libraryDirectory);
-                Attribute attribute =
-                    new Attribute("LibraryDirectory", workingDir);
-                server.setAttribute(mlet, attribute);
-                libraryDirectory =
-                    (String) server.getAttribute(mlet, "LibraryDirectory");
-                System.out.println("New Library Directory = " +
-                                   libraryDirectory);
+            // Get MBeans from URL
+            //
+            String mletURL = urlCodebase + mletInfo[i][1];
+            System.out.println("MLet URL = " + mletURL);
+            Object[] params = new Object[] { mletURL };
+            String[] signature = new String[] {"java.lang.String"};
+            Object res[] = ((Set<?>) server.invoke(mlet,
+                                                   "getMBeansFromURL",
+                                                   params,
+                                                   signature)).toArray();
 
-                // Get MBeans from URL
+            // Iterate through all the loaded MBeans
+            //
+            for (int j = 0; j < res.length; j++) {
+                // Now ensure none of the returned objects is a Throwable
                 //
-                String mletURL = urlCodebase + mletInfo[i][1];
-                System.out.println("MLet URL = " + mletURL);
-                Object[] params = new Object[] { mletURL };
-                String[] signature = new String[] {"java.lang.String"};
-                Object res[] = ((Set) server.invoke(mlet,
-                                                    "getMBeansFromURL",
-                                                    params,
-                                                    signature)).toArray();
+                if (res[j] instanceof Throwable) {
+                    ((Throwable) res[j]).printStackTrace(System.out);
+                    throw new Exception("Failed to load the MBean #" + j
+                        ,(Throwable)res[j]);
+                }
 
-                // Iterate through all the loaded MBeans
+                // On each of the loaded MBeans, try to invoke their
+                // native operation
                 //
-                for (int j = 0; j < res.length; j++) {
-                    // Now ensure none of the returned objects is a Throwable
-                    //
-                    if (res[j] instanceof Throwable) {
-                        ((Throwable) res[j]).printStackTrace(System.out);
-                        System.out.println("Failed to load the MBean #" + j +
-                                           ". The shown Throwable was caught.");
-                        System.exit(1);
-                    }
-
-                    // On each of the loaded MBeans, try to invoke their
-                    // native operation
-                    //
-                    Object result = null;
-                    try {
-                        ObjectName mbean =
-                            ((ObjectInstance) res[j]).getObjectName();
-                        result = server.getAttribute(mbean, "Random");
-                        System.out.println("MBean #" + j + " = " + mbean);
-                        System.out.println("Random number = " + result);
-                    } catch (ReflectionException e) {
-                        e.getTargetException().printStackTrace(System.out);
-                        System.out.println("A ReflectionException, wrapping " +
-                                           "the shown exception, occured when" +
-                                           " attempting to invoke a native " +
-                                           "library based operation.");
-                        System.exit(1);
-                    }
+                Object result = null;
+                try {
+                    ObjectName mbean =
+                        ((ObjectInstance) res[j]).getObjectName();
+                    result = server.getAttribute(mbean, "Random");
+                    System.out.println("MBean #" + j + " = " + mbean);
+                    System.out.println("Random number = " + result);
+                } catch (ReflectionException e) {
+                    e.getTargetException().printStackTrace(System.out);
+                    throw new Exception ("A ReflectionException "
+                            + "occured when attempting to invoke "
+                            + "a native library based operation.",
+                            e.getTargetException());
                 }
             }
-        } catch (Exception e) {
-            e.printStackTrace(System.out);
-            System.out.println(e.getMessage());
-            System.out.println("Unexpected error");
-            System.exit(1);
         }
-        System.out.println("Bye! Bye!");
     }
 }
diff --git a/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java b/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java
index 357a0e0..453bef9 100644
--- a/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java
+++ b/jdk/test/javax/management/modelmbean/LoggingExceptionTest.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 6471865 6675768
  * @summary DescriptorSupport constructors throw IAE when traces are enabled;
diff --git a/jdk/test/javax/management/monitor/ThreadPoolAccTest.java b/jdk/test/javax/management/monitor/ThreadPoolAccTest.java
index 8b3228b..56eb0d6 100644
--- a/jdk/test/javax/management/monitor/ThreadPoolAccTest.java
+++ b/jdk/test/javax/management/monitor/ThreadPoolAccTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013 Oracle and/or its affiliates. All rights reserved.
  * 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,8 +33,8 @@
  */
 
 import java.security.AccessController;
-import java.security.Principal;
 import java.security.PrivilegedAction;
+import java.util.Date;
 import java.util.Set;
 import javax.management.MBeanServer;
 import javax.management.MBeanServerFactory;
@@ -49,8 +49,8 @@
 public class ThreadPoolAccTest {
 
     // MBean class
-    public class ObservedObject implements ObservedObjectMBean {
-        public String principal;
+    public static class ObservedObject implements ObservedObjectMBean {
+        public volatile String principal;
         public Integer getInteger() {
             setPrincipal();
             return 0;
@@ -65,8 +65,8 @@
         }
         private void setPrincipal() {
             Subject subject = Subject.getSubject(AccessController.getContext());
-            Set principals = subject.getPrincipals(JMXPrincipal.class);
-            principal = ((Principal) principals.iterator().next()).getName();
+            Set<JMXPrincipal> principals = subject.getPrincipals(JMXPrincipal.class);
+            principal = principals.iterator().next().getName();
         }
     }
 
@@ -77,10 +77,7 @@
         public String getString();
     }
 
-    /**
-     * Run test
-     */
-    public int runTest() throws Exception {
+    public static void main (String args[]) throws Exception {
 
         ObjectName[] mbeanNames = new ObjectName[6];
         ObservedObject[] monitored = new ObservedObject[6];
@@ -93,8 +90,6 @@
             echo(">>> CREATE MBeanServer");
             MBeanServer server = MBeanServerFactory.newMBeanServer();
 
-            String domain = server.getDefaultDomain();
-
             for (int i = 0; i < 6; i++) {
                 mbeanNames[i] =
                     new ObjectName(":type=ObservedObject,instance=" + i);
@@ -132,8 +127,8 @@
                 Subject subject = new Subject();
                 echo(">>> RUN Principal = " + principals[i / 3]);
                 subject.getPrincipals().add(new JMXPrincipal(principals[i / 3]));
-                PrivilegedAction action = new PrivilegedAction() {
-                    public Object run() {
+                PrivilegedAction<Void> action = new PrivilegedAction<Void>() {
+                    public Void run() {
                         m.start();
                         return null;
                     }
@@ -141,61 +136,39 @@
                 Subject.doAs(subject, action);
             }
 
-            // Wait for all tasks to be submitted
-            //
-            try {
-                Thread.sleep(2000);
-            } catch (InterruptedException e) {
-                echo("I fell asleep but someone woke me up");
-                return 1;
-            }
+            while(!testPrincipals(monitored, monitorNames, monitor, principals));
 
-            // Check if task principal is correct
-            //
-            for (int i = 0; i < 6; i++) {
-                echo(">>> Monitor = " + monitorNames[i]);
-                echo(">>> ObservedObject = " +
-                     monitor[i].getObservedObject());
-                echo(">>> ObservedAttribute = " +
-                     monitor[i].getObservedAttribute());
-                echo(">>> Principal = " + monitored[i].principal);
-                if (monitored[i].principal.equals(principals[i / 3])) {
-                    echo("\tOK: Got Expected Principal");
-                } else {
-                    echo("\tKO: Got Unexpected Principal");
-                    return 1;
-                }
-            }
         } finally {
             for (int i = 0; i < 6; i++)
                 if (monitor[i] != null)
                     monitor[i].stop();
         }
-
-        return 0;
     }
 
-    /*
-     * Print message
-     */
+    private static boolean testPrincipals(ObservedObject[] monitored, ObjectName[] monitorNames,
+            Monitor[] monitor, String[] principals) throws Exception {
+        for (int i = 0; i < 6; i++) {
+            String principal =  monitored[i].principal;
+            String expected = principals[i / 3];
+            if (principal == null) {
+                echo("Task not submitted " + new Date() + ". RETRY");
+                return false;
+            }
+            echo(">>> Monitor = " + monitorNames[i]);
+            echo(">>> ObservedObject = " + monitor[i].getObservedObject());
+            echo(">>> ObservedAttribute = " + monitor[i].getObservedAttribute());
+            echo(">>> Principal = " + principal);
+
+            if (expected.equals(principal)) {
+                echo("\tOK: Got Expected principal");
+            } else {
+                throw new Exception("Unexpected principal. Got: " + principal + " Expected: " + expected);
+            }
+        }
+        return true;
+    }
+
     private static void echo(String message) {
         System.out.println(message);
     }
-
-    /*
-     * Standalone entry point.
-     *
-     * Run the test and report to stdout.
-     */
-    public static void main (String args[]) throws Exception {
-        ThreadPoolAccTest test = new ThreadPoolAccTest();
-        int error = test.runTest();
-        if (error > 0) {
-            echo(">>> Unhappy Bye, Bye!");
-            throw new IllegalStateException(
-                "Test FAILED: Monitor task ran on wrong security context!");
-        } else {
-            echo(">>> Happy Bye, Bye!");
-        }
-    }
 }
diff --git a/jdk/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java b/jdk/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java
index 5f1584c..f5b6ec0 100644
--- a/jdk/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java
+++ b/jdk/test/javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java
@@ -1,8 +1,27 @@
 /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
+ * Copyright (c) 2008, 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.
+ *
+ * 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.Serializable;
 import java.net.Socket;
diff --git a/jdk/test/javax/print/DialogMargins.java b/jdk/test/javax/print/DialogMargins.java
index c046751..132148f 100644
--- a/jdk/test/javax/print/DialogMargins.java
+++ b/jdk/test/javax/print/DialogMargins.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/print/StreamPrintingOrientation.java b/jdk/test/javax/print/StreamPrintingOrientation.java
index 36634e7..1d16aee 100644
--- a/jdk/test/javax/print/StreamPrintingOrientation.java
+++ b/jdk/test/javax/print/StreamPrintingOrientation.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/print/applet/AppletPrintLookup.html b/jdk/test/javax/print/applet/AppletPrintLookup.html
index 1a0801b..72f9a29 100644
--- a/jdk/test/javax/print/applet/AppletPrintLookup.html
+++ b/jdk/test/javax/print/applet/AppletPrintLookup.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <head>
 <title> APL </title>
diff --git a/jdk/test/javax/sound/midi/File/SMPTESequence.java b/jdk/test/javax/sound/midi/File/SMPTESequence.java
index 729c7ec..90e92c2 100644
--- a/jdk/test/javax/sound/midi/File/SMPTESequence.java
+++ b/jdk/test/javax/sound/midi/File/SMPTESequence.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 6835393
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java
index dd447bd..295936d 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/GetFormat.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java
index 62bf367..ce25231 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatConverter/ToFloatArray.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java
index 43fc856..8a893c0 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatFormatConverter/SkipTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java
index 6b1e0ab..961f614 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Available.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java
index a7b0fd1..bc16d20 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Close.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java
index 72f5656..2e4e802 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFormat.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java
index 4eed7f5..48b2958 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/GetFrameLength.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java
index 107d06e..9107be3 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/MarkSupported.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java
index 0fdcfae..5d12fee 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Read.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java
index 941660d..7f7e4fd 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArray.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java
index bc43606..44c45f3 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/ReadFloatArrayIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java
index 877a9b3..5490466 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Reset.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java
index f0b7c0d..c57994a 100644
--- a/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java
+++ b/jdk/test/javax/sound/midi/Gervill/AudioFloatInputStream/Skip.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java
index 25cd53f..35986db 100644
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankFile.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java
index 56edf7a..1e9dc8f 100644
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java
index e2429a6..29c8a6a 100644
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankInputStream2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java
index 0ab06c9..5e256ad 100644
--- a/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java
+++ b/jdk/test/javax/sound/midi/Gervill/DLSSoundbankReader/TestGetSoundbankUrl.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java b/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java
index a87989f..47ed64b 100644
--- a/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java
+++ b/jdk/test/javax/sound/midi/Gervill/EmergencySoundbank/TestCreateSoundbank.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java
index 8351d26..be4460e 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetInputStream.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java
index 8411d1e..59c98d8 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/GetRoot.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java
index 6021b04..4616a6c 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Load.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java
index 0b96065..bc9f105 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/LoadAll.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java
index 6ebcfec..f738e11 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArray.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java
index 012a683..b28fd18 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferByteArrayIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java
index ec231f2..a97790a 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFile.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java
index 5b70b25..622e52b 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/NewModelByteBufferFileLongLong.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java
index c396c24..e205faf 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Available.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java
index 1b66019..a736c36 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Close.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java
index 6174ef7..a0db7a5 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkReset.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java
index 489f469..22c8762 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/MarkSupported.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java
index 3ccb38b..b8552db 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Read.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java
index 45354d1..4c6cbfa 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByte.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java
index d35ab30..ffcad72 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/ReadByteIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java
index 111139e..241dc2e 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/RandomFileInputStream/Skip.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java
index 3bdcb6b..f995370 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLong.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java
index 1f2e240..810f738 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLong.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java
index e4e4d24..81d5943 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/SubbufferLongLongBoolean.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java
index 0920536..c84ac8f 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/Unload.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java
index 8322e3c..b7f21de 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBuffer/WriteTo.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java
index bd15592..291d056 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetAttenuation.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java
index 3d80c81..8040209 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetChannels.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java
index c5cbab4..7b112f6 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopLength.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java
index 6396a86..b7f8b7b 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetLoopStart.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java
index 5c894d2..9a341f6 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/GetPitchCorrection.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java
index 778c65f..61ab944 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBuffer.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java
index c10f1ce..6bc66d2 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormat.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java
index c514574..93954ca 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferAudioFormatFloat.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java
index 058386e..ca296af 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/NewModelByteBufferWavetableModelByteBufferFloat.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java
index cae0499..7cc9206 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Open.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java
index d339c4c..1b20e5d 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/OpenStream.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java
index f2bbf7f..6b7bf36 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/Set8BitExtensionBuffer.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java
index d3cd04d..496b409 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelByteBufferWavetable/SetLoopType.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java
index 034f9a6..e541233 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestination.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java
index 3de59e9..3a0af9f 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/NewModelDestinationModelIdentifier.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java
index 49330cc..30172c2 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetIdentifier.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java
index d85f2b5..8105dd4 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelDestination/SetTransform.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java
index 8c4496b..81b9eff 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/EqualsObject.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java
index bc0564b..33765d3 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierString.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java
index 713ebc7..152c46d 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java
index 848da91..d297b60 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringString.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java
index 49c2cc9..5400be6 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/NewModelIdentifierStringStringInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java
index eb15aa2..a9c8937 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetInstance.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java
index 7d88fef..e06c279 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetObject.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java
index f120aa6..0871a2a 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelIdentifier/SetVariable.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java
index 6aeb50d..2923a54 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/GetOscillators.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java
index b27baa4..d3936b9 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetConnectionBlocks.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java
index 23b4543..901ba98 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetDefaultConnectionsEnabled.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java
index c00229a..85d95cb 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetExclusiveClass.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java
index edd5635..7c5e7a3 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyFrom.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java
index ff58b5a..ab3b052 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetKeyTo.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java
index ed9c451..012e8df 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetName.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java
index 590af2e..bb045a8 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetSelfNonExclusive.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java
index a5ed10b..9c86572 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelFrom.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java
index 5e60899..234c23d 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelPerformer/SetVelTo.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java
index da92d88..6c2f3b6 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSource.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java
index db44773..3287a69 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifier.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java
index dfa21f7..88e9c70 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBoolean.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java
index 6307a9b..628e0a4 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBoolean.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java
index b75bab5..9742d87 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierBooleanBooleanInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java
index 3bece32..f8c33db 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/NewModelSourceModelIdentifierModelTransform.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java
index a420238..5f1095a 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetIdentifier.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java
index 6def6a5..878ad89 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelSource/SetTransform.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java
index f48b1ea..ff058a1 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardIndexedDirector/ModelStandardIndexedDirectorTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java
index 69e03f0..16a410e 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransform.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java
index e44c49b..e77e12c 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBoolean.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java
index 5b1139e..e162c3b 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBoolean.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java
index 2cd0e95..e1ff002 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/NewModelStandardTransformBooleanBooleanInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java
index b66ca79..d3d1ca1 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetDirection.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java
index d7c5ec0..d711d98 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetPolarity.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java
index 9cc7d8a..bb7272f 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/SetTransform.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java
index 96edd8f..165dccf 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformAbsolute.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java
index a631ed7..5a4026f 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConcave.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java
index 85fab73..84da289 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformConvex.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java
index 44e6c9f..3f82bde 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformLinear.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java
index fe99055..4a24978 100644
--- a/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java
+++ b/jdk/test/javax/sound/midi/Gervill/ModelStandardTransform/TransformSwitch.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java
index 96b0416..d304baf 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Available.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java
index 2d0ff96..dff191d 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Close.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java
index bd1d3c8..11e27c1 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetFilePointer.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java
index 2b96291..117e00d 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/GetSize.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java
index be40f51..d2738d0 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/HasNextChunk.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java
index 7901f21..f69b9e7 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Read.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java
index ad53988..542d2d2 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByte.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java
index 51a8e19..1b8600d 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadByteArrayIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java
index 05f9bae..c03c8a6a 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java
index a772b48..d428726 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadLong.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java
index 4be89cb..8c7977d 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadShort.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java
index 851b315..16fcf7d 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadString.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java
index 0c678b6..220ac74 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedByte.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java
index 55ac91d..253b32a 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java
index 5197957..aadd388 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/ReadUnsignedShort.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java
index 48847a1..ef89977 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java
index 647b7bc..800190a 100644
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/WriteOutputStream.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java
index 87f95e2..12a64e6 100644
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankFile.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java
index ebd16c7..ae56ddf 100644
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java
index b886245..d7852a1 100644
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankInputStream2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java
index 28c602c..e8bfb7a 100644
--- a/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java
+++ b/jdk/test/javax/sound/midi/Gervill/SF2SoundbankReader/TestGetSoundbankUrl.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java
index d96afe3..cbe5723 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrument.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java
index 36968a8..61194cd 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java
index aec0638..0cc88da 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java
index 1c7cd09..53a852e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelInstrumentIntIntIntIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java
index ccb94aa..e06f1ca 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformer.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java
index a3b6c45..b2661eb 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArray.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java
index 11c146d..3ca5155 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java
index a71f95c..7f824b4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java
index fd3154e..5dbe2aa 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerArrayIntIntIntIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java
index 2c18e9c..e4e0e79 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java
index 5b3aa6b..6e5dc09 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java
index 4b7de75..ebbf8d7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/AddModelPerformerIntIntIntIntInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java
index 1cf77dd..9d02439 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/Clear.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java
index f3b516b..46065f9 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetName.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java
index 0369892..4ccd828 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleInstrument/SetPatch.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java
index a775bbc..8609e0b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddInstrument.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java
index f6dfcea..f704eba 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/AddResource.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java
index c5e6b2e..56058a7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/GetInstrument.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java
index 4a6644f..1f7bdef 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/RemoveInstrument.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java
index 2ad359f..cad358e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetDescription.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java
index b1ddb8c..7179f49 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetName.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java
index 3a4a18c..f703f2e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVendor.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java
index 11c9613..dac2e33 100644
--- a/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java
+++ b/jdk/test/javax/sound/midi/Gervill/SimpleSoundbank/SetVersion.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java
index 5cd7a5c..254b09c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Array.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java
index 4410758..fea3a48 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Clear.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java
index 0f4482a..fc5cc5e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/Get.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java
index e0b6334..085ed07 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioBuffer/NewSoftAudioBuffer.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java
index 4d9c0bc..69d1abf 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/DummySourceDataLine.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java
index c066f04..4dc0c3b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetFormat.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java
index aa1ea2b2..217760e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/GetPropertyInfo.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java
index 9b4bf64..1701232 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/Open.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java
index 7d9e2c5..24aad6c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftAudioSynthesizer/OpenStream.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java
index 7e656df..312d1de 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllNotesOff.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java
index 3444242..8048363 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/AllSoundOff.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java
index b9af793..c525777 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ChannelPressure.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java
index 588679a..e9d7130 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Controller.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java
index 6854663..b50da28 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/LocalControl.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java
index 54aba6e..20fadd9 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mono.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java
index badefd7..c699a03 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Mute.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java
index adb8cb9..4b74e6b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java
index 015178b..48fc37e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOff2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java
index 970c00c..3cfb55c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOn.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java
index 392dde2..78b7268 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java
index af65174..fad50bd 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/NoteOverFlowTest2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java
index 0247b6e..963dbfe 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Omni.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java
index 71d39b6..46f3e7c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PitchBend.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java
index 72c7bfa..fff782f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/PolyPressure.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java
index 68f8f19..80d0bd8 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramAndBankChange.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java
index 29f56cb..25040a5 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ProgramChange.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java
index 28071e4..b2d735f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/ResetAllControllers.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java
index 2e47379..054e2c1 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/SoftTestUtils.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java
index c3776bb..d4951fb 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftChannel/Solo.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java
index 7f34b00..42737ad 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftCubicResampler/Interpolate.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java b/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java
index 24a8600..d38686e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftFilter/TestProcessAudio.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java
index c925c8a..4b60820 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLanczosResampler/Interpolate.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java
index 499132a..341d7f3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java
index eec1f03..91f2384 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java
index 946a14c..c32d06e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_mono_overdrive.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java
index a605678..b97151e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_mix_overdrive.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java
index cc96a63..7292ddb 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java
index ad80e8e..61e2c01 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_normal_mono.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java
index 76951b7..82f8d61 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java
index 4a6646d..b3eb680 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLimiter/ProcessAudio_replace_overdrive_mono.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java
index e8b1c75..a36a0ea 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler/Interpolate.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java
index 13f84ea..3477dbc 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLinearResampler2/Interpolate.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java b/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java
index bfa907b..f445c18 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftLowFrequencyOscillator/TestProcessControlLogic.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java
index e99c613..ccd87a4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftPointResampler/Interpolate.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java b/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java
index 1203ba5..fa38b02 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftProvider/GetDevice.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java
index 9c84f91..15bb6aa 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Close.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java
index 7fe77c6..53a0a65 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/GetMidiDevice.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java
index 4d06db73..64e4e4a 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ActiveSense.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java
index c96148e..fe618e3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllNotesOff.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java
index 693522a..9d43ddf 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_AllSoundOff.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java
index 1a1b603..3b49de0 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ChannelPressure.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java
index 1d07c05..451a020 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Controller.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java
index 085dafb..52bd68d5 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Mono.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java
index 18f6cc8..f89ca35 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOff.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java
index 6599bc3..0cc746e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java
index adce7a8..4114e01 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_AllChannels.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java
index fc2cfcd..24a98da 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Delayed.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java
index 1664de6..af6b1b6 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_NoteOn_Multiple.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java
index 7cee5c3..6d905e5 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_Omni.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java
index c310111..dc49c2d 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PitchBend.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java
index 766dc28..2a7e4b7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_PolyPressure.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java
index 2bc5e60..3db7533 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ProgramChange.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java
index 8266af5..4fd3180 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/Send_ResetAllControllers.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java
index 2e47379..054e2c1 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftReceiver/SoftTestUtils.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java b/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java
index 0232e1c..c5215dd 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSincResampler/Interpolate.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java
index 3f3e04d..8922854 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Close.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java
index 4d9c0bc..69d1abf 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/DummySourceDataLine.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java
index 1c92123..7d02b5c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java
index 20e2360..ebe4569 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetAvailableInstruments2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java
index c25a916..7f5b9ff 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetChannels.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java
index 719f888..413d455 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDefaultSoundbank.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java
index 0755cb2..90fde5a 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetDeviceInfo.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java
index 40e0218..fa02ee3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLatency.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java
index 28c2e64..17af001 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java
index 5fa3fb2..9a06b33 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetLoadedInstruments2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java
index e72168c..35b5e21 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxPolyphony.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java
index 9b85c07..6d314f93 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxReceivers.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java
index 3865547..2cfa899 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMaxTransmitters.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java
index 8304999..7d271fd 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetMicrosecondPosition.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java
index 43c5438..66f7734 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetPropertyInfo.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java
index 7959c19..f22af99 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java
index 09db467..28c2892 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceiver2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java
index 6792751..c1c9fcc 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetReceivers.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java
index 58dc000..70e5b67 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitter.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java
index c765087..18fbf75 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetTransmitters.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java
index b26922f..9dddc7e 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/GetVoiceStatus.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java
index 4c6d7d8..421c629 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/ImplicitOpenClose.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java
index 3b143f6..c14be6b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsOpen.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java
index 3b73df3..a26f848 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/IsSoundbankSupported.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java
index 0e67c61..0240ef9 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadAllInstruments.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java
index 9333b36..3b7e968 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstrument.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java
index a86f395..685e53f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/LoadInstruments.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java
index 610ce7d..6724a3c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/Open.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java
index 83df50d..b10bbc2 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/OpenStream.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java
index 64baf2d..c4f08b3 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/RemapInstrument.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java
index 06c3999..23b9a69 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestDisableLoadDefaultSoundbank.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java
index 26e3e95..eee0267 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestPreciseTimestampRendering.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java
index 6ebb9af..d7af4bf 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/TestRender1.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java
index 70414a2..5efdaaf 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadAllInstruments.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java
index 3a3861c..7f8df6c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstrument.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java
index b34e45a..b2b89d8 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftSynthesizer/UnloadInstruments.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java
index ccfcd96..cb76ccd 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetName.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java
index 0432f39..41bdd57 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuning.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java
index a6f7bc1..13759f2 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/GetTuningInt.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java
index ebfd1a1..5b5fa3b 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load1.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java
index f424df6..58e2310 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java
index 7804217..41c194c 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load4.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java
index c094a145..7132a39 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load5.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java
index 07ac751..b53d3a4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load6.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java
index 4d2cae0..ca90d36 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load7.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java
index 0b12b15..731eac0 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load8.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java
index 1594b33..cdbb9e2 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/Load9.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java
index ba49c18..4b9f0c7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuning.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java
index c8a2bf6..b13fff4 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningByteArray.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java
index 8363279..8fd023f 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatch.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java
index 1509062..0ae5bc7 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/NewSoftTuningPatchByteArray.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java b/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java
index 7b6aaf6..df6a7fa 100644
--- a/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java
+++ b/jdk/test/javax/sound/midi/Gervill/SoftTuning/RealTimeTuning.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/MidiDeviceConnectors/TestAllDevices.java b/jdk/test/javax/sound/midi/MidiDeviceConnectors/TestAllDevices.java
index fa1d964e..9155dbb 100644
--- a/jdk/test/javax/sound/midi/MidiDeviceConnectors/TestAllDevices.java
+++ b/jdk/test/javax/sound/midi/MidiDeviceConnectors/TestAllDevices.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java b/jdk/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java
index f305d33..2b7dc16 100644
--- a/jdk/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java
+++ b/jdk/test/javax/sound/midi/Sequencer/SequencerImplicitSynthOpen.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 6660470
diff --git a/jdk/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java b/jdk/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java
index 18e53af..98fdce1 100644
--- a/jdk/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java
+++ b/jdk/test/javax/sound/sampled/AudioFormat/Matches_NOT_SPECIFIED.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/sampled/AudioFormat/PCM_FLOAT_support.java b/jdk/test/javax/sound/sampled/AudioFormat/PCM_FLOAT_support.java
index 637a153..43d39fb 100644
--- a/jdk/test/javax/sound/sampled/AudioFormat/PCM_FLOAT_support.java
+++ b/jdk/test/javax/sound/sampled/AudioFormat/PCM_FLOAT_support.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/sampled/Clip/ClipSetPos.java b/jdk/test/javax/sound/sampled/Clip/ClipSetPos.java
index 715274f..c980324 100644
--- a/jdk/test/javax/sound/sampled/Clip/ClipSetPos.java
+++ b/jdk/test/javax/sound/sampled/Clip/ClipSetPos.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java b/jdk/test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java
index e8dac31..484bf29 100644
--- a/jdk/test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java
+++ b/jdk/test/javax/sound/sampled/DataLine/DataLine_ArrayIndexOutOfBounds.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 7088367
diff --git a/jdk/test/javax/sound/sampled/DirectAudio/bug6400879.java b/jdk/test/javax/sound/sampled/DirectAudio/bug6400879.java
index 6045d41..0330150 100644
--- a/jdk/test/javax/sound/sampled/DirectAudio/bug6400879.java
+++ b/jdk/test/javax/sound/sampled/DirectAudio/bug6400879.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java b/jdk/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java
index a58fa26..b207e0b 100644
--- a/jdk/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java
+++ b/jdk/test/javax/sound/sampled/FileWriter/AlawEncoderSync.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/sound/sampled/FileWriter/WriterCloseInput.java b/jdk/test/javax/sound/sampled/FileWriter/WriterCloseInput.java
index b419789..d54c8f5 100644
--- a/jdk/test/javax/sound/sampled/FileWriter/WriterCloseInput.java
+++ b/jdk/test/javax/sound/sampled/FileWriter/WriterCloseInput.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * 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 7013521
diff --git a/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.html b/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.html
index cec2ce0..1bfa618 100644
--- a/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.html
+++ b/jdk/test/javax/swing/JCheckBox/4449413/bug4449413.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 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.
+
+ 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>
 When the applet starts, you'll see eight controls with black backgrounds.
diff --git a/jdk/test/javax/swing/JColorChooser/Test4222508.html b/jdk/test/javax/swing/JColorChooser/Test4222508.html
index 4614fb7..edbc466 100644
--- a/jdk/test/javax/swing/JColorChooser/Test4222508.html
+++ b/jdk/test/javax/swing/JColorChooser/Test4222508.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 Use the check box above the color chooser to disable it.
diff --git a/jdk/test/javax/swing/JColorChooser/Test4759306.html b/jdk/test/javax/swing/JColorChooser/Test4759306.html
index 8a4d53f..670ff44 100644
--- a/jdk/test/javax/swing/JColorChooser/Test4759306.html
+++ b/jdk/test/javax/swing/JColorChooser/Test4759306.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 If you see the preview panel, then test failed, otherwise it passed.
diff --git a/jdk/test/javax/swing/JColorChooser/Test4759934.html b/jdk/test/javax/swing/JColorChooser/Test4759934.html
index 0441b67..0ffc3a1 100644
--- a/jdk/test/javax/swing/JColorChooser/Test4759934.html
+++ b/jdk/test/javax/swing/JColorChooser/Test4759934.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 1. Press button "Show Dialog" at the frame "Test" and
diff --git a/jdk/test/javax/swing/JColorChooser/Test4887836.html b/jdk/test/javax/swing/JColorChooser/Test4887836.html
index 324d5af..af623a5 100644
--- a/jdk/test/javax/swing/JColorChooser/Test4887836.html
+++ b/jdk/test/javax/swing/JColorChooser/Test4887836.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 If you do not see white area under swatches,
diff --git a/jdk/test/javax/swing/JColorChooser/Test6348456.html b/jdk/test/javax/swing/JColorChooser/Test6348456.html
index 6829c78..c3b5989 100644
--- a/jdk/test/javax/swing/JColorChooser/Test6348456.html
+++ b/jdk/test/javax/swing/JColorChooser/Test6348456.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 When applet starts, you'll see that the preview is white.
diff --git a/jdk/test/javax/swing/JColorChooser/Test6977726.html b/jdk/test/javax/swing/JColorChooser/Test6977726.html
index 3b7f33d..cfe132a 100644
--- a/jdk/test/javax/swing/JColorChooser/Test6977726.html
+++ b/jdk/test/javax/swing/JColorChooser/Test6977726.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 If you don't see the preview panel, then test failed, otherwise it passed.
diff --git a/jdk/test/javax/swing/JComponent/4337267/bug4337267.java b/jdk/test/javax/swing/JComponent/4337267/bug4337267.java
index a3e3f24..1a16be2 100644
--- a/jdk/test/javax/swing/JComponent/4337267/bug4337267.java
+++ b/jdk/test/javax/swing/JComponent/4337267/bug4337267.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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 4337267
  * @summary test that numeric shaping works in Swing components
diff --git a/jdk/test/javax/swing/JComponent/6683775/bug6683775.java b/jdk/test/javax/swing/JComponent/6683775/bug6683775.java
index 02cd32b..cb41f7b 100644
--- a/jdk/test/javax/swing/JComponent/6683775/bug6683775.java
+++ b/jdk/test/javax/swing/JComponent/6683775/bug6683775.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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 6683775 6794764
    @summary Painting artifacts is seen when panel is made setOpaque(false) for a translucent window
diff --git a/jdk/test/javax/swing/JEditorPane/4492274/test.html b/jdk/test/javax/swing/JEditorPane/4492274/test.html
index 2186cc3..93d04b4 100644
--- a/jdk/test/javax/swing/JEditorPane/4492274/test.html
+++ b/jdk/test/javax/swing/JEditorPane/4492274/test.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <a name="top">top</a>
diff --git a/jdk/test/javax/swing/JEditorPane/6917744/test.html b/jdk/test/javax/swing/JEditorPane/6917744/test.html
index 7532c9e..4554b5e 100644
--- a/jdk/test/javax/swing/JEditorPane/6917744/test.html
+++ b/jdk/test/javax/swing/JEditorPane/6917744/test.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body bgcolor="#ffffff">
 <table border="0">
diff --git a/jdk/test/javax/swing/JEditorPane/bug4714674.java b/jdk/test/javax/swing/JEditorPane/bug4714674.java
index a342614..5b59833 100644
--- a/jdk/test/javax/swing/JEditorPane/bug4714674.java
+++ b/jdk/test/javax/swing/JEditorPane/bug4714674.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 4714674
    @summary Tests that JEditorPane opens HTTP connection asynchronously
diff --git a/jdk/test/javax/swing/JFileChooser/6570445/bug6570445.java b/jdk/test/javax/swing/JFileChooser/6570445/bug6570445.java
index f746eda..968c372 100644
--- a/jdk/test/javax/swing/JFileChooser/6570445/bug6570445.java
+++ b/jdk/test/javax/swing/JFileChooser/6570445/bug6570445.java
@@ -1,4 +1,27 @@
 /*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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 6570445
  * @summary Checks if Win32ShellFolder2's COM-using methods work under a security manager
diff --git a/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.html b/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.html
index 8de6fdd..4890787 100644
--- a/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.html
+++ b/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <applet  code="bug6698013.class" width=200 height=200></applet>
diff --git a/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.java b/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.java
index ede1533..ecabb8f 100644
--- a/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.java
+++ b/jdk/test/javax/swing/JFileChooser/6698013/bug6698013.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ * 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 %W% %E%
    @bug 6698013
    @summary JFileChooser can no longer navigate non-local file systems.
diff --git a/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.html b/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.html
index 80a3e1c..4ba1a83 100644
--- a/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.html
+++ b/jdk/test/javax/swing/JFileChooser/6798062/bug6798062.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <applet  code="bug6798062.class" width=400 height=300></applet>
diff --git a/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.html b/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.html
index 7412f74..4d822df 100644
--- a/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.html
+++ b/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <applet  code="bug6726866.class" width=400 height=100></applet>
diff --git a/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.java b/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.java
index 24b3b4d..ce9df57 100644
--- a/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.java
+++ b/jdk/test/javax/swing/JInternalFrame/6726866/bug6726866.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
+ * 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 6726866
    @summary Repainting artifacts when resizing or dragging JInternalFrames in non-opaque toplevel
diff --git a/jdk/test/javax/swing/JSlider/4987336/bug4987336.html b/jdk/test/javax/swing/JSlider/4987336/bug4987336.html
index b5c9a19..a454ae0 100644
--- a/jdk/test/javax/swing/JSlider/4987336/bug4987336.html
+++ b/jdk/test/javax/swing/JSlider/4987336/bug4987336.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <applet  code="bug4987336.class" width=600 height=400></applet>
diff --git a/jdk/test/javax/swing/JSlider/6524424/bug6524424.html b/jdk/test/javax/swing/JSlider/6524424/bug6524424.html
index ecf8f65..a9deef2 100644
--- a/jdk/test/javax/swing/JSlider/6524424/bug6524424.html
+++ b/jdk/test/javax/swing/JSlider/6524424/bug6524424.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <applet  code="bug6524424.class" width=200 height=200></applet>
diff --git a/jdk/test/javax/swing/JSlider/6587742/bug6587742.html b/jdk/test/javax/swing/JSlider/6587742/bug6587742.html
index ceda9f9..694ac88 100644
--- a/jdk/test/javax/swing/JSlider/6587742/bug6587742.html
+++ b/jdk/test/javax/swing/JSlider/6587742/bug6587742.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <applet  code="bug6587742.class" width=800 height=600></applet>
diff --git a/jdk/test/javax/swing/JSlider/6742358/bug6742358.html b/jdk/test/javax/swing/JSlider/6742358/bug6742358.html
index d004e11..3cace4a 100644
--- a/jdk/test/javax/swing/JSlider/6742358/bug6742358.html
+++ b/jdk/test/javax/swing/JSlider/6742358/bug6742358.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <applet  code="bug6742358.class" width=400 height=300></applet>
diff --git a/jdk/test/javax/swing/JTabbedPane/4310381/bug4310381.html b/jdk/test/javax/swing/JTabbedPane/4310381/bug4310381.html
index d60643e..325bbfd 100644
--- a/jdk/test/javax/swing/JTabbedPane/4310381/bug4310381.html
+++ b/jdk/test/javax/swing/JTabbedPane/4310381/bug4310381.html
@@ -1,3 +1,26 @@
+<!--

+ Copyright (c) 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.

+

+ 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>

 <applet  code="bug4310381.class" width=150 height=150></applet>

diff --git a/jdk/test/javax/swing/JTree/4314199/bug4314199.html b/jdk/test/javax/swing/JTree/4314199/bug4314199.html
index b1fb60e..94249fa 100644
--- a/jdk/test/javax/swing/JTree/4314199/bug4314199.html
+++ b/jdk/test/javax/swing/JTree/4314199/bug4314199.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 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.
+
+ 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>
 Select the last tree node (marked "Here") and click on the menu.
diff --git a/jdk/test/javax/swing/SwingUtilities/7170657/bug7170657.java b/jdk/test/javax/swing/SwingUtilities/7170657/bug7170657.java
index e28ce7a..8197b7f 100644
--- a/jdk/test/javax/swing/SwingUtilities/7170657/bug7170657.java
+++ b/jdk/test/javax/swing/SwingUtilities/7170657/bug7170657.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/swing/border/Test4129681.html b/jdk/test/javax/swing/border/Test4129681.html
index 4985c4d..4eee263 100644
--- a/jdk/test/javax/swing/border/Test4129681.html
+++ b/jdk/test/javax/swing/border/Test4129681.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 When applet starts, you'll see a checkbox and a label with a titled border.
diff --git a/jdk/test/javax/swing/border/Test4243289.html b/jdk/test/javax/swing/border/Test4243289.html
index 9133d99..6aac9af 100644
--- a/jdk/test/javax/swing/border/Test4243289.html
+++ b/jdk/test/javax/swing/border/Test4243289.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 When applet starts, you'll see a panel with a TitledBorder with title "Panel Title".
diff --git a/jdk/test/javax/swing/border/Test4247606.html b/jdk/test/javax/swing/border/Test4247606.html
index d501ab2..7091e2f 100644
--- a/jdk/test/javax/swing/border/Test4247606.html
+++ b/jdk/test/javax/swing/border/Test4247606.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2001, 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 If the button do not fit into the titled border bounds
diff --git a/jdk/test/javax/swing/border/Test4252164.html b/jdk/test/javax/swing/border/Test4252164.html
index eb436c5..1a9c1c5 100644
--- a/jdk/test/javax/swing/border/Test4252164.html
+++ b/jdk/test/javax/swing/border/Test4252164.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 Please, ensure that rounded border is filled completely.
diff --git a/jdk/test/javax/swing/border/Test4760089.html b/jdk/test/javax/swing/border/Test4760089.html
index 6963333..88441b9 100644
--- a/jdk/test/javax/swing/border/Test4760089.html
+++ b/jdk/test/javax/swing/border/Test4760089.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 When applet starts, you'll see a panel with a compound titled border.
diff --git a/jdk/test/javax/swing/border/Test6910490.html b/jdk/test/javax/swing/border/Test6910490.html
index 4358cf4..019f975 100644
--- a/jdk/test/javax/swing/border/Test6910490.html
+++ b/jdk/test/javax/swing/border/Test6910490.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 If the border is painted over scroll bars then test fails.
diff --git a/jdk/test/javax/swing/border/Test7022041.java b/jdk/test/javax/swing/border/Test7022041.java
index 1a8b12c..747c111 100644
--- a/jdk/test/javax/swing/border/Test7022041.java
+++ b/jdk/test/javax/swing/border/Test7022041.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/javax/swing/text/html/TableView/7030332/bug7030332.html b/jdk/test/javax/swing/text/html/TableView/7030332/bug7030332.html
index 9a62f79..cceb31c 100644
--- a/jdk/test/javax/swing/text/html/TableView/7030332/bug7030332.html
+++ b/jdk/test/javax/swing/text/html/TableView/7030332/bug7030332.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ 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>
 <body>
 <applet  code="bug7030332.class" width=600 height=400></applet>
diff --git a/jdk/test/javax/xml/jaxp/parsers/8022548/XOMParserTest.java b/jdk/test/javax/xml/jaxp/parsers/8022548/XOMParserTest.java
index ba12d0d..15915d0 100644
--- a/jdk/test/javax/xml/jaxp/parsers/8022548/XOMParserTest.java
+++ b/jdk/test/javax/xml/jaxp/parsers/8022548/XOMParserTest.java
@@ -22,7 +22,8 @@
  */
 
 /**
- * @test @bug 8022548
+ * @test
+ * @bug 8022548
  * @summary test that a parser can use DTDConfiguration
  * @run main XOMParserTest
  */
@@ -60,30 +61,27 @@
     }
 
     public final void testTransform() {
+        String inFilename = filePath + "/JDK8022548.xml";
+        String xslFilename = filePath + "/JDK8022548.xsl";
+        String outFilename = "JDK8022548.out";
 
-        try {
+        try (InputStream xslInput = new FileInputStream(xslFilename);
+             InputStream xmlInput = new FileInputStream(inFilename);
+             OutputStream out = new FileOutputStream(outFilename);
+        ) {
 
-            String inFilename = filePath + "/JDK8022548.xml";
-            String xslFilename = filePath + "/JDK8022548.xsl";
-            String outFilename = "JDK8022548.out";
 
             StringWriter sw = new StringWriter();
             // Create transformer factory
             TransformerFactory factory = TransformerFactory.newInstance();
-            // set the translet name
-//            factory.setAttribute("translet-name", "myTranslet");
-
-            // set the destination directory
-//            factory.setAttribute("destination-directory", "c:\\temp");
-//            factory.setAttribute("generate-translet", Boolean.TRUE);
 
             // Use the factory to create a template containing the xsl file
-            Templates template = factory.newTemplates(new StreamSource(new FileInputStream(xslFilename)));
+            Templates template = factory.newTemplates(new StreamSource(xslInput));
             // Use the template to create a transformer
             Transformer xformer = template.newTransformer();
             // Prepare the input and output files
-            Source source = new StreamSource(new FileInputStream(inFilename));
-            Result result = new StreamResult(new FileOutputStream(outFilename));
+            Source source = new StreamSource(xmlInput);
+            Result result = new StreamResult(outFilename);
             //Result result = new StreamResult(sw);
             // Apply the xsl file to the source file and write the result to the output file
             xformer.transform(source, result);
diff --git a/jdk/test/lib/testlibrary/AssertsTest.java b/jdk/test/lib/testlibrary/AssertsTest.java
new file mode 100644
index 0000000..e59a252
--- /dev/null
+++ b/jdk/test/lib/testlibrary/AssertsTest.java
@@ -0,0 +1,237 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 static jdk.testlibrary.Asserts.*;
+
+/* @test
+ * @summary Tests the different assertions in the Assert class
+ * @library /testlibrary
+ */
+public class AssertsTest {
+    private static class Foo implements Comparable<Foo> {
+        final int id;
+        public Foo(int id) {
+            this.id = id;
+        }
+
+        public int compareTo(Foo f) {
+            return new Integer(id).compareTo(new Integer(f.id));
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        testLessThan();
+        testLessThanOrEqual();
+        testEquals();
+        testGreaterThanOrEqual();
+        testGreaterThan();
+        testNotEquals();
+        testNull();
+        testNotNull();
+        testTrue();
+        testFalse();
+    }
+
+    private static void testLessThan() throws Exception {
+        expectPass(Assertion.LT, 1, 2);
+
+        expectFail(Assertion.LT, 2, 2);
+        expectFail(Assertion.LT, 2, 1);
+        expectFail(Assertion.LT, null, 2);
+        expectFail(Assertion.LT, 2, null);
+    }
+
+    private static void testLessThanOrEqual() throws Exception {
+        expectPass(Assertion.LTE, 1, 2);
+        expectPass(Assertion.LTE, 2, 2);
+
+        expectFail(Assertion.LTE, 3, 2);
+        expectFail(Assertion.LTE, null, 2);
+        expectFail(Assertion.LTE, 2, null);
+    }
+
+    private static void testEquals() throws Exception {
+        expectPass(Assertion.EQ, 1, 1);
+        expectPass(Assertion.EQ, null, null);
+
+        Foo f1 = new Foo(1);
+        expectPass(Assertion.EQ, f1, f1);
+
+        Foo f2 = new Foo(1);
+        expectFail(Assertion.EQ, f1, f2);
+        expectFail(Assertion.LTE, null, 2);
+        expectFail(Assertion.LTE, 2, null);
+    }
+
+    private static void testGreaterThanOrEqual() throws Exception {
+        expectPass(Assertion.GTE, 1, 1);
+        expectPass(Assertion.GTE, 2, 1);
+
+        expectFail(Assertion.GTE, 1, 2);
+        expectFail(Assertion.GTE, null, 2);
+        expectFail(Assertion.GTE, 2, null);
+    }
+
+    private static void testGreaterThan() throws Exception {
+        expectPass(Assertion.GT, 2, 1);
+
+        expectFail(Assertion.GT, 1, 1);
+        expectFail(Assertion.GT, 1, 2);
+        expectFail(Assertion.GT, null, 2);
+        expectFail(Assertion.GT, 2, null);
+    }
+
+    private static void testNotEquals() throws Exception {
+        expectPass(Assertion.NE, null, 1);
+        expectPass(Assertion.NE, 1, null);
+
+        Foo f1 = new Foo(1);
+        Foo f2 = new Foo(1);
+        expectPass(Assertion.NE, f1, f2);
+
+        expectFail(Assertion.NE, null, null);
+        expectFail(Assertion.NE, f1, f1);
+        expectFail(Assertion.NE, 1, 1);
+    }
+
+    private static void testNull() throws Exception {
+        expectPass(Assertion.NULL, null);
+
+        expectFail(Assertion.NULL, 1);
+    }
+
+    private static void testNotNull() throws Exception {
+        expectPass(Assertion.NOTNULL, 1);
+
+        expectFail(Assertion.NOTNULL, null);
+    }
+
+    private static void testTrue() throws Exception {
+        expectPass(Assertion.TRUE, true);
+
+        expectFail(Assertion.TRUE, false);
+    }
+
+    private static void testFalse() throws Exception {
+        expectPass(Assertion.FALSE, false);
+
+        expectFail(Assertion.FALSE, true);
+    }
+
+    private static <T extends Comparable<T>> void expectPass(Assertion assertion, T ... args)
+        throws Exception {
+        Assertion.run(assertion, args);
+    }
+
+    private static <T extends Comparable<T>> void expectFail(Assertion assertion, T ... args)
+        throws Exception {
+        try {
+            Assertion.run(assertion, args);
+        } catch (RuntimeException e) {
+            return;
+        }
+        throw new Exception("Expected " + Assertion.format(assertion, (Object[]) args) +
+                            " to throw a RuntimeException");
+    }
+
+}
+
+enum Assertion {
+    LT, LTE, EQ, GTE, GT, NE, NULL, NOTNULL, FALSE, TRUE;
+
+    public static <T extends Comparable<T>> void run(Assertion assertion, T ... args) {
+        String msg = "Expected " + format(assertion, args) + " to pass";
+        switch (assertion) {
+            case LT:
+                assertLessThan(args[0], args[1], msg);
+                break;
+            case LTE:
+                assertLessThanOrEqual(args[0], args[1], msg);
+                break;
+            case EQ:
+                assertEquals(args[0], args[1], msg);
+                break;
+            case GTE:
+                assertGreaterThanOrEqual(args[0], args[1], msg);
+                break;
+            case GT:
+                assertGreaterThan(args[0], args[1], msg);
+                break;
+            case NE:
+                assertNotEquals(args[0], args[1], msg);
+                break;
+            case NULL:
+                assertNull(args == null ? args : args[0], msg);
+                break;
+            case NOTNULL:
+                assertNotNull(args == null ? args : args[0], msg);
+                break;
+            case FALSE:
+                assertFalse((Boolean) args[0], msg);
+                break;
+            case TRUE:
+                assertTrue((Boolean) args[0], msg);
+                break;
+            default:
+                // do nothing
+        }
+    }
+
+    public static String format(Assertion assertion, Object ... args) {
+        switch (assertion) {
+            case LT:
+                return asString("assertLessThan", args);
+            case LTE:
+                return asString("assertLessThanOrEqual", args);
+            case EQ:
+                return asString("assertEquals", args);
+            case GTE:
+                return asString("assertGreaterThanOrEquals", args);
+            case GT:
+                return asString("assertGreaterThan", args);
+            case NE:
+                return asString("assertNotEquals", args);
+            case NULL:
+                return asString("assertNull", args);
+            case NOTNULL:
+                return asString("assertNotNull", args);
+            case FALSE:
+                return asString("assertFalse", args);
+            case TRUE:
+                return asString("assertTrue", args);
+            default:
+                return "";
+        }
+    }
+
+    private static String asString(String assertion, Object ... args) {
+        if (args == null) {
+            return String.format("%s(null)", assertion);
+        }
+        if (args.length == 1) {
+            return String.format("%s(%s)", assertion, args[0]);
+        } else {
+            return String.format("%s(%s, %s)", assertion, args[0], args[1]);
+        }
+    }
+}
diff --git a/jdk/test/lib/testlibrary/ClassFileInstaller.java b/jdk/test/lib/testlibrary/ClassFileInstaller.java
index 694223e..dd8777b 100644
--- a/jdk/test/lib/testlibrary/ClassFileInstaller.java
+++ b/jdk/test/lib/testlibrary/ClassFileInstaller.java
@@ -45,7 +45,10 @@
 
             // Create the class file's package directory
             Path p = Paths.get(pathName);
-            Files.createDirectories(p.getParent());
+            Path parent = p.getParent();
+            if (parent != null) {
+                Files.createDirectories(parent);
+            }
             // Create the class file
             Files.copy(is, p, StandardCopyOption.REPLACE_EXISTING);
         }
diff --git a/jdk/test/lib/testlibrary/OutputAnalyzerReportingTest.java b/jdk/test/lib/testlibrary/OutputAnalyzerReportingTest.java
new file mode 100644
index 0000000..daf669e
--- /dev/null
+++ b/jdk/test/lib/testlibrary/OutputAnalyzerReportingTest.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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
+ * @summary Test the OutputAnalyzer reporting functionality,
+ *     such as printing additional diagnostic info
+ *     (exit code, stdout, stderr, command line, etc.)
+ * @library /testlibrary
+ */
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+
+import jdk.testlibrary.OutputAnalyzer;
+
+public class OutputAnalyzerReportingTest {
+
+    public static void main(String[] args) throws Exception {
+        // Create the output analyzer under test
+        String stdout = "aaaaaa";
+        String stderr = "bbbbbb";
+        OutputAnalyzer output = new OutputAnalyzer(stdout, stderr);
+
+        // Expected summary values should be the same for all cases,
+        // since the outputAnalyzer object is the same
+        String expectedExitValue = "-1";
+        String expectedSummary =
+                " stdout: [" + stdout + "];\n" +
+                " stderr: [" + stderr + "]\n" +
+                " exitValue = " + expectedExitValue + "\n";
+
+
+        DiagnosticSummaryTestRunner testRunner =
+                new DiagnosticSummaryTestRunner();
+
+        // should have exit value
+        testRunner.init(expectedSummary);
+        int unexpectedExitValue = 2;
+        try {
+            output.shouldHaveExitValue(unexpectedExitValue);
+        } catch (RuntimeException e) { }
+        testRunner.closeAndCheckResults();
+
+        // should not contain
+        testRunner.init(expectedSummary);
+        try {
+            output.shouldNotContain(stdout);
+        } catch (RuntimeException e) { }
+        testRunner.closeAndCheckResults();
+
+        // should contain
+        testRunner.init(expectedSummary);
+        try {
+            output.shouldContain("unexpected-stuff");
+        } catch (RuntimeException e) { }
+        testRunner.closeAndCheckResults();
+
+        // should not match
+        testRunner.init(expectedSummary);
+        try {
+            output.shouldNotMatch("[a]");
+        } catch (RuntimeException e) { }
+        testRunner.closeAndCheckResults();
+
+        // should match
+        testRunner.init(expectedSummary);
+        try {
+            output.shouldMatch("[qwerty]");
+        } catch (RuntimeException e) { }
+        testRunner.closeAndCheckResults();
+
+    }
+
+    private static class DiagnosticSummaryTestRunner {
+        private ByteArrayOutputStream byteStream =
+                new ByteArrayOutputStream(10000);
+
+        private String expectedSummary = "";
+        private PrintStream errStream;
+
+
+        public void init(String expectedSummary) {
+            this.expectedSummary = expectedSummary;
+            byteStream.reset();
+            errStream = new PrintStream(byteStream);
+            System.setErr(errStream);
+        }
+
+        public void closeAndCheckResults() {
+            // check results
+            errStream.close();
+            String stdErrStr = byteStream.toString();
+            if (!stdErrStr.contains(expectedSummary)) {
+                throw new RuntimeException("The output does not contain "
+                    + "the diagnostic message, or the message is incorrect");
+            }
+        }
+    }
+
+}
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/FileUtils.java b/jdk/test/lib/testlibrary/jdk/testlibrary/FileUtils.java
new file mode 100644
index 0000000..161e222
--- /dev/null
+++ b/jdk/test/lib/testlibrary/jdk/testlibrary/FileUtils.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+package jdk.testlibrary;
+
+import java.io.IOException;
+import java.nio.file.DirectoryNotEmptyException;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Files;
+import java.nio.file.NoSuchFileException;
+import java.nio.file.Path;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * Common library for various test file utility functions.
+ */
+public final class FileUtils {
+
+    private static final boolean isWindows =
+                            System.getProperty("os.name").startsWith("Windows");
+    private static final int RETRY_DELETE_MILLIS = isWindows ? 500 : 0;
+    private static final int MAX_RETRY_DELETE_TIMES = isWindows ? 15 : 0;
+
+    /**
+     * Deletes a file, retrying if necessary.
+     *
+     * @param path  the file to delete
+     *
+     * @throws NoSuchFileException
+     *         if the file does not exist (optional specific exception)
+     * @throws DirectoryNotEmptyException
+     *         if the file is a directory and could not otherwise be deleted
+     *         because the directory is not empty (optional specific exception)
+     * @throws IOException
+     *         if an I/O error occurs
+     */
+    public static void deleteFileWithRetry(Path path)
+        throws IOException
+    {
+        try {
+            deleteFileWithRetry0(path);
+        } catch (InterruptedException x) {
+            throw new IOException("Interrupted while deleting.", x);
+        }
+    }
+
+    private static void deleteFileWithRetry0(Path path)
+        throws IOException, InterruptedException
+    {
+        int times = 0;
+        IOException ioe = null;
+        while (true) {
+            try {
+                Files.delete(path);
+                while (Files.exists(path)) {
+                    times++;
+                    if (times > MAX_RETRY_DELETE_TIMES)
+                        throw new IOException("File still exists after " + times + " waits.");
+                    Thread.sleep(RETRY_DELETE_MILLIS);
+                }
+                break;
+            } catch (NoSuchFileException | DirectoryNotEmptyException x) {
+                throw x;
+            } catch (IOException x) {
+                // Backoff/retry in case another process is accessing the file
+                times++;
+                if (ioe == null)
+                    ioe = x;
+                else
+                    ioe.addSuppressed(x);
+
+                if (times > MAX_RETRY_DELETE_TIMES)
+                    throw ioe;
+                Thread.sleep(RETRY_DELETE_MILLIS);
+            }
+        }
+    }
+
+    /**
+     * Deletes a directory and its subdirectories, retrying if necessary.
+     *
+     * @param dir  the directory to delete
+     *
+     * @throws  IOException
+     *          If an I/O error occurs. Any such exceptions are caught
+     *          internally. If only one is caught, then it is re-thrown.
+     *          If more than one exception is caught, then the second and
+     *          following exceptions are added as suppressed exceptions of the
+     *          first one caught, which is then re-thrown.
+     */
+    public static void deleteFileTreeWithRetry(Path dir)
+         throws IOException
+    {
+        IOException ioe = null;
+        final List<IOException> excs = deleteFileTreeUnchecked(dir);
+        if (!excs.isEmpty()) {
+            ioe = excs.remove(0);
+            for (IOException x : excs)
+                ioe.addSuppressed(x);
+        }
+        if (ioe != null)
+            throw ioe;
+    }
+
+    public static List<IOException> deleteFileTreeUnchecked(Path dir) {
+        final List<IOException> excs = new ArrayList<>();
+        try {
+            java.nio.file.Files.walkFileTree(dir, new SimpleFileVisitor<Path>() {
+                @Override
+                public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) {
+                    try {
+                        deleteFileWithRetry0(file);
+                    } catch (IOException x) {
+                        excs.add(x);
+                    } catch (InterruptedException x) {
+                        excs.add(new IOException("Interrupted while deleting.", x));
+                        return FileVisitResult.TERMINATE;
+                    }
+                    return FileVisitResult.CONTINUE;
+                }
+                @Override
+                public FileVisitResult postVisitDirectory(Path dir, IOException exc) {
+                    try {
+                        deleteFileWithRetry0(dir);
+                    } catch (IOException x) {
+                        excs.add(x);
+                    } catch (InterruptedException x) {
+                        excs.add(new IOException("Interrupted while deleting.", x));
+                        return FileVisitResult.TERMINATE;
+                    }
+                    return FileVisitResult.CONTINUE;
+                }
+                @Override
+                public FileVisitResult visitFileFailed(Path file, IOException exc) {
+                    excs.add(exc);
+                    return FileVisitResult.CONTINUE;
+                }
+            });
+        } catch (IOException x) {
+            excs.add(x);
+        }
+        return excs;
+    }
+}
+
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/InputArguments.java b/jdk/test/lib/testlibrary/jdk/testlibrary/InputArguments.java
new file mode 100644
index 0000000..a2f0f3f
--- /dev/null
+++ b/jdk/test/lib/testlibrary/jdk/testlibrary/InputArguments.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+package jdk.testlibrary;
+
+import java.lang.management.RuntimeMXBean;
+import java.lang.management.ManagementFactory;
+import java.util.List;
+
+/**
+ * This class provides access to the input arguments to the VM.
+ */
+public class InputArguments {
+    private static final List<String> args;
+
+    static {
+        RuntimeMXBean runtimeMxBean = ManagementFactory.getRuntimeMXBean();
+        args = runtimeMxBean.getInputArguments();
+    }
+
+    /**
+     * Returns true if {@code arg} is an input argument to the VM.
+     *
+     * This is useful for checking boolean flags such as -XX:+UseSerialGC or
+     * -XX:-UsePerfData.
+     *
+     * @param arg The name of the argument.
+     * @return {@code true} if the given argument is an input argument,
+     *         otherwise {@code false}.
+     */
+    public static boolean contains(String arg) {
+        return args.contains(arg);
+    }
+
+    /**
+     * Returns true if {@code prefix} is the start of an input argument to the
+     * VM.
+     *
+     * This is useful for checking if flags describing a quantity, such as
+     * -XX:+MaxMetaspaceSize=100m, is set without having to know the quantity.
+     * To check if the flag -XX:MaxMetaspaceSize is set, use
+     * {@code InputArguments.containsPrefix("-XX:MaxMetaspaceSize")}.
+     *
+     * @param prefix The start of the argument.
+     * @return {@code true} if the given argument is the start of an input
+     *         argument, otherwise {@code false}.
+     */
+    public static boolean containsPrefix(String prefix) {
+        for (String arg : args) {
+            if (arg.startsWith(prefix)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Get the string containing input arguments passed to the VM
+     */
+    public static String getInputArguments() {
+        StringBuilder result = new StringBuilder();
+        for (String arg : args)
+            result.append(arg).append(' ');
+
+        return result.toString();
+    }
+
+}
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/JcmdBase.java b/jdk/test/lib/testlibrary/jdk/testlibrary/JcmdBase.java
index de5807f..14599c9 100644
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/JcmdBase.java
+++ b/jdk/test/lib/testlibrary/jdk/testlibrary/JcmdBase.java
@@ -23,8 +23,11 @@
 
 package jdk.testlibrary;
 
-import java.util.ArrayList;
+import java.util.Arrays;
 
+/**
+ * Super class for tests which need to attach jcmd to the current process.
+ */
 public class JcmdBase {
 
     private static ProcessBuilder processBuilder = new ProcessBuilder();
@@ -32,46 +35,24 @@
     /**
      * Attach jcmd to the current process
      *
-     * @param commandArgs
-     *            jcmd command line parameters, e.g. JFR.start
+     * @param toolArgs
+     *            jcmd command line parameters, e.g. VM.flags
      * @return jcmd output
      * @throws Exception
      */
-    public final static OutputAnalyzer jcmd(String... commandArgs)
+    public final static OutputAnalyzer jcmd(String... toolArgs)
             throws Exception {
-        ArrayList<String> cmd = new ArrayList<String>();
-        String cmdString = "";
-
-        // jcmd from the jdk to be tested
-        String jcmdPath = JdkFinder.getTool("jcmd", false);
-        cmd.add(jcmdPath);
-        cmdString += jcmdPath;
-
-        String pid = Integer.toString(ProcessTools.getProcessId());
-        cmd.add(pid);
-        cmdString += " " + pid;
-
-        for (int i = 0; i < commandArgs.length; i++) {
-            cmd.add(commandArgs[i]);
-            cmdString += " " + commandArgs[i];
+        JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jcmd");
+        launcher.addToolArg(Integer.toString(ProcessTools.getProcessId()));
+        for (String toolArg : toolArgs) {
+            launcher.addToolArg(toolArg);
         }
-
-        // Log command line for debugging purpose
-        System.out.println("Command line:");
-        System.out.println(cmdString);
-
-        processBuilder.command(cmd);
+        processBuilder.command(launcher.getCommand());
+        System.out.println(Arrays.toString(processBuilder.command().toArray()).replace(",", ""));
         OutputAnalyzer output = new OutputAnalyzer(processBuilder.start());
-
-        // Log output for debugging purpose
-        System.out.println("Command output:");
         System.out.println(output.getOutput());
 
-        if (output.getExitValue() != 0) {
-            throw new Exception(processBuilder.command()
-                    + " resulted in exit value " + output.getExitValue()
-                    + " , expected to get 0");
-        }
+        output.shouldHaveExitValue(0);
 
         return output;
     }
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java b/jdk/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java
deleted file mode 100644
index d109778..0000000
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/JdkFinder.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
- * 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.
- */
-
-package jdk.testlibrary;
-
-import java.io.File;
-
-public final class JdkFinder {
-
-    private JdkFinder() {
-    }
-
-    private static String getExecutable(String executable, String property) {
-        String binPath = System.getProperty(property);
-        if (binPath == null) {
-            throw new RuntimeException(
-                    "System property '" + property + "' not set");
-        }
-
-        binPath += File.separatorChar + "bin" + File.separatorChar + executable;
-
-        return binPath;
-    }
-
-    /**
-     * Returns the full path to a java launcher in jdk/bin based on system
-     * property.
-     *
-     * @param stableJdk
-     *            see {@link #getTool(String, boolean)}
-     * @return Full path to a java launcher in jdk/bin.
-     */
-    public static String getJavaLauncher(boolean stableJdk) {
-        return getTool("java", stableJdk);
-    }
-
-    /**
-     * Returns the full path to an executable in jdk/bin based on system
-     * property. Depending on value of {@code stableJdk} the method will look for
-     * either 'compile.jdk' or 'test.jdk' system properties.
-     * 'test.jdk' is normally set by jtreg. When running test separately,
-     * set this property using '-Dtest.jdk=/path/to/jdk'.
-     *
-     * @param stableJdk
-     *            If {@code true} the {@code tool} will be retrieved
-     *            from the compile (stable) JDK.
-     *            If {@code false} the {@code tool} will be retrieved
-     *            from the test JDK.
-     * @return Full path to an executable in jdk/bin.
-     */
-    public static String getTool(String tool, boolean stableJdk) {
-        if (stableJdk) {
-            return getExecutable(tool, "compile.jdk");
-        } else {
-            return getExecutable(tool, "test.jdk");
-        }
-    }
-}
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java b/jdk/test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java
index ba02081..d4cbd27 100644
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java
+++ b/jdk/test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java
@@ -27,6 +27,9 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+/**
+ * Utility class for verifying output and exit value from a {@code Process}.
+ */
 public final class OutputAnalyzer {
 
     private final String stdout;
@@ -85,9 +88,9 @@
     public void shouldContain(String expectedString) {
         if (!stdout.contains(expectedString)
                 && !stderr.contains(expectedString)) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + expectedString
-                    + "' missing from stdout/stderr: [" + stdout + stderr
-                    + "]\n");
+                    + "' missing from stdout/stderr \n");
         }
     }
 
@@ -101,8 +104,9 @@
      */
     public void stdoutShouldContain(String expectedString) {
         if (!stdout.contains(expectedString)) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + expectedString
-                    + "' missing from stdout: [" + stdout + "]\n");
+                    + "' missing from stdout \n");
         }
     }
 
@@ -116,8 +120,9 @@
      */
     public void stderrShouldContain(String expectedString) {
         if (!stderr.contains(expectedString)) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + expectedString
-                    + "' missing from stderr: [" + stderr + "]\n");
+                    + "' missing from stderr \n");
         }
     }
 
@@ -132,12 +137,14 @@
      */
     public void shouldNotContain(String notExpectedString) {
         if (stdout.contains(notExpectedString)) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + notExpectedString
-                    + "' found in stdout: [" + stdout + "]\n");
+                    + "' found in stdout \n");
         }
         if (stderr.contains(notExpectedString)) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + notExpectedString
-                    + "' found in stderr: [" + stderr + "]\n");
+                    + "' found in stderr \n");
         }
     }
 
@@ -152,8 +159,9 @@
      */
     public void stdoutShouldNotContain(String notExpectedString) {
         if (stdout.contains(notExpectedString)) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + notExpectedString
-                    + "' found in stdout: [" + stdout + "]\n");
+                    + "' found in stdout \n");
         }
     }
 
@@ -168,55 +176,63 @@
      */
     public void stderrShouldNotContain(String notExpectedString) {
         if (stderr.contains(notExpectedString)) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + notExpectedString
-                    + "' found in stderr: [" + stderr + "]\n");
+                    + "' found in stderr \n");
         }
     }
 
     /**
-     * Verify that the stdout and stderr contents of output buffer matches
-     * the pattern
+     * Verify that the stdout and stderr contents of output buffer matches the
+     * pattern
      *
      * @param pattern
-     * @throws RuntimeException If the pattern was not found
+     * @throws RuntimeException
+     *             If the pattern was not found
      */
     public void shouldMatch(String pattern) {
-        Matcher stdoutMatcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stdout);
-        Matcher stderrMatcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stderr);
+        Matcher stdoutMatcher = Pattern.compile(pattern, Pattern.MULTILINE)
+                .matcher(stdout);
+        Matcher stderrMatcher = Pattern.compile(pattern, Pattern.MULTILINE)
+                .matcher(stderr);
         if (!stdoutMatcher.find() && !stderrMatcher.find()) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + pattern
-                    + "' missing from stdout/stderr: [" + stdout + stderr
-                    + "]\n");
+                    + "' missing from stdout/stderr \n");
         }
     }
 
     /**
-     * Verify that the stdout contents of output buffer matches the
-     * pattern
+     * Verify that the stdout contents of output buffer matches the pattern
      *
      * @param pattern
-     * @throws RuntimeException If the pattern was not found
+     * @throws RuntimeException
+     *             If the pattern was not found
      */
     public void stdoutShouldMatch(String pattern) {
-        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stdout);
+        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(
+                stdout);
         if (!matcher.find()) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + pattern
-                    + "' missing from stdout: [" + stdout + "]\n");
+                    + "' missing from stdout \n");
         }
     }
 
     /**
-     * Verify that the stderr contents of output buffer matches the
-     * pattern
+     * Verify that the stderr contents of output buffer matches the pattern
      *
      * @param pattern
-     * @throws RuntimeException If the pattern was not found
+     * @throws RuntimeException
+     *             If the pattern was not found
      */
     public void stderrShouldMatch(String pattern) {
-        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stderr);
+        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(
+                stderr);
         if (!matcher.find()) {
+            reportDiagnosticSummary();
             throw new RuntimeException("'" + pattern
-                    + "' missing from stderr: [" + stderr + "]\n");
+                    + "' missing from stderr \n");
         }
     }
 
@@ -225,18 +241,22 @@
      * match the pattern
      *
      * @param pattern
-     * @throws RuntimeException If the pattern was found
+     * @throws RuntimeException
+     *             If the pattern was found
      */
     public void shouldNotMatch(String pattern) {
-        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stdout);
+        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(
+                stdout);
         if (matcher.find()) {
-            throw new RuntimeException("'" + pattern
-                    + "' found in stdout: [" + stdout + "]\n");
+            reportDiagnosticSummary();
+            throw new RuntimeException("'" + pattern + "' found in stdout: '"
+                    + matcher.group() + "' \n");
         }
         matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stderr);
         if (matcher.find()) {
-            throw new RuntimeException("'" + pattern
-                    + "' found in stderr: [" + stderr + "]\n");
+            reportDiagnosticSummary();
+            throw new RuntimeException("'" + pattern + "' found in stderr: '"
+                    + matcher.group() + "' \n");
         }
     }
 
@@ -245,13 +265,15 @@
      * pattern
      *
      * @param pattern
-     * @throws RuntimeException If the pattern was found
+     * @throws RuntimeException
+     *             If the pattern was found
      */
     public void stdoutShouldNotMatch(String pattern) {
-        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stdout);
+        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(
+                stdout);
         if (matcher.find()) {
-            throw new RuntimeException("'" + pattern
-                    + "' found in stdout: [" + stdout + "]\n");
+            reportDiagnosticSummary();
+            throw new RuntimeException("'" + pattern + "' found in stdout \n");
         }
     }
 
@@ -260,18 +282,56 @@
      * pattern
      *
      * @param pattern
-     * @throws RuntimeException If the pattern was found
+     * @throws RuntimeException
+     *             If the pattern was found
      */
     public void stderrShouldNotMatch(String pattern) {
-        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stderr);
+        Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(
+                stderr);
         if (matcher.find()) {
-            throw new RuntimeException("'" + pattern
-                    + "' found in stderr: [" + stderr + "]\n");
+            reportDiagnosticSummary();
+            throw new RuntimeException("'" + pattern + "' found in stderr \n");
         }
     }
 
     /**
-     * Verifiy the exit value of the process
+     * Get the captured group of the first string matching the pattern. stderr
+     * is searched before stdout.
+     *
+     * @param pattern
+     *            The multi-line pattern to match
+     * @param group
+     *            The group to capture
+     * @return The matched string or null if no match was found
+     */
+    public String firstMatch(String pattern, int group) {
+        Matcher stderrMatcher = Pattern.compile(pattern, Pattern.MULTILINE)
+                .matcher(stderr);
+        Matcher stdoutMatcher = Pattern.compile(pattern, Pattern.MULTILINE)
+                .matcher(stdout);
+        if (stderrMatcher.find()) {
+            return stderrMatcher.group(group);
+        }
+        if (stdoutMatcher.find()) {
+            return stdoutMatcher.group(group);
+        }
+        return null;
+    }
+
+    /**
+     * Get the first string matching the pattern. stderr is searched before
+     * stdout.
+     *
+     * @param pattern
+     *            The multi-line pattern to match
+     * @return The matched string or null if no match was found
+     */
+    public String firstMatch(String pattern) {
+        return firstMatch(pattern, 0);
+    }
+
+    /**
+     * Verify the exit value of the process
      *
      * @param expectedExitValue
      *            Expected exit value from process
@@ -281,12 +341,25 @@
      */
     public void shouldHaveExitValue(int expectedExitValue) {
         if (getExitValue() != expectedExitValue) {
-            throw new RuntimeException("Exit value " + getExitValue()
-                    + " , expected to get " + expectedExitValue);
+            reportDiagnosticSummary();
+            throw new RuntimeException("Expected to get exit value of ["
+                    + expectedExitValue + "]\n");
         }
     }
 
     /**
+     * Report summary that will help to diagnose the problem Currently includes:
+     * - standard input produced by the process under test - standard output -
+     * exit code Note: the command line is printed by the ProcessTools
+     */
+    private void reportDiagnosticSummary() {
+        String msg = " stdout: [" + stdout + "];\n" + " stderr: [" + stderr
+                + "]\n" + " exitValue = " + getExitValue() + "\n";
+
+        System.err.println(msg);
+    }
+
+    /**
      * Get the contents of the output buffer (stdout and stderr)
      *
      * @return Content of the output buffer
diff --git a/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java b/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
index 29b4e38..6ed9f30 100644
--- a/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
+++ b/jdk/test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
@@ -25,10 +25,7 @@
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
 import java.io.PrintStream;
-import java.io.PrintWriter;
 import java.lang.management.ManagementFactory;
 import java.lang.management.RuntimeMXBean;
 import java.lang.reflect.Field;
@@ -237,15 +234,20 @@
      */
     public static ProcessBuilder createJavaProcessBuilder(String... command)
             throws Exception {
-        String javapath = JdkFinder.getJavaLauncher(false);
+        String javapath = JDKToolFinder.getJDKTool("java");
 
         ArrayList<String> args = new ArrayList<>();
         args.add(javapath);
         Collections.addAll(args, getPlatformSpecificVMArgs());
         Collections.addAll(args, command);
 
-        return new ProcessBuilder(args.toArray(new String[args.size()]));
+        // Reporting
+        StringBuilder cmdLine = new StringBuilder();
+        for (String cmd : args)
+            cmdLine.append(cmd).append(' ');
+        System.out.println("Command line: [" + cmdLine.toString() + "]");
 
+        return new ProcessBuilder(args.toArray(new String[args.size()]));
     }
 
 }
diff --git a/jdk/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html b/jdk/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html
index 88f81f1..e874bad 100644
--- a/jdk/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html
+++ b/jdk/test/sun/java2d/cmm/ColorConvertOp/ConstructorsNullTest/ConstructorsNullTest.html
@@ -1,3 +1,26 @@
+<!--
+ Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
+ 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
diff --git a/jdk/test/sun/java2d/cmm/ProfileOp/SetDataTest.java b/jdk/test/sun/java2d/cmm/ProfileOp/SetDataTest.java
index e426820..ece1a49 100644
--- a/jdk/test/sun/java2d/cmm/ProfileOp/SetDataTest.java
+++ b/jdk/test/sun/java2d/cmm/ProfileOp/SetDataTest.java
@@ -23,7 +23,7 @@
 
 /**
  * @test
- * @bug     7042594
+ * @bug     7042594 8028206
  * @summary Test verifies that ICC_Profile.setData() conforms the spec.
  *
  * @run     main SetDataTest
diff --git a/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java b/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java
index 8d4919f..5b58261 100644
--- a/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java
+++ b/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.java
@@ -21,6 +21,7 @@
  * questions.
  */
 
+import java.util.concurrent.CountDownLatch;
 import java.util.regex.*;
 import java.util.*;
 import java.net.URISyntaxException;
@@ -33,8 +34,6 @@
     private static final int SLEEPERS = 10;
     private static final int SLEEPTIME = 5000;     // sleep time for a sleeper
     private static final int EXECINTERVAL = 3000;   // wait time between exec's
-    private static final int JOINTIME = (SLEEPERS * EXECINTERVAL)
-                                        + SLEEPTIME * 2;
 
     public static void main(String args[]) throws Exception {
 
@@ -46,7 +45,8 @@
         MonitoredHost host = MonitoredHost.getMonitoredHost("localhost");
         host.setInterval(200);
 
-        SleeperListener listener = new SleeperListener(host, sleeperPattern);
+        Matcher matcher = Pattern.compile(sleeperPattern).matcher("");
+        SleeperListener listener = new SleeperListener(host, matcher, SLEEPERS);
         host.addHostListener(listener);
 
         SleeperStarter ss = new SleeperStarter(SLEEPERS, EXECINTERVAL,
@@ -56,212 +56,193 @@
         System.out.println("Waiting for "
                            + SLEEPERS + " sleepers to terminate");
         try {
-            ss.join(JOINTIME);
+            ss.join();
         } catch (InterruptedException e) {
-            System.err.println("Timed out waiting for sleepers");
+            throw new Exception("Timed out waiting for sleepers");
         }
-
-        if (listener.getStarted() != SLEEPERS) {
-            throw new RuntimeException(
-                    "Too few sleepers started: "
-                    + " started = " + listener.getStarted()
-                    + " SLEEPERS = " + SLEEPERS);
-        }
-
-        if (listener.getStarted() != listener.getTerminated()) {
-            throw new RuntimeException(
-                    "Started count != terminated count: "
-                    + " started = " + listener.getStarted()
-                    + " terminated = " + listener.getTerminated());
-        }
-    }
-}
-
-class SleeperListener implements HostListener {
-    private static final boolean DEBUG = false;
-
-    int started;
-    int terminated;
-    MonitoredHost host;
-    Matcher patternMatcher;
-    ArrayList targets;
-
-    public SleeperListener(MonitoredHost host, String sleeperPattern) {
-        this.host = host;
-        Pattern pattern = Pattern.compile(sleeperPattern);
-        patternMatcher = pattern.matcher("");
-        targets = new ArrayList();
+        listener.waitForSleepersToStart();
+        listener.waitForSleepersToTerminate();
     }
 
-    private void printList(Iterator i, String msg) {
-        System.out.println(msg + ":");
-        while (i.hasNext()) {
-            Integer lvmid = (Integer)i.next();
-            try {
-                VmIdentifier vmid = new VmIdentifier("//" + lvmid.intValue());
-                MonitoredVm target = host.getMonitoredVm(vmid);
+    public static class SleeperListener implements HostListener {
 
-                StringMonitor cmdMonitor =
-                        (StringMonitor)target.findByName("sun.rt.javaCommand");
-                String cmd = cmdMonitor.stringValue();
+        private final List<Integer> targets =  new ArrayList<>();
+        private final CountDownLatch terminateLatch;
+        private final CountDownLatch startLatch;
+        private final MonitoredHost host;
+        private final Matcher patternMatcher;
 
-                System.out.println("\t" + lvmid.intValue() + ": "
-                                   + "\"" + cmd + "\"" + ": ");
-            } catch (URISyntaxException e) {
-                System.err.println("Unexpected URISyntaxException: "
-                                   + e.getMessage());
-            } catch (MonitorException e) {
-                System.out.println("\t" + lvmid.intValue()
-                                   + ": error reading monitoring data: "
-                                   + " target possibly terminated?");
+        public SleeperListener(MonitoredHost host, Matcher matcher, int count) {
+            this.host = host;
+            this.patternMatcher = matcher;
+            this.terminateLatch = new CountDownLatch(count);
+            this.startLatch = new CountDownLatch(count);
+        }
+
+        public void waitForSleepersToTerminate() throws InterruptedException {
+            terminateLatch.await();
+        }
+
+        public void waitForSleepersToStart() throws InterruptedException {
+            startLatch.await();
+        }
+
+        private void printList(Set<Integer> list, String msg) {
+            System.out.println(msg + ":");
+            for (Integer lvmid : list) {
+                try {
+                    VmIdentifier vmid = new VmIdentifier("//" + lvmid.intValue());
+                    MonitoredVm target = host.getMonitoredVm(vmid);
+
+                    StringMonitor cmdMonitor =
+                            (StringMonitor)target.findByName("sun.rt.javaCommand");
+                    String cmd = cmdMonitor.stringValue();
+
+                    System.out.println("\t" + lvmid.intValue() + ": "
+                                       + "\"" + cmd + "\"" + ": ");
+                } catch (URISyntaxException e) {
+                    System.err.println("Unexpected URISyntaxException: "
+                                       + e.getMessage());
+                } catch (MonitorException e) {
+                    System.out.println("\t" + lvmid.intValue()
+                                       + ": error reading monitoring data: "
+                                       + " target possibly terminated?");
+                }
             }
         }
-    }
 
 
-    private int addStarted(Iterator i) {
-        int found = 0;
-        while (i.hasNext()) {
-            try {
-                Integer lvmid = (Integer)i.next();
-                VmIdentifier vmid = new VmIdentifier("//" + lvmid.intValue());
-                MonitoredVm target = host.getMonitoredVm(vmid);
+        private int addStarted(Set<Integer> started) {
+            int found = 0;
+            for (Integer lvmid : started) {
+                try {
+                    VmIdentifier vmid = new VmIdentifier("//" + lvmid.intValue());
+                    MonitoredVm target = host.getMonitoredVm(vmid);
 
-                StringMonitor cmdMonitor =
-                        (StringMonitor)target.findByName("sun.rt.javaCommand");
-                String cmd = cmdMonitor.stringValue();
+                    StringMonitor cmdMonitor =
+                            (StringMonitor)target.findByName("sun.rt.javaCommand");
+                    String cmd = cmdMonitor.stringValue();
 
-                patternMatcher.reset(cmd);
-                System.out.print("Started: " + lvmid.intValue()
-                                 + ": " + "\"" + cmd + "\"" + ": ");
+                    patternMatcher.reset(cmd);
+                    System.out.print("Started: " + lvmid.intValue()
+                                     + ": " + "\"" + cmd + "\"" + ": ");
 
-                if (patternMatcher.matches()) {
-                    System.out.println("matches pattern - recorded");
-                    targets.add(lvmid);
+                    if (patternMatcher.matches()) {
+                        System.out.println("matches pattern - recorded");
+                        targets.add(lvmid);
+                        found++;
+                    }
+                    else {
+                        System.out.println("does not match pattern - ignored");
+                    }
+                } catch (URISyntaxException e) {
+                    System.err.println("Unexpected URISyntaxException: "
+                                       + e.getMessage());
+                } catch (MonitorException e) {
+                    System.err.println("Unexpected MonitorException: "
+                                       + e.getMessage());
+                }
+            }
+            return found;
+        }
+
+        private int removeTerminated(Set<Integer> terminated) {
+            int found = 0;
+            for (Integer lvmid : terminated) {
+                /*
+                 * we don't attempt to attach to the target here as it's
+                 * now dead and has no jvmstat share memory file. Just see
+                 * if the process id is among those that we saved when we
+                 * started the targets (note - duplicated allowed and somewhat
+                 * expected on windows);
+                 */
+                System.out.print("Terminated: " + lvmid.intValue() + ": ");
+                if (targets.contains(lvmid)) {
+                    System.out.println("matches pattern - termination recorded");
+                    targets.remove(lvmid);
                     found++;
                 }
                 else {
                     System.out.println("does not match pattern - ignored");
                 }
-            } catch (URISyntaxException e) {
-                System.err.println("Unexpected URISyntaxException: "
-                                   + e.getMessage());
-            } catch (MonitorException e) {
-                System.err.println("Unexpected MonitorException: "
-                                   + e.getMessage());
+            }
+            return found;
+        }
+
+        @SuppressWarnings("unchecked")
+        public void vmStatusChanged(VmStatusChangeEvent ev) {
+            printList(ev.getActive(), "Active");
+            printList(ev.getStarted(), "Started");
+            printList(ev.getTerminated(), "Terminated");
+
+            int recentlyStarted = addStarted(ev.getStarted());
+            int recentlyTerminated = removeTerminated(ev.getTerminated());
+
+            for (int i = 0; i < recentlyTerminated; i++) {
+                terminateLatch.countDown();
+            }
+            for (int i = 0; i < recentlyStarted; i++) {
+                startLatch.countDown();
             }
         }
-        return found;
+
+        public void disconnected(HostEvent ev) {
+        }
     }
 
-    private int removeTerminated(Iterator i) {
-        int found = 0;
-        while (i.hasNext()) {
-            Integer lvmid = (Integer)i.next();
-            /*
-             * we don't attempt to attach to the target here as it's
-             * now dead and has no jvmstat share memory file. Just see
-             * if the process id is among those that we saved when we
-             * started the targets (note - duplicated allowed and somewhat
-             * expected on windows);
-             */
-            System.out.print("Terminated: " + lvmid.intValue() + ": ");
-            if (targets.contains(lvmid)) {
-                System.out.println("matches pattern - termination recorded");
-                targets.remove(lvmid);
-                found++;
+    public static class SleeperStarter extends Thread {
+
+        private final JavaProcess[] processes;
+        private final int execInterval;
+        private final String args;
+
+        public SleeperStarter(int sleepers, int execInterval, String args) {
+            this.execInterval = execInterval;
+            this.args = args;
+            this.processes = new JavaProcess[sleepers];
+        }
+
+        private synchronized int active() {
+            int active = processes.length;
+            for(JavaProcess jp : processes) {
+                try {
+                    jp.exitValue();
+                    active--;
+                } catch (IllegalThreadStateException e) {
+                    // process hasn't exited yet
+                }
             }
-            else {
-                System.out.println("does not match pattern - ignored");
-            }
-        }
-        return found;
-    }
-
-    public synchronized int getStarted() {
-        return started;
-    }
-
-    public synchronized int getTerminated() {
-        return terminated;
-    }
-
-    public void vmStatusChanged(VmStatusChangeEvent ev) {
-        if (DEBUG) {
-            printList(ev.getActive().iterator(), "Active");
-            printList(ev.getStarted().iterator(), "Started");
-            printList(ev.getTerminated().iterator(), "Terminated");
+            return active;
         }
 
-        int recentlyStarted = addStarted(ev.getStarted().iterator());
-        int recentlyTerminated = removeTerminated(
-                ev.getTerminated().iterator());
+        public void run() {
+           System.out.println("Starting " + processes.length + " sleepers");
 
-        synchronized (this) {
-            started += recentlyStarted;
-            terminated += recentlyTerminated;
-        }
-    }
+           String[] classpath = {
+               "-classpath",
+               System.getProperty("java.class.path")
+           };
 
-    public void disconnected(HostEvent ev) {
-    }
-}
-
-class SleeperStarter extends Thread {
-
-    JavaProcess[] processes;
-    int execInterval;
-    String args;
-
-    public SleeperStarter(int sleepers, int execInterval, String args) {
-        this.execInterval = execInterval;
-        this.args = args;
-        this.processes = new JavaProcess[sleepers];
-    }
-
-    private synchronized int active() {
-        int active = processes.length;
-        for(int i = 0; i < processes.length; i++) {
-            try {
-                int exitValue = processes[i].exitValue();
-                active--;
-            } catch (IllegalThreadStateException e) {
-                // process hasn't exited yet
-            }
-        }
-        return active;
-    }
-
-    public void run() {
-       System.out.println("Starting " + processes.length + " sleepers");
-
-       String[] classpath = {
-           "-classpath",
-           System.getProperty("java.class.path")
-       };
-
-       for (int i = 0; i < processes.length; i++) {
-           try {
-               System.out.println("Starting Sleeper " + i);
-               synchronized(this) {
-                   processes[i] = new JavaProcess("Sleeper", args + " " + i);
-                   processes[i].addOptions(classpath);
+           for (int i = 0; i < processes.length; i++) {
+               try {
+                   System.out.println("Starting Sleeper " + i);
+                   synchronized(this) {
+                       processes[i] = new JavaProcess("Sleeper", args + " " + i);
+                       processes[i].addOptions(classpath);
+                   }
+                   processes[i].start();
+                   Thread.sleep(execInterval);
+               } catch (InterruptedException ignore) {
+               } catch (IOException e) {
+                   System.err.println(
+                           "IOException trying to start Sleeper " + i + ": "
+                           + e.getMessage());
                }
-               processes[i].start();
-               Thread.sleep(execInterval);
-           } catch (InterruptedException ignore) {
-           } catch (IOException e) {
-               System.err.println(
-                       "IOException trying to start Sleeper " + i + ": "
-                       + e.getMessage());
            }
-       }
 
-       // spin waiting for the processes to terminate
-       while (active() > 0) ;
-
-       // give final termination event a change to propogate to
-       // the HostListener
-       try { Thread.sleep(2000); } catch (InterruptedException ignore) { }
+           // spin waiting for the processes to terminate
+           while (active() > 0) ;
+        }
     }
 }
+
diff --git a/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh b/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh
index 558ac9c..5c92c55 100644
--- a/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh
+++ b/jdk/test/sun/jvmstat/monitor/MonitoredVm/MonitorVmStartTerminate.sh
@@ -23,7 +23,6 @@
 
 #
 # @test
-# @ignore until 6543856 is fixed
 # @bug 4990825
 # @summary attach to external but local JVM processes
 # @library ../../testlibrary
@@ -39,6 +38,6 @@
 verify_os
 
 JAVA="${TESTJAVA}/bin/java"
-CP=${TESTJAVA}${FS}lib${FS}tools.jar${PS}${TESTCLASSES}
+CP=${TESTJAVA}${FS}lib${FS}tools.jar${PS}${TESTCLASSES}${PS}${TESTCLASSES}${FS}..${FS}..${FS}testlibrary
 
 ${JAVA} ${TESTVMOPTS} -classpath ${CP} MonitorVmStartTerminate
diff --git a/jdk/test/sun/jvmstat/testlibrary/JavaProcess.java b/jdk/test/sun/jvmstat/testlibrary/JavaProcess.java
index 62068ae..4013cfa 100644
--- a/jdk/test/sun/jvmstat/testlibrary/JavaProcess.java
+++ b/jdk/test/sun/jvmstat/testlibrary/JavaProcess.java
@@ -26,7 +26,6 @@
  */
 
 import java.io.*;
-import java.util.Properties;
 
 public class JavaProcess {
 
diff --git a/jdk/test/sun/management/HotspotThreadMBean/GetInternalThreads.java b/jdk/test/sun/management/HotspotThreadMBean/GetInternalThreads.java
index 1bfc364..08b0e42 100644
--- a/jdk/test/sun/management/HotspotThreadMBean/GetInternalThreads.java
+++ b/jdk/test/sun/management/HotspotThreadMBean/GetInternalThreads.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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,7 @@
 import java.lang.management.ManagementFactory;
 
 public class GetInternalThreads {
-    private static HotspotThreadMBean mbean =
+    private final static HotspotThreadMBean mbean =
         ManagementFactoryHelper.getHotspotThreadMBean();
 
     // Minimum number of VM internal threads
@@ -43,7 +43,7 @@
     private static final long MIN_VALUE_FOR_PASS = 4;
     private static final long MAX_VALUE_FOR_PASS = Long.MAX_VALUE;
 
-    public static void main(String[] args) {
+    public static void main(String[] args) throws Exception {
         long value = mbean.getInternalThreadCount();
 
         if (value < MIN_VALUE_FOR_PASS || value > MAX_VALUE_FOR_PASS) {
@@ -62,17 +62,28 @@
             return;
         }
 
-        Map times = mbean.getInternalThreadCpuTimes();
-        Iterator iter = times.entrySet().iterator();
-        for (; iter.hasNext(); ) {
-            Map.Entry entry = (Map.Entry) iter.next();
-            System.out.println(entry.getKey() +
-                " CPU time = " + entry.getValue() + "ns");
-            if (((Long) entry.getValue()).longValue() < 0) {
-                throw new RuntimeException("Thread CPU time" +
-                    "illegal value: " + entry.getValue());
+        while(!testCPUTime()) {
+            Thread.sleep(100);
+        }
+    }
+
+    private static boolean testCPUTime() {
+        Map<String, Long> times = mbean.getInternalThreadCpuTimes();
+        for(Map.Entry<String, Long> entry : times.entrySet())  {
+            String threadName = entry.getKey();
+            long cpuTime = entry.getValue();
+            System.out.println("CPU time = " + cpuTime + " for " + threadName);
+            if (cpuTime == -1) {
+                // Can happen when there is a race between a thread being created
+                // and the request to get its CPU time. The "/proc/..." structure might
+                // not be ready at that time and the routine will return -1.
+                System.out.println("Retry, proc structure might not be ready (-1)");
+                return false;
+            }
+            if (cpuTime < 0) {
+                throw new RuntimeException("Illegal CPU time: " + cpuTime);
             }
         }
-        System.out.println("Test passed.");
+        return true;
     }
 }
diff --git a/jdk/test/sun/management/jdp/ClientConnection.java b/jdk/test/sun/management/jdp/ClientConnection.java
new file mode 100644
index 0000000..b5bbe67
--- /dev/null
+++ b/jdk/test/sun/management/jdp/ClientConnection.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.net.InetAddress;
+import java.net.MulticastSocket;
+import java.net.UnknownHostException;
+
+public class ClientConnection {
+
+    public final String IANA_JDP_ADDRESS = "224.0.23.178";
+    public final String IANA_JDP_PORT = "7095";
+    public final String UNDEFINED_NAME = "TheVMwithNoName";
+
+    public final int port;
+    public final InetAddress address;
+    public final int pauseInSeconds;
+    public final String instanceName;
+
+    public ClientConnection()
+            throws UnknownHostException {
+
+        String discoveryAddress = System.getProperty("com.sun.management.jdp.address", IANA_JDP_ADDRESS);
+        address = InetAddress.getByName(discoveryAddress);
+
+        String discoveryPort = System.getProperty("com.sun.management.jdp.port", IANA_JDP_PORT);
+        port = Integer.parseInt(discoveryPort);
+
+        String pause = System.getProperty("com.sun.management.jdp.pause", "1");
+        pauseInSeconds = Integer.parseUnsignedInt(pause);
+
+        instanceName = System.getProperty("com.sun.management.jdp.name", UNDEFINED_NAME);
+
+    }
+
+    public MulticastSocket connectWithTimeout(int msTimeOut) throws IOException {
+        MulticastSocket socket = new MulticastSocket(port);
+        socket.joinGroup(address);
+        socket.setSoTimeout(msTimeOut);
+        return socket;
+    }
+}
diff --git a/jdk/test/sun/management/jdp/DynamicLauncher.java b/jdk/test/sun/management/jdp/DynamicLauncher.java
new file mode 100644
index 0000000..e6e3320
--- /dev/null
+++ b/jdk/test/sun/management/jdp/DynamicLauncher.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.testlibrary.OutputAnalyzer;
+import jdk.testlibrary.ProcessTools;
+import jdk.testlibrary.Utils;
+
+import java.util.UUID;
+
+
+/**
+ * This class will try to find an unused port and run a JdpTestCase using it.
+ * The unused port is needed for jmxremote.port.
+ * The problem with busy ports arises when running many automated tests on the same host.
+ * Note that jdp.port is a multicast port and thus it can be binded by different processes at the same time.
+ */
+public abstract class DynamicLauncher {
+
+    final String jdpName = UUID.randomUUID().toString();
+    int jmxPort;
+
+    protected void run() throws Exception {
+        OutputAnalyzer out;
+        int retries = 1;
+        boolean tryAgain;
+
+        do {
+            tryAgain = false;
+            jmxPort = Utils.getFreePort();
+            out = runVM();
+            try {
+                out.shouldNotContain("Port already in use");
+            } catch (RuntimeException e) {
+                if (retries < 3) {
+                    retries++;
+                    tryAgain = true;
+                }
+            }
+        } while (tryAgain);
+    }
+
+    protected OutputAnalyzer runVM() throws Exception {
+        String[] options = this.options();
+        ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(options);
+        OutputAnalyzer out = new OutputAnalyzer(pb.start());
+        System.out.println(out.getStdout());
+        System.err.println(out.getStderr());
+        return out;
+    }
+
+    protected abstract String[] options();
+
+}
diff --git a/jdk/test/sun/management/jdp/JdpClient.java b/jdk/test/sun/management/jdp/JdpClient.java
index 992c45e..3b6fa95 100644
--- a/jdk/test/sun/management/jdp/JdpClient.java
+++ b/jdk/test/sun/management/jdp/JdpClient.java
@@ -36,6 +36,7 @@
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.Map;
+
 import sun.management.jdp.JdpException;
 import sun.management.jdp.JdpJmxPacket;
 import sun.management.jdp.JdpPacketReader;
@@ -49,21 +50,21 @@
         private static int maxPacketCount = 1;
         private static int maxEmptyPacketCount = 10;
 
-        private void get(Map<?,?> map, String key)
-            throws JdpException {
+        private void get(Map<?, ?> map, String key)
+                throws JdpException {
 
             if (map.get(key) == null) {
-                  throw new JdpException("Test failed, packet field " + key + " missed");
+                throw new JdpException("Test failed, packet field " + key + " missed");
             }
         }
 
         private void checkFieldPresence(JdpJmxPacket p)
-            throws IOException, JdpException {
+                throws IOException, JdpException {
 
             byte[] b = p.getPacketData();
 
             JdpPacketReader reader = new JdpPacketReader(b);
-            Map<String,String> pMap = reader.getDiscoveryDataAsMap();
+            Map<String, String> pMap = reader.getDiscoveryDataAsMap();
 
             get(pMap, JdpJmxPacket.UUID_KEY);
             get(pMap, JdpJmxPacket.MAIN_CLASS_KEY);
@@ -102,11 +103,11 @@
                         sel.select(10 * 1000);
                         channel.receive(buf);
 
-                        if (buf.position() == 0 ){
-                            if (JdpDoSomething.getVerbose()){
+                        if (buf.position() == 0) {
+                            if (JdpDoSomething.getVerbose()) {
                                 System.err.println("Empty packet received");
                             }
-                            if (++emptyPacketsCount > maxEmptyPacketCount){
+                            if (++emptyPacketsCount > maxEmptyPacketCount) {
                                 throw new RuntimeException("Test failed, maxEmptyPacketCount reached");
                             }
 
@@ -120,8 +121,8 @@
                             JdpJmxPacket packet = new JdpJmxPacket(dgramData);
                             JdpDoSomething.printJdpPacket(packet);
                             checkFieldPresence(packet);
-                            if(++count > maxPacketCount){
-                                   break;
+                            if (++count > maxPacketCount) {
+                                break;
                             }
                         } catch (JdpException e) {
                             e.printStackTrace();
@@ -179,7 +180,7 @@
             PacketListener listener = new PacketListener(channel);
             new Thread(listener, "Jdp Client").start();
 
-        } catch (RuntimeException e){
+        } catch (RuntimeException e) {
             System.out.println("Test failed.");
         } catch (Exception e) {
             e.printStackTrace();
diff --git a/jdk/test/sun/management/jdp/JdpDefaultsTest.java b/jdk/test/sun/management/jdp/JdpDefaultsTest.java
new file mode 100644
index 0000000..9067be7
--- /dev/null
+++ b/jdk/test/sun/management/jdp/JdpDefaultsTest.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+/**
+ * A JVM with JDP on should send multicast JDP packets regularly.
+ *
+ * @author Alex Schenkman
+ * @test JdpDefaultsTest
+ * @summary Assert that we can read JDP packets from a multicast socket connection, on default IP and port.
+ * @library /lib/testlibrary
+ * @build ClientConnection JdpTestUtil JdpTestCase JdpOnTestCase DynamicLauncher
+ * @run main JdpDefaultsTest
+ */
+
+public class JdpDefaultsTest extends DynamicLauncher {
+
+    final String testName = "JdpOnTestCase";
+
+    public static void main(String[] args) throws Exception {
+        DynamicLauncher launcher = new JdpDefaultsTest();
+        launcher.run();
+    }
+
+    /**
+     * Send Jdp multicast packets to the default IP and port, 224.0.23.178:7095
+     */
+    protected String[] options() {
+        String[] options = {
+                "-Dcom.sun.management.jmxremote.authenticate=false",
+                "-Dcom.sun.management.jmxremote.ssl=false",
+                "-Dcom.sun.management.jmxremote=true",
+                "-Dcom.sun.management.jmxremote.port=" + String.valueOf(jmxPort),
+                "-Dcom.sun.management.jmxremote.autodiscovery=true",
+                "-Dcom.sun.management.jdp.pause=1",
+                "-Dcom.sun.management.jdp.name=" + jdpName,
+                "-Dcom.sun.management.jdp.address=224.0.23.178",
+                "-Djava.util.logging.SimpleFormatter.format='%1$tF %1$tT %4$-7s %5$s %n'",
+                testName
+        };
+        return options;
+    }
+}
diff --git a/jdk/test/sun/management/jdp/JdpDoSomething.java b/jdk/test/sun/management/jdp/JdpDoSomething.java
index 56032df..3c5f048 100644
--- a/jdk/test/sun/management/jdp/JdpDoSomething.java
+++ b/jdk/test/sun/management/jdp/JdpDoSomething.java
@@ -34,7 +34,7 @@
     private static final String lockFileName = "JdpDoSomething.lck";
     private static final boolean verbose = false;
 
-    public static boolean getVerbose(){
+    public static boolean getVerbose() {
         return verbose;
     }
 
@@ -61,7 +61,7 @@
     }
 
     public static void compaireJdpPacketEx(JdpJmxPacket p1, JdpJmxPacket p2)
-    throws JdpException {
+            throws JdpException {
 
         if (!Objects.equals(p1, p1)) {
             throw new JdpException("Packet mismatch error");
diff --git a/jdk/test/sun/management/jdp/JdpOffTest.java b/jdk/test/sun/management/jdp/JdpOffTest.java
new file mode 100644
index 0000000..7810400
--- /dev/null
+++ b/jdk/test/sun/management/jdp/JdpOffTest.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+/**
+ * A JVM with JDP off should not send multicast JDP packets at all.
+ * com.sun.management.jmxremote.autodiscovery=false should be respected.
+ *
+ * @author Alex Schenkman
+ * @test JdpOffTest.java
+ * @summary Assert that no JDP packets are sent to the default address and port.
+ * @library /lib/testlibrary
+ * @build ClientConnection JdpTestUtil JdpTestCase JdpOffTestCase DynamicLauncher
+ * @run main JdpOffTest
+ */
+
+
+public class JdpOffTest extends DynamicLauncher {
+
+    final String testName = "JdpOffTestCase";
+
+    public static void main(String[] args) throws Exception {
+        DynamicLauncher launcher = new JdpOffTest();
+        launcher.run();
+    }
+
+    /**
+     * Send Jdp multicast packets to the specified IP and port, 224.0.1.2:1234
+     */
+    protected String[] options() {
+        String[] options = {
+                "-Dcom.sun.management.jmxremote.authenticate=false",
+                "-Dcom.sun.management.jmxremote.ssl=false",
+                "-Dcom.sun.management.jmxremote=true",
+                "-Dcom.sun.management.jmxremote.port=" + String.valueOf(jmxPort),
+                "-Dcom.sun.management.jmxremote.autodiscovery=false",
+                "-Dcom.sun.management.jdp.pause=1",
+                "-Dcom.sun.management.jdp.name=" + jdpName,
+                "-Djava.util.logging.SimpleFormatter.format='%1$tF %1$tT %4$-7s %5$s %n'",
+                testName
+        };
+        return options;
+    }
+
+}
diff --git a/jdk/test/sun/management/jdp/JdpOffTestCase.java b/jdk/test/sun/management/jdp/JdpOffTestCase.java
new file mode 100644
index 0000000..180f18be
--- /dev/null
+++ b/jdk/test/sun/management/jdp/JdpOffTestCase.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+/**
+ * A JVM with JDP off should not send multicast JDP packets at all.
+ * com.sun.management.jmxremote.autodiscovery=false should be respected.
+ */
+
+import java.net.SocketTimeoutException;
+import java.util.Map;
+
+public class JdpOffTestCase extends JdpTestCase {
+
+    private boolean testPassed = false;
+
+    public JdpOffTestCase(ClientConnection connection) {
+        super(connection);
+    }
+
+    /**
+     * Subclasses: JdpOnTestCase and JdpOffTestCase have different messages.
+     */
+    @Override
+    protected String initialLogMessage() {
+        return "Expecting NOT to receive any packets with jdp.name=" + connection.instanceName;
+    }
+
+    /**
+     * The socket has not received anything, and this is the expected behavior.
+     */
+    @Override
+    protected void onSocketTimeOut(SocketTimeoutException e) throws Exception {
+        log.fine("No packages received. Test passed!");
+        testPassed = true;
+    }
+
+
+    /**
+     * This method is executed after a correct Jdp packet, coming from this VM has been received.
+     *
+     * @param payload A dictionary containing the data if the received Jdp packet.
+     */
+    @Override
+    protected void packetFromThisVMReceived(Map<String, String> payload) throws Exception {
+        String message = "Jdp packet from this VM received. This should not happen!";
+        log.severe(message);
+        throw new Exception(message);
+    }
+
+
+    /**
+     * The test should stop after the socket has timed out. See onSocketTimeOut {@link}.
+     */
+    @Override
+    protected boolean shouldContinue() {
+        return !testPassed;
+    }
+
+    public static void main(String[] args) throws Exception {
+        JdpTestCase client = new JdpOffTestCase(new ClientConnection());
+        client.run();
+    }
+
+}
diff --git a/jdk/test/sun/management/jdp/JdpOnTestCase.java b/jdk/test/sun/management/jdp/JdpOnTestCase.java
new file mode 100644
index 0000000..107ca5a
--- /dev/null
+++ b/jdk/test/sun/management/jdp/JdpOnTestCase.java
@@ -0,0 +1,106 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+/**
+ * A JVM with JDP on should send multicast JDP packets regularly.
+ *
+ * See main for more information on running this test manually.
+ * See Launcher classes for automated runs.
+ *
+ */
+
+import java.net.SocketTimeoutException;
+import java.util.Map;
+
+public class JdpOnTestCase extends JdpTestCase {
+
+    private int receivedJDPpackets = 0;
+
+    public JdpOnTestCase(ClientConnection connection) {
+        super(connection);
+    }
+
+    /**
+     * Subclasses: JdpOnTestCase and JdpOffTestCase have different messages.
+     */
+    @Override
+    protected String initialLogMessage() {
+        return "Waiting for 3 packets with jdp.name=" + connection.instanceName;
+    }
+
+    /**
+     * This method is executed after a correct Jdp packet (coming from this VM) has been received.
+     *
+     * @param payload A dictionary containing the data if the received Jdp packet.
+     */
+    protected void packetFromThisVMReceived(Map<String, String> payload) {
+        receivedJDPpackets++;
+        final String jdpName = payload.get("INSTANCE_NAME");
+        log.fine("Received correct JDP packet #" + String.valueOf(receivedJDPpackets) +
+                ", jdp.name=" + jdpName);
+    }
+
+    /**
+     * The socket should not timeout.
+     * It is set to wait for 10 times the defined pause between Jdp packet. See JdpOnTestCase.TIME_OUT_FACTOR.
+     */
+    @Override
+    protected void onSocketTimeOut(SocketTimeoutException e) throws Exception {
+        String message = "Timed out waiting for JDP packet. Should arrive within " +
+                connection.pauseInSeconds + " seconds, but waited for " +
+                timeOut + " seconds.";
+        log.severe(message);
+        throw new Exception(message, e);
+    }
+
+    /**
+     * After receiving three Jdp packets the test should end.
+     */
+    @Override
+    protected boolean shouldContinue() {
+        return receivedJDPpackets < 3;
+    }
+
+    /**
+     * To run this test manually you might need the following VM options:
+     * <p/>
+     * -Dcom.sun.management.jmxremote.authenticate=false
+     * -Dcom.sun.management.jmxremote.ssl=false
+     * -Dcom.sun.management.jmxremote.port=4711    (or some other port number)
+     * -Dcom.sun.management.jmxremote=true
+     * -Dcom.sun.management.jmxremote.autodiscovery=true
+     * -Dcom.sun.management.jdp.pause=1
+     * -Dcom.sun.management.jdp.name=alex  (or some other string to identify this VM)
+     * <p/>
+     * Recommended for nice output:
+     * -Djava.util.logging.SimpleFormatter.format="%1$tF %1$tT %4$-7s %5$s %n"
+     *
+     * @param args
+     * @throws Exception
+     */
+    public static void main(String[] args) throws Exception {
+        JdpTestCase client = new JdpOnTestCase(new ClientConnection());
+        client.run();
+    }
+
+}
diff --git a/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java b/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java
new file mode 100644
index 0000000..8a79176
--- /dev/null
+++ b/jdk/test/sun/management/jdp/JdpSpecificAddressTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+/**
+ * A JVM with JDP on should send multicast JDP packets regularly.
+ *
+ * @author Alex Schenkman
+ * @test JdpSpecificAddressTest
+ * @summary Assert that we can read JDP packets from a multicast socket connection, on specific IP and port.
+ * @library /lib/testlibrary
+ * @build ClientConnection JdpTestUtil JdpTestCase JdpOnTestCase DynamicLauncher
+ * @run main JdpSpecificAddressTest
+ */
+
+
+public class JdpSpecificAddressTest extends DynamicLauncher {
+
+    final String testName = "JdpOnTestCase";
+
+    public static void main(String[] args) throws Exception {
+        DynamicLauncher launcher = new JdpSpecificAddressTest();
+        launcher.run();
+    }
+
+    /**
+     * Send Jdp multicast packets to the specified IP and port, 224.0.1.2:1234
+     */
+    protected String[] options() {
+        String[] options = {
+                "-Dcom.sun.management.jmxremote.authenticate=false",
+                "-Dcom.sun.management.jmxremote.ssl=false",
+                "-Dcom.sun.management.jmxremote=true",
+                "-Dcom.sun.management.jmxremote.port=" + String.valueOf(jmxPort),
+                "-Dcom.sun.management.jmxremote.autodiscovery=true",
+                "-Dcom.sun.management.jdp.pause=1",
+                "-Dcom.sun.management.jdp.name=" + jdpName,
+                "-Dcom.sun.management.jdp.address=224.0.1.2",
+                "-Dcom.sun.management.jdp.port=1234",
+                "-Djava.util.logging.SimpleFormatter.format='%1$tF %1$tT %4$-7s %5$s %n'",
+                testName
+        };
+        return options;
+    }
+
+}
diff --git a/jdk/test/sun/management/jdp/JdpTest.sh b/jdk/test/sun/management/jdp/JdpTest.sh
index 20265f4..cd48202 100644
--- a/jdk/test/sun/management/jdp/JdpTest.sh
+++ b/jdk/test/sun/management/jdp/JdpTest.sh
@@ -33,7 +33,7 @@
 
 # temporary disable jcmd related tests
 # _testsuite="01,02,03,04,05"
-_testsuite="01,02,04"
+_testsuite="01"
 
 _pwd=`pwd`
 
diff --git a/jdk/test/sun/management/jdp/JdpTestCase.java b/jdk/test/sun/management/jdp/JdpTestCase.java
new file mode 100644
index 0000000..fbd0d72
--- /dev/null
+++ b/jdk/test/sun/management/jdp/JdpTestCase.java
@@ -0,0 +1,220 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+/**
+ * A JVM with JDP on should send multicast JDP packets regularly.
+ * Look at JdpOnTestCase.java and JdpOffTestCase.java
+ */
+
+
+import sun.management.jdp.JdpJmxPacket;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.DatagramPacket;
+import java.net.MulticastSocket;
+import java.net.SocketTimeoutException;
+import java.util.Arrays;
+import java.util.Map;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+public abstract class JdpTestCase {
+    final Logger log = Logger.getLogger("sun.management.jdp");
+    final int MAGIC = 0xC0FFEE42;                       // Jdp magic number.
+    private static final int BUFFER_LENGTH = 64 * 1024;   // max UDP size, except for IPv6 jumbograms.
+    private final int TIME_OUT_FACTOR = 10;             // Socket times out after 10 times the jdp pause.
+    protected int timeOut;
+    private long startTime;
+    protected ClientConnection connection;
+
+    public JdpTestCase(ClientConnection connection) {
+        this.connection = connection;
+        JdpTestUtil.enableConsoleLogging(log, Level.ALL);
+    }
+
+    public void run() throws Exception {
+        log.fine("Test started.");
+        log.fine("Listening for multicast packets at " + connection.address.getHostAddress()
+                + ":" + String.valueOf(connection.port));
+        log.fine(initialLogMessage());
+        log.fine("Pause in between packets is: " + connection.pauseInSeconds + " seconds.");
+
+        startTime = System.currentTimeMillis();
+        timeOut = connection.pauseInSeconds * TIME_OUT_FACTOR;
+        log.fine("Timeout set to " + String.valueOf(timeOut) + " seconds.");
+
+        MulticastSocket socket = connection.connectWithTimeout(timeOut * 1000);
+
+        byte[] buffer = new byte[BUFFER_LENGTH];
+        DatagramPacket datagram = new DatagramPacket(buffer, buffer.length);
+
+        do {
+            try {
+                socket.receive(datagram);
+                onReceived(extractUDPpayload(datagram));
+            } catch (SocketTimeoutException e) {
+                onSocketTimeOut(e);
+            }
+
+            if (hasTestLivedLongEnough()) {
+                shutdown();
+            }
+
+        } while (shouldContinue());
+        log.fine("Test ended successfully.");
+    }
+
+    /**
+     * Subclasses: JdpOnTestCase and JdpOffTestCase have different messages.
+     */
+    protected abstract String initialLogMessage();
+
+
+    /**
+     * Executed when the socket receives a UDP packet.
+     */
+    private void onReceived(byte[] packet) throws Exception {
+        if (isJDP(packet)) {
+            Map<String, String> payload = checkStructure(packet);
+            jdpPacketReceived(payload);
+        } else {
+            log.fine("Non JDP packet received, ignoring it.");
+        }
+    }
+
+    /**
+     * Determine whether the test should end.
+     *
+     * @return
+     */
+    abstract protected boolean shouldContinue();
+
+    /**
+     * This method is executed when the socket has not received any packet for timeOut seconds.
+     */
+    abstract protected void onSocketTimeOut(SocketTimeoutException e) throws Exception;
+
+    /**
+     * This method is executed after a correct Jdp packet has been received.
+     *
+     * @param payload A dictionary containing the data if the received Jdp packet.
+     */
+    private void jdpPacketReceived(Map<String, String> payload) throws Exception {
+        final String instanceName = payload.get("INSTANCE_NAME");
+        if (instanceName.equals(connection.instanceName)) {
+            packetFromThisVMReceived(payload);
+        } else {
+            packetFromOtherVMReceived(payload);
+        }
+    }
+
+    /**
+     * This method is executed after a correct Jdp packet, coming from this VM has been received.
+     *
+     * @param payload A dictionary containing the data if the received Jdp packet.
+     */
+    protected abstract void packetFromThisVMReceived(Map<String, String> payload) throws Exception;
+
+
+    /**
+     * This method is executed after a correct Jdp packet, coming from another VM has been received.
+     *
+     * @param payload A dictionary containing the data if the received Jdp packet.
+     */
+    protected void packetFromOtherVMReceived(Map<String, String> payload) {
+        final String jdpName = payload.get("INSTANCE_NAME");
+        log.fine("Ignoring JDP packet sent by other VM, jdp.name=" + jdpName);
+    }
+
+
+    /**
+     * The test should stop if it has been 12 times the jdp.pause.
+     * jdp.pause is how many seconds in between packets.
+     * <p/>
+     * This timeout (12 times)is slightly longer than the socket timeout (10 times) on purpose.
+     * In the off test case, the socket should time out first.
+     *
+     * @return
+     */
+    protected boolean hasTestLivedLongEnough() {
+        long now = System.currentTimeMillis();
+        boolean haslivedLongEnough = (now - startTime) > (timeOut * 1.2 * 1000);
+        return haslivedLongEnough;
+    }
+
+    /**
+     * This exit condition arises when we receive UDP packets but they are not valid Jdp.
+     */
+    protected void shutdown() throws Exception {
+        log.severe("Shutting down the test.");
+        throw new Exception("Not enough JDP packets received before timeout!");
+    }
+
+    /**
+     * Assert that this Jdp packet contains the required two keys.
+     * <p/>
+     * We expect zero packet corruption and thus fail on the first corrupted packet.
+     * This might need revision.
+     */
+    protected Map<String, String> checkStructure(byte[] packet) throws UnsupportedEncodingException {
+        Map<String, String> payload = JdpTestUtil.readPayload(packet);
+        assertTrue(payload.size() >= 2, "JDP should have minimun 2 entries.");
+        assertTrue(payload.get(JdpJmxPacket.UUID_KEY).length() > 0);
+        assertTrue(payload.get(JdpJmxPacket.JMX_SERVICE_URL_KEY).length() > 0);
+        return payload;
+    }
+
+
+    /**
+     * Check if packet has correct JDP magic number.
+     *
+     * @param packet
+     * @return
+     * @throws IOException
+     */
+    private boolean isJDP(byte[] packet) throws IOException {
+        int magic = JdpTestUtil.decode4ByteInt(packet, 0);
+        return (magic == MAGIC);
+    }
+
+    private byte[] extractUDPpayload(DatagramPacket datagram) {
+        byte[] data = Arrays.copyOf(datagram.getData(), datagram.getLength());
+        return data;
+    }
+
+    /**
+     * Hack until I find a way to use TestNG's assertions.
+     */
+    private void assertTrue(boolean assertion, String message) {
+        if (assertion == false) {
+            log.severe(message);
+            assert (false);
+        }
+    }
+
+    private void assertTrue(boolean assertion) {
+        assertTrue(assertion, "");
+    }
+
+}
diff --git a/jdk/test/sun/management/jdp/JdpTestUtil.java b/jdk/test/sun/management/jdp/JdpTestUtil.java
new file mode 100644
index 0000000..353c118
--- /dev/null
+++ b/jdk/test/sun/management/jdp/JdpTestUtil.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.UnsupportedEncodingException;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.logging.ConsoleHandler;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * Utility methods for parsing raw JDP packets.
+ *
+ * @author Alex Schenkman
+ */
+public class JdpTestUtil {
+
+    static final int HEADER_SIZE = 4 + 2;   // magic + protocol version
+
+    /**
+     * Reads two bytes, starting at the given position,
+     * and converts them into an int.
+     *
+     * @param data
+     * @param pos
+     * @return
+     */
+    static int decode2ByteInt(byte[] data, int pos) {
+        return (((data[pos] & 0xFF) << 8) | (data[pos + 1] & 0xFF));
+    }
+
+    /**
+     * Reads four bytes, starting at the given position,
+     * and converts them into an int.
+     *
+     * @param data
+     * @param pos
+     * @return
+     */
+    static int decode4ByteInt(byte[] data, int pos) {
+        int result = data[pos + 3] & 0xFF;
+        result = result | ((data[pos + 2] & 0xFF) << 8);
+        result = result | ((data[pos + 1] & 0xFF) << 16);
+        result = result | ((data[pos] & 0xFF) << 24);
+        return result;
+    }
+
+    /**
+     * Reads an entry from the given byte array, starting at the given position.
+     * This is an internal function used by @see readRawPayload(byte[] rawPayload, int size).
+     * <p/>
+     * The format of an entry is:
+     * 2 bytes with the size of the following string.
+     * n bytes of characters.
+     *
+     * @param data
+     * @param pos
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    static String decodeEntry(byte[] data, int pos)
+            throws UnsupportedEncodingException {
+
+        int size = JdpTestUtil.decode2ByteInt(data, pos);
+        pos = pos + 2;
+        byte[] raw = Arrays.copyOfRange(data, pos, pos + size);
+        return new String(raw, "UTF-8");
+    }
+
+    /**
+     * Builds a Map with the payload, from the raw data.
+     *
+     * @param rawData
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    static Map<String, String> readPayload(byte[] rawData)
+            throws UnsupportedEncodingException {
+
+        int totalSize = rawData.length;
+        int payloadSize = totalSize - HEADER_SIZE;
+        byte[] rawPayload = Arrays.copyOfRange(rawData, HEADER_SIZE, HEADER_SIZE + payloadSize);
+        Map<String, String> payload = readRawPayload(rawPayload, payloadSize);
+        return payload;
+    }
+
+    /**
+     * Builds a map from the payload's raw data.
+     * This is an internal function used by @see readPayload(byte[] rawData)
+     *
+     * @param rawPayload
+     * @param size
+     * @return
+     * @throws UnsupportedEncodingException
+     */
+    static Map<String, String> readRawPayload(byte[] rawPayload, int size)
+            throws UnsupportedEncodingException {
+
+        String key, value;
+        Map<String, String> payload = new HashMap<String, String>();
+
+        for (int pos = 0; pos < size; ) {
+            key = decodeEntry(rawPayload, pos);
+            pos = pos + 2 + key.length();
+            value = decodeEntry(rawPayload, pos);
+            pos = pos + 2 + value.length();
+
+            payload.put(key, value);
+        }
+        return payload;
+    }
+
+    static void enableConsoleLogging(Logger log, Level level) throws SecurityException {
+        ConsoleHandler handler = new ConsoleHandler();
+        handler.setLevel(level);
+        log.addHandler(handler);
+        log.setLevel(level);
+    }
+
+}
diff --git a/jdk/test/sun/management/jdp/JdpTestUtilTest.java b/jdk/test/sun/management/jdp/JdpTestUtilTest.java
new file mode 100644
index 0000000..adbd104
--- /dev/null
+++ b/jdk/test/sun/management/jdp/JdpTestUtilTest.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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 org.testng.annotations.Test;
+
+import java.io.UnsupportedEncodingException;
+import java.util.Map;
+
+import static jdk.testlibrary.Asserts.assertEquals;
+
+
+/*
+    Unit test for the utility functions in JdpTestUtil.
+    These are not meant to be by automatically run by JTREG.
+    They exists to support test development and should be run by the test developer.
+*/
+
+public class JdpTestUtilTest {
+
+    @Test
+    public void testDecodeEntry() throws UnsupportedEncodingException {
+        byte[] data = {'x', 0, 4, 'a', 'l', 'e', 'x'};
+        String result = JdpTestUtil.decodeEntry(data, 1);
+        assertEquals("alex", result);
+    }
+
+    @Test
+    public void testDecode2ByteInt() {
+        byte[] data = {'x', (byte) 0xff, (byte) 0xff};
+        int value = JdpTestUtil.decode2ByteInt(data, 1);
+        assertEquals(65535, value);
+    }
+
+    @Test
+    public void testDecode4ByteInt() {
+        byte[] data = {'x', (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff};
+        int value = JdpTestUtil.decode4ByteInt(data, 1);
+        assertEquals(0xffffffff, value);
+
+    }
+
+    @Test
+    public void testReadRawPayload() throws UnsupportedEncodingException {
+        byte[] data = {0, 3, 'f', 'o', 'o', 0, 4, 'b', 'a', 'r', 's'};
+        Map<String, String> payload = JdpTestUtil.readRawPayload(data, data.length);
+
+        assertEquals(1, payload.size());
+        assertEquals("bars", payload.get("foo"));
+    }
+
+    @Test
+    public void testReadPayload() throws UnsupportedEncodingException {
+        byte[] data = {1, 2, 3, 4, 1, 2, 0, 3, 'f', 'o', 'o', 0, 4, 'b', 'a', 'r', 's'};
+        Map<String, String> payload = JdpTestUtil.readPayload(data);
+
+        assertEquals(1, payload.size());
+        assertEquals("bars", payload.get("foo"));
+    }
+
+}
diff --git a/jdk/test/sun/management/jdp/JdpUnitTest.java b/jdk/test/sun/management/jdp/JdpUnitTest.java
index 2bd6140..ca54940 100644
--- a/jdk/test/sun/management/jdp/JdpUnitTest.java
+++ b/jdk/test/sun/management/jdp/JdpUnitTest.java
@@ -33,22 +33,22 @@
 public class JdpUnitTest {
 
 
-    static byte[] russian_name = {(byte)0xd0,(byte)0xbf,(byte)0xd1,(byte)0x80,(byte)0xd0,(byte)0xbe,(byte)0xd0,(byte)0xb2,
-                                  (byte)0xd0,(byte)0xb5,(byte)0xd1,(byte)0x80,(byte)0xd0,(byte)0xba,(byte)0xd0,(byte)0xb0,
-                                  (byte)0x20,(byte)0xd1,(byte)0x81,(byte)0xd0,(byte)0xb2,(byte)0xd1,(byte)0x8f,(byte)0xd0,
-                                  (byte)0xb7,(byte)0xd0,(byte)0xb8,(byte)0x0a};
+    static byte[] russian_name = {(byte) 0xd0, (byte) 0xbf, (byte) 0xd1, (byte) 0x80, (byte) 0xd0, (byte) 0xbe, (byte) 0xd0, (byte) 0xb2,
+            (byte) 0xd0, (byte) 0xb5, (byte) 0xd1, (byte) 0x80, (byte) 0xd0, (byte) 0xba, (byte) 0xd0, (byte) 0xb0,
+            (byte) 0x20, (byte) 0xd1, (byte) 0x81, (byte) 0xd0, (byte) 0xb2, (byte) 0xd1, (byte) 0x8f, (byte) 0xd0,
+            (byte) 0xb7, (byte) 0xd0, (byte) 0xb8, (byte) 0x0a};
 
     /**
      * This test tests that complete packet is build correctly
      */
     public static void PacketBuilderTest()
-        throws IOException, JdpException {
+            throws IOException, JdpException {
 
         /* Complete packet test */
         {
             JdpJmxPacket p1 = new JdpJmxPacket(UUID.randomUUID(), "fake://unit-test");
             p1.setMainClass("FakeUnitTest");
-            p1.setInstanceName( new String(russian_name,"UTF-8"));
+            p1.setInstanceName(new String(russian_name, "UTF-8"));
             byte[] b = p1.getPacketData();
 
             JdpJmxPacket p2 = new JdpJmxPacket(b);
@@ -68,7 +68,7 @@
             JdpDoSomething.compaireJdpPacketEx(p1, p2);
         }
 
-         System.out.println("OK: Test passed");
+        System.out.println("OK: Test passed");
 
     }
 
diff --git a/jdk/test/sun/management/jdp/PacketTest.java b/jdk/test/sun/management/jdp/PacketTest.java
new file mode 100644
index 0000000..1fdcaf7
--- /dev/null
+++ b/jdk/test/sun/management/jdp/PacketTest.java
@@ -0,0 +1,121 @@
+/*
+ * Copyright (c) 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.
+ *
+ * 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.util.Map;
+import java.util.UUID;
+
+import org.testng.annotations.Test;
+import sun.management.jdp.JdpJmxPacket;
+
+import static org.testng.Assert.assertEquals;
+
+
+/**
+ * These tests are unit tests used for test development.
+ * These are not meant to be by automatically run by JTREG.
+ * They exists to support test development and should be run by the test developer.
+ * <p/>
+ * <p/>
+ * The JDP packet format:
+ * <p/>
+ * packet = header + payload
+ * <p/>
+ * header  = magic + version
+ * magic       = 4 bytes: 0xCOFFEE42
+ * version     = 2 bytes: 01 (As of 2013-05-01)
+ * <p/>
+ * payload = list key/value pairs
+ * keySize     = 2 bytes
+ * key         = (keySize) bytes
+ * valueSize   = 2 bytes
+ * value       = (valueSize) bytes
+ * <p/>
+ * <p/>
+ * Two entries are mandatory in the payload:
+ * UUID            (JdpJmxPacket.UUID_KEY)
+ * JMX service URL (JdpJmxPacket.JMX_SERVICE_URL_KEY)
+ * <p/>
+ * These two entries are optional:
+ * Main Class      (JdpJmxPacket.MAIN_CLASS_KEY)
+ * Instance name   (JdpJmxPacket.INSTANCE_NAME_KEY)
+ *
+ * @author Alex Schenkman
+ *         <p/>
+ *         Using TestNG framework.
+ */
+public class PacketTest {
+
+    final int MAGIC = 0xC0FFEE42;
+    final UUID id = UUID.randomUUID();
+    final String mainClass = "org.happy.Feet";
+    final String jmxServiceUrl = "fake://jmxUrl";
+    final String instanceName = "Joe";
+
+    private JdpJmxPacket createDefaultPacket() {
+        JdpJmxPacket packet = new JdpJmxPacket(id, jmxServiceUrl);
+        return packet;
+    }
+
+    private JdpJmxPacket createFullPacket() {
+        JdpJmxPacket packet = new JdpJmxPacket(id, jmxServiceUrl);
+        packet.setMainClass(mainClass);
+        packet.setInstanceName("Joe");
+        return packet;
+    }
+
+    @Test
+    public void testMagic() throws IOException {
+        byte[] rawData = createFullPacket().getPacketData();
+        int magic = JdpTestUtil.decode4ByteInt(rawData, 0);
+        assertEquals(MAGIC, magic, "MAGIC does not match!");
+    }
+
+    @Test
+    public void testVersion() throws IOException {
+        byte[] rawData = createFullPacket().getPacketData();
+        assertEquals(1, JdpTestUtil.decode2ByteInt(rawData, 4));
+    }
+
+    @Test
+    public void testAllEntries() throws IOException {
+        byte[] rawData = createFullPacket().getPacketData();
+        Map<String, String> payload = JdpTestUtil.readPayload(rawData);
+
+        assertEquals(4, payload.size());
+        assertEquals(mainClass, payload.get(JdpJmxPacket.MAIN_CLASS_KEY));
+        assertEquals(id.toString(), payload.get(JdpJmxPacket.UUID_KEY));
+        assertEquals(jmxServiceUrl, payload.get(JdpJmxPacket.JMX_SERVICE_URL_KEY));
+        assertEquals(instanceName, payload.get(JdpJmxPacket.INSTANCE_NAME_KEY));
+    }
+
+    public void testDefaultEntries() throws IOException {
+        byte[] rawData = createDefaultPacket().getPacketData();
+        Map<String, String> payload = JdpTestUtil.readPayload(rawData);
+
+        assertEquals(2, payload.size());
+        assertEquals(id.toString(), payload.get(JdpJmxPacket.UUID_KEY));
+        assertEquals(jmxServiceUrl, payload.get(JdpJmxPacket.JMX_SERVICE_URL_KEY));
+    }
+}
diff --git a/jdk/test/sun/management/jdp/PortAlreadyInUseTest.java b/jdk/test/sun/management/jdp/PortAlreadyInUseTest.java
new file mode 100644
index 0000000..fb82f0d
--- /dev/null
+++ b/jdk/test/sun/management/jdp/PortAlreadyInUseTest.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.testlibrary.OutputAnalyzer;
+import jdk.testlibrary.Utils;
+
+import java.io.IOException;
+import java.net.ServerSocket;
+import java.util.logging.Logger;
+
+/**
+ * This test used for test development and it is not meant to be run by JTReg.
+ * <p/>
+ * This test exercises a retry mechanism to avoid a test failure because of
+ * starting the VM on a busy jmxremote.port.
+ * <p/>
+ * To run this test you'll need to add this VM option: -Dtest.jdk=<path-to-jdk>
+ */
+public class PortAlreadyInUseTest extends DynamicLauncher {
+
+    ServerSocket socket;
+    final Logger log = Logger.getLogger("PortAlreadyInUse");
+
+    protected void go() throws Exception {
+        jmxPort = Utils.getFreePort();
+        occupyPort();
+
+        log.info("Attempting to start a VM using the same port.");
+        OutputAnalyzer out = this.runVM();
+        out.shouldContain("Port already in use");
+        log.info("Failed as expected.");
+
+        log.info("Trying again using retries.");
+        this.run();
+    }
+
+    private void occupyPort() throws IOException {
+        socket = new ServerSocket(jmxPort);
+        log.info("Occupying port " + String.valueOf(jmxPort));
+    }
+
+    protected String[] options() {
+        String[] options = {
+                "-Dcom.sun.management.jmxremote.authenticate=false",
+                "-Dcom.sun.management.jmxremote.ssl=false",
+                "-Dcom.sun.management.jmxremote=true",
+                "-Dcom.sun.management.jmxremote.port=" + String.valueOf(jmxPort),
+                "-version"
+        };
+        return options;
+    }
+
+    public static void main(String[] args) throws Exception {
+        PortAlreadyInUseTest test = new PortAlreadyInUseTest();
+        test.go();
+    }
+
+}
diff --git a/jdk/test/sun/management/jdp/README b/jdk/test/sun/management/jdp/README
new file mode 100644
index 0000000..ba4e696
--- /dev/null
+++ b/jdk/test/sun/management/jdp/README
@@ -0,0 +1,74 @@
+The following test were contributed by dmitry.samersoff@oracle.com and will be ported in the near future:
+JdpClient.java
+JdpDoSomething.java  
+JdpTest.sh  
+JdpUnitTest.java
+
+
+JdpTest.sh:
+-------------------------------------
+test_01 - basic test, check if JDP packet assembler and other
+          parts of JDP is not broken
+
+test_02 - test if JDP starts with custom parameters. (disabled)
+
+test_03 - test if jcmd is able to start jdp with
+          custom parameters (disabled)
+
+test_04 - test if JDP starts with default parameters (disabled)
+
+test_05 - test if jcmd is able to start jdp with default
+          parameters (disabled)
+
+Only test_01 is enabled at the moment.
+
+JdpUnitTest.java: contains unit tests used under development.
+
+
+==========================================================================
+The other Java-based tests in this folder are contributed by alex.schenkman@oracle.com
+
+There are three Jdp test cases in this folder:
+ 1) Jdp is turned off.
+ 2) Jdp is turned on, using default values
+ 3) Jdp is turned on, using a specific IP and port
+
+For the test cases above, the actual tests are:
+ 1) JdpOffTestCase.java
+ 2) JdpOnTestCase.java
+ 3) JdpOnTestCase.java, using different parameters.
+All these three test are implemented as subclasses of JdpTestCase.java.
+
+For all of these three tests, the VM sending the Jdp packets is also catching them.
+That is, while the VM itself is sending Jdp multicast packets, the program executed by
+that same VM is listening for those packets.
+
+These tests above work as follows:
+ 1) Start a VM with Jdp off, make sure that no Jdp packets arrive at the default IP/port.
+ 2) Start a VM with Jdp on, make sure three packets arrive at the default IP/port.
+ 3) Start a VM with Jdp on a specific IP/port, make sure three packets arrive.
+
+To make sure that we are not catching Jdp packets from some other VM, the INSTANCE_NAME
+attribute is set to a unique id. The setting of this unique id is done by a launcher.
+There are three launchers, one for each of the tests above:
+ 1) JdpOffTest.java
+ 2) JdpDefaultsTest.java
+ 3) JdpSpecificAddressTest.java
+All these three tests are implemented as subclasses of DynamicLauncher.java.
+
+So, JdpOffTest.class will execute JdpOffTestCase.class (using ProcessTools),
+and that will exercise test case nr.1; and so on for the other cases.
+
+These launchers are also the entry points for JTreg.
+This means that JTreg will only see these launchers as tests.
+You might run the tests without JTreg, as long as you specify all the VM optiones needed.
+Look at the launcher to determine what is needed. Do not forget -Dtest.jdk, that is set by JTreg.
+
+JMX must be enabled in order to enable Jdp. This requires a free port (com.sun.management.jmxremote.port).
+To avoid port-busy conflicts, DynamicLauncher.java will try to find a free port up to three times.
+
+There are some other tests used for test development, and not meant to be run automatically by JTreg.
+ 1) PortAlreadyInUse.java, used to test the retry mechanism to find a free port.
+ 2) PacketTest.java, Jdp packet sanity.
+ 3) JdpTestUtil.java, Utility functions to read a Jdp packet.
+ 4) JdpTestUtilTest.java, Unit tests for JdpTestUtil.java
diff --git a/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java b/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
index 3f9e805..3d2036d 100644
--- a/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
+++ b/jdk/test/sun/management/jmxremote/bootstrap/CustomLauncherTest.java
@@ -29,7 +29,6 @@
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
 
-import jdk.testlibrary.JdkFinder;
 import jdk.testlibrary.ProcessTools;
 
 /**
diff --git a/jdk/test/sun/nio/cs/EUC_TW_OLD.java b/jdk/test/sun/nio/cs/EUC_TW_OLD.java
index a86fd3e..5fda8f1 100644
--- a/jdk/test/sun/nio/cs/EUC_TW_OLD.java
+++ b/jdk/test/sun/nio/cs/EUC_TW_OLD.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/sun/nio/cs/TestStringCoding.java b/jdk/test/sun/nio/cs/TestStringCoding.java
index 569ef2f..04c40fa 100644
--- a/jdk/test/sun/nio/cs/TestStringCoding.java
+++ b/jdk/test/sun/nio/cs/TestStringCoding.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/sun/nio/cs/X11CNS11643.java b/jdk/test/sun/nio/cs/X11CNS11643.java
index b6de44a..ed883b9 100644
--- a/jdk/test/sun/nio/cs/X11CNS11643.java
+++ b/jdk/test/sun/nio/cs/X11CNS11643.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/sun/nio/cs/X11CNS11643P1.java b/jdk/test/sun/nio/cs/X11CNS11643P1.java
index 842ee4a..b7eac36 100644
--- a/jdk/test/sun/nio/cs/X11CNS11643P1.java
+++ b/jdk/test/sun/nio/cs/X11CNS11643P1.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/sun/nio/cs/X11CNS11643P2.java b/jdk/test/sun/nio/cs/X11CNS11643P2.java
index fd27536..28861df 100644
--- a/jdk/test/sun/nio/cs/X11CNS11643P2.java
+++ b/jdk/test/sun/nio/cs/X11CNS11643P2.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/sun/nio/cs/X11CNS11643P3.java b/jdk/test/sun/nio/cs/X11CNS11643P3.java
index 2b63147..6e9cd5f 100644
--- a/jdk/test/sun/nio/cs/X11CNS11643P3.java
+++ b/jdk/test/sun/nio/cs/X11CNS11643P3.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/sun/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java b/jdk/test/sun/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java
new file mode 100644
index 0000000..ae5c659
--- /dev/null
+++ b/jdk/test/sun/reflect/AnonymousNewInstance/ManyNewInstanceAnonTest.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 7194897
+ * @summary JSR 292: Cannot create more than 16 instances of an anonymous class
+ * @author  Robert Field
+ * @library /lib/testlibrary
+ * @compile -XDignore.symbol.file ManyNewInstanceAnonTest.java
+ * @run main ClassFileInstaller ManyNewInstanceAnonTest
+ * @run main/othervm -Xbootclasspath/a:. -Xverify:all ManyNewInstanceAnonTest
+ * @run main/othervm -Xbootclasspath/a:. -Xverify:all -Dsun.reflection.noInflation=true ManyNewInstanceAnonTest
+ */
+import java.io.ByteArrayOutputStream;
+import java.io.InputStream;
+import sun.misc.Unsafe;
+
+public class ManyNewInstanceAnonTest {
+
+    static final int REPS = 20;
+    static final Class<?> klass = ManyNewInstanceAnonTest.class;
+
+    public static void main(String[] args) throws Exception {
+        Class<?> c = Unsafe.getUnsafe().defineAnonymousClass(klass, readClassFile(), null);
+        for (int i = 0; i < REPS; ++i) {
+            System.out.printf("%d: %s\n", i, c.newInstance());
+        }
+        System.out.println("Passed.");
+    }
+
+    private static byte[] readClassFile() throws Exception {
+        try (InputStream in = klass.getResourceAsStream(klass.getSimpleName() + ".class");
+             ByteArrayOutputStream out = new ByteArrayOutputStream())
+        {
+            int b;
+            while ((b = in.read()) != -1) {
+                out.write(b);
+            }
+            return out.toByteArray();
+        }
+    }
+}
diff --git a/jdk/test/sun/security/pkcs11/KeyStore/SecretKeysBasic.java b/jdk/test/sun/security/pkcs11/KeyStore/SecretKeysBasic.java
index 9d5bfe1..42d4655 100644
--- a/jdk/test/sun/security/pkcs11/KeyStore/SecretKeysBasic.java
+++ b/jdk/test/sun/security/pkcs11/KeyStore/SecretKeysBasic.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008, 2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/sun/security/pkcs11/ec/TestECGenSpec.java b/jdk/test/sun/security/pkcs11/ec/TestECGenSpec.java
index 8b5e6aa..1dd2c32 100644
--- a/jdk/test/sun/security/pkcs11/ec/TestECGenSpec.java
+++ b/jdk/test/sun/security/pkcs11/ec/TestECGenSpec.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/sun/security/pkcs11/ec/TestKeyFactory.java b/jdk/test/sun/security/pkcs11/ec/TestKeyFactory.java
index 7673220..6df2fbb 100644
--- a/jdk/test/sun/security/pkcs11/ec/TestKeyFactory.java
+++ b/jdk/test/sun/security/pkcs11/ec/TestKeyFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java
index b65f883..8fb1310 100644
--- a/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java
+++ b/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/AsyncSSLSocketClose.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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,15 +21,21 @@
  * questions.
  */
 
+//
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+//
+// The test may timeout occasionally on heavy loaded system because
+// there are lot of TLS transactions involved. Frequent timeout(s) should
+// be analyzed further.
+//
+
 /*
  * @test
  * @bug 6447412
  * @summary Issue with socket.close() for ssl sockets when poweroff on
  *          other system
  * @run main/othervm AsyncSSLSocketClose
- *
- *     SunJSSE does not support dynamic system properties, no way to re-use
- *     system properties in samevm/agentvm mode.
  */
 
 import javax.net.ssl.*;
diff --git a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java b/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java
index f92d7f6..c1c1d9f 100644
--- a/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java
+++ b/jdk/test/sun/security/ssl/javax/net/ssl/TLSv12/DisabledShortRSAKeys.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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,12 +152,9 @@
         serverReady = true;
 
         try (SSLSocket sslSocket = (SSLSocket)sslServerSocket.accept()) {
-            InputStream sslIS = sslSocket.getInputStream();
-            OutputStream sslOS = sslSocket.getOutputStream();
-
-            sslIS.read();
-            sslOS.write('A');
-            sslOS.flush();
+            try (InputStream sslIS = sslSocket.getInputStream()) {
+                sslIS.read();
+            }
 
             throw new Exception(
                     "RSA keys shorter than 1024 bits should be disabled");
@@ -194,12 +191,10 @@
             sslSocket.setEnabledCipherSuites(
                 new String[] {"TLS_DHE_RSA_WITH_AES_128_CBC_SHA"});
 
-            InputStream sslIS = sslSocket.getInputStream();
-            OutputStream sslOS = sslSocket.getOutputStream();
-
-            sslOS.write('B');
-            sslOS.flush();
-            sslIS.read();
+            try (OutputStream sslOS = sslSocket.getOutputStream()) {
+                sslOS.write('B');
+                sslOS.flush();
+            }
 
             throw new Exception(
                     "RSA keys shorter than 1024 bits should be disabled");
@@ -317,6 +312,7 @@
      * Fork off the other side, then do your work.
      */
     DisabledShortRSAKeys() throws Exception {
+        Exception startException = null;
         try {
             if (separateServerThread) {
                 startServer(true);
@@ -326,16 +322,20 @@
                 startServer(false);
             }
         } catch (Exception e) {
-            // swallow for now.  Show later
+            startException = e;
         }
 
         /*
          * Wait for other side to close down.
          */
         if (separateServerThread) {
-            serverThread.join();
+            if (serverThread != null) {
+                serverThread.join();
+            }
         } else {
-            clientThread.join();
+            if (clientThread != null) {
+                clientThread.join();
+            }
         }
 
         /*
@@ -344,36 +344,44 @@
          */
         Exception local;
         Exception remote;
-        String whichRemote;
 
         if (separateServerThread) {
             remote = serverException;
             local = clientException;
-            whichRemote = "server";
         } else {
             remote = clientException;
             local = serverException;
-            whichRemote = "client";
+        }
+
+        Exception exception = null;
+
+        /*
+         * Check various exception conditions.
+         */
+        if ((local != null) && (remote != null)) {
+            // If both failed, return the curthread's exception.
+            local.initCause(remote);
+            exception = local;
+        } else if (local != null) {
+            exception = local;
+        } else if (remote != null) {
+            exception = remote;
+        } else if (startException != null) {
+            exception = startException;
         }
 
         /*
-         * If both failed, return the curthread's exception, but also
-         * print the remote side Exception
+         * If there was an exception *AND* a startException,
+         * output it.
          */
-        if ((local != null) && (remote != null)) {
-            System.out.println(whichRemote + " also threw:");
-            remote.printStackTrace();
-            System.out.println();
-            throw local;
+        if (exception != null) {
+            if (exception != startException && startException != null) {
+                exception.addSuppressed(startException);
+            }
+            throw exception;
         }
 
-        if (remote != null) {
-            throw remote;
-        }
-
-        if (local != null) {
-            throw local;
-        }
+        // Fall-through: no exception to throw!
     }
 
     void startServer(boolean newThread) throws Exception {
diff --git a/jdk/test/sun/security/tools/jarsigner/CertChainUnclosed.java b/jdk/test/sun/security/tools/jarsigner/CertChainUnclosed.java
new file mode 100644
index 0000000..18b2eb7
--- /dev/null
+++ b/jdk/test/sun/security/tools/jarsigner/CertChainUnclosed.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8027991
+ * @summary InputStream should be closed in sun.security.tools.jarsigner.Main
+ * @run main/othervm CertChainUnclosed
+ */
+
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Locale;
+
+public class CertChainUnclosed {
+
+    public static void main(String[] args) throws Exception {
+        String os = java.security.AccessController.doPrivileged(
+                new sun.security.action.GetPropertyAction("os.name"));
+        if (!os.toUpperCase(Locale.US).contains("WINDOWS")) {
+            System.out.println("Not Windows. Skip test.");
+            return;
+        }
+
+        kt("-genkeypair -alias a -dname CN=A");
+        kt("-exportcert -file a.crt -alias a");
+        Files.copy(Paths.get(System.getProperty("test.src"), "AlgOptions.jar"),
+                Paths.get("test.jar"));
+        sun.security.tools.jarsigner.Main.main(
+                "-storepass changeit -keystore jks -certchain a.crt test.jar a"
+                        .split(" "));
+
+        // On Windows, if the file is still opened (or not if GC was
+        // performed) and the next line would fail
+        Files.delete(Paths.get("a.crt"));
+    }
+
+    static void kt(String args) throws Exception {
+        sun.security.tools.keytool.Main.main(
+            ("-keystore jks -storepass changeit -keypass changeit -keyalg rsa "
+                + args).split(" "));
+    }
+}
diff --git a/jdk/test/sun/text/resources/LocaleData b/jdk/test/sun/text/resources/LocaleData
index 1fd2076..fc090c4 100644
--- a/jdk/test/sun/text/resources/LocaleData
+++ b/jdk/test/sun/text/resources/LocaleData
@@ -7687,3 +7687,6 @@
 
 # bug 6931564
 LocaleNames/sv/ZA=Sydafrika
+
+# bug 8027695
+FormatData/sv_SE/NumberPatterns/2=#,##0 %
diff --git a/jdk/test/sun/text/resources/LocaleDataTest.java b/jdk/test/sun/text/resources/LocaleDataTest.java
index 8918f1a..567e8ae 100644
--- a/jdk/test/sun/text/resources/LocaleDataTest.java
+++ b/jdk/test/sun/text/resources/LocaleDataTest.java
@@ -35,7 +35,7 @@
  *      6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413 6916787
  *      6919624 6998391 7019267 7020960 7025837 7020583 7036905 7066203 7101495
  *      7003124 7085757 7028073 7171028 7189611 8000983 7195759 8004489 8006509
- *      7114053 7074882 7040556 8013836 8021121 6192407 6931564
+ *      7114053 7074882 7040556 8013836 8021121 6192407 6931564 8027695
  * @summary Verify locale data
  *
  */
diff --git a/jdk/test/sun/tools/jstatd/JstatdTest.java b/jdk/test/sun/tools/jstatd/JstatdTest.java
index 9876a54..1a11788 100644
--- a/jdk/test/sun/tools/jstatd/JstatdTest.java
+++ b/jdk/test/sun/tools/jstatd/JstatdTest.java
@@ -291,6 +291,8 @@
         launcher.addVMArg("-XX:+UsePerfData");
         String testSrc = System.getProperty("test.src");
         File policy = new File(testSrc, "all.policy");
+        assertTrue(policy.exists() && policy.isFile(),
+                "Security policy " + policy.getAbsolutePath() + " does not exist or not a file");
         launcher.addVMArg("-Djava.security.policy=" + policy.getAbsolutePath());
         if (port != null) {
             launcher.addToolArg("-p");
diff --git a/jdk/test/sun/util/resources/Locale/Bug6275682.java b/jdk/test/sun/util/resources/Locale/Bug6275682.java
index 7255cc5..e740634 100644
--- a/jdk/test/sun/util/resources/Locale/Bug6275682.java
+++ b/jdk/test/sun/util/resources/Locale/Bug6275682.java
@@ -1,3 +1,26 @@
+/*
+ * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
+ * 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
     @summary Verifying that the language names starts with lowercase in spanish
diff --git a/jdk/test/tools/launcher/DiacriticTest.java b/jdk/test/tools/launcher/DiacriticTest.java
index e43cedf..9b2cc94 100644
--- a/jdk/test/tools/launcher/DiacriticTest.java
+++ b/jdk/test/tools/launcher/DiacriticTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
diff --git a/jdk/test/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java b/jdk/test/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java
index 902c359..544f5d4 100644
--- a/jdk/test/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java
+++ b/jdk/test/vm/verifier/defaultMethods/DefaultMethodRegressionTests.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/jdk/test/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java b/jdk/test/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java
index 85fccec..81e3bdd 100644
--- a/jdk/test/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java
+++ b/jdk/test/vm/verifier/defaultMethods/DefaultMethodRegressionTestsRun.java
@@ -4,9 +4,7 @@
  *
  * 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.
+ * 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
diff --git a/langtools/.hgtags b/langtools/.hgtags
index b1fe28e..0bd8835 100644
--- a/langtools/.hgtags
+++ b/langtools/.hgtags
@@ -237,3 +237,4 @@
 54150586ba785e1eb0c0de8d13906f643f640644 jdk8-b113
 850d2602ae9811687b0f404d05ec3e55df91d9cb jdk8-b114
 6b4d6205366c1170ebefea95b1b9ae1d69add036 jdk8-b115
+3c040b04af05646878798216ebf939d27e6fe687 jdk8-b116
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java b/langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java
index 1ea1d4e..2325d94 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Kinds.java
@@ -87,16 +87,17 @@
 
     /** Kinds for erroneous symbols that complement the above
      */
-    public static final int ERRONEOUS = 1 << 7;
-    public static final int AMBIGUOUS    = ERRONEOUS+1; // ambiguous reference
-    public static final int HIDDEN       = ERRONEOUS+2; // hidden method or field
-    public static final int STATICERR    = ERRONEOUS+3; // nonstatic member from static context
-    public static final int MISSING_ENCL = ERRONEOUS+4; // missing enclosing class
-    public static final int ABSENT_VAR   = ERRONEOUS+5; // missing variable
-    public static final int WRONG_MTHS   = ERRONEOUS+6; // methods with wrong arguments
-    public static final int WRONG_MTH    = ERRONEOUS+7; // one method with wrong arguments
-    public static final int ABSENT_MTH   = ERRONEOUS+8; // missing method
-    public static final int ABSENT_TYP   = ERRONEOUS+9; // missing type
+    public static final int ERRONEOUS           = 1 << 7;
+    public static final int AMBIGUOUS           = ERRONEOUS + 1;  // ambiguous reference
+    public static final int HIDDEN              = ERRONEOUS + 2;  // hidden method or field
+    public static final int STATICERR           = ERRONEOUS + 3;  // nonstatic member from static context
+    public static final int MISSING_ENCL        = ERRONEOUS + 4;  // missing enclosing class
+    public static final int ABSENT_VAR          = ERRONEOUS + 5;  // missing variable
+    public static final int WRONG_MTHS          = ERRONEOUS + 6;  // methods with wrong arguments
+    public static final int WRONG_MTH           = ERRONEOUS + 7;  // one method with wrong arguments
+    public static final int ABSENT_MTH          = ERRONEOUS + 8;  // missing method
+    public static final int ABSENT_TYP          = ERRONEOUS + 9;  // missing type
+    public static final int WRONG_STATICNESS    = ERRONEOUS + 10; // wrong staticness for method references
 
     public enum KindName implements Formattable {
         ANNOTATION("kindname.annotation"),
@@ -231,14 +232,14 @@
             return KindName.CLASS;
     }
 
-    /** A KindName representing the kind of a a missing symbol, given an
+    /** A KindName representing the kind of a missing symbol, given an
      *  error kind.
      * */
     public static KindName absentKind(int kind) {
         switch (kind) {
         case ABSENT_VAR:
             return KindName.VAR;
-        case WRONG_MTHS: case WRONG_MTH: case ABSENT_MTH:
+        case WRONG_MTHS: case WRONG_MTH: case ABSENT_MTH: case WRONG_STATICNESS:
             return KindName.METHOD;
         case ABSENT_TYP:
             return KindName.CLASS;
diff --git a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
index c214bf1..56b6a16 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Types.java
@@ -244,7 +244,7 @@
             public Type visitClassType(ClassType t, Symbol sym) {
                 if (t.tsym == sym)
                     return t;
-                Type base = asSuper(sym.type, t);
+                Type base = asSuper(sym.type, t.tsym);
                 if (base == null)
                     return null;
                 ListBuffer<Type> from = new ListBuffer<Type>();
@@ -687,7 +687,7 @@
                         (t.flags() & SYNTHETIC) == 0;
             }
         };
-        private boolean pendingBridges(ClassSymbol origin, TypeSymbol sym) {
+        private boolean pendingBridges(ClassSymbol origin, TypeSymbol s) {
             //a symbol will be completed from a classfile if (a) symbol has
             //an associated file object with CLASS kind and (b) the symbol has
             //not been entered
@@ -696,11 +696,11 @@
                     enter.getEnv(origin) == null) {
                 return false;
             }
-            if (origin == sym) {
+            if (origin == s) {
                 return true;
             }
             for (Type t : interfaces(origin.type)) {
-                if (pendingBridges((ClassSymbol)t.tsym, sym)) {
+                if (pendingBridges((ClassSymbol)t.tsym, s)) {
                     return true;
                 }
             }
@@ -761,7 +761,7 @@
             } else if (t.hasTag(TYPEVAR)) {
                 return isSubtypeUnchecked(t.getUpperBound(), s, warn);
             } else if (!s.isRaw()) {
-                Type t2 = asSuper(t, s);
+                Type t2 = asSuper(t, s.tsym);
                 if (t2 != null && t2.isRaw()) {
                     if (isReifiable(s)) {
                         warn.silentWarn(LintCategory.UNCHECKED);
@@ -914,7 +914,7 @@
 
             @Override
             public Boolean visitClassType(ClassType t, Type s) {
-                Type sup = asSuper(t, s);
+                Type sup = asSuper(t, s.tsym);
                 return sup != null
                     && sup.tsym == s.tsym
                     // You're not allowed to write
@@ -1935,42 +1935,30 @@
      * @param t a type
      * @param sym a symbol
      */
-    public Type asSuper(Type t, Symbol s) {
-        return asSuper(t, s.type);
-    }
-
-    public Type asSuper(Type t, Type s) {
-        return asSuper.visit(t, s);
+    public Type asSuper(Type t, Symbol sym) {
+        return asSuper.visit(t, sym);
     }
     // where
-        private SimpleVisitor<Type,Type> asSuper = new SimpleVisitor<Type,Type>() {
+        private SimpleVisitor<Type,Symbol> asSuper = new SimpleVisitor<Type,Symbol>() {
 
-            public Type visitType(Type t, Type s) {
+            public Type visitType(Type t, Symbol sym) {
                 return null;
             }
 
             @Override
-            public Type visitClassType(ClassType t, Type s) {
-                if (t.tsym == s.tsym)
+            public Type visitClassType(ClassType t, Symbol sym) {
+                if (t.tsym == sym)
                     return t;
 
                 Type st = supertype(t);
-
-                switch(st.getTag()) {
-                default: break;
-                case CLASS:
-                case ARRAY:
-                case TYPEVAR:
-                case ERROR: {
-                    Type x = asSuper(st, s);
+                if (st.hasTag(CLASS) || st.hasTag(TYPEVAR) || st.hasTag(ERROR)) {
+                    Type x = asSuper(st, sym);
                     if (x != null)
                         return x;
-                } break;
                 }
-
-                if ((s.tsym.flags() & INTERFACE) != 0) {
+                if ((sym.flags() & INTERFACE) != 0) {
                     for (List<Type> l = interfaces(t); l.nonEmpty(); l = l.tail) {
-                        Type x = asSuper(l.head, s);
+                        Type x = asSuper(l.head, sym);
                         if (x != null)
                             return x;
                     }
@@ -1979,20 +1967,22 @@
             }
 
             @Override
-            public Type visitArrayType(ArrayType t, Type s) {
-                return isSubtype(t, s) ? s : null;
+            public Type visitArrayType(ArrayType t, Symbol sym) {
+                return isSubtype(t, sym.type) ? sym.type : null;
             }
 
             @Override
-            public Type visitTypeVar(TypeVar t, Type s) {
-                if (t.tsym == s.tsym)
+            public Type visitTypeVar(TypeVar t, Symbol sym) {
+                if (t.tsym == sym)
                     return t;
                 else
-                    return asSuper(t.bound, s);
+                    return asSuper(t.bound, sym);
             }
 
             @Override
-            public Type visitErrorType(ErrorType t, Type s) { return t; }
+            public Type visitErrorType(ErrorType t, Symbol sym) {
+                return t;
+            }
         };
 
     /**
@@ -3573,9 +3563,9 @@
             //step 3 - for each element G in MEC, compute lci(Inv(G))
             List<Type> candidates = List.nil();
             for (Type erasedSupertype : mec) {
-                List<Type> lci = List.of(asSuper(ts.head, erasedSupertype));
+                List<Type> lci = List.of(asSuper(ts.head, erasedSupertype.tsym));
                 for (Type t : ts) {
-                    lci = intersect(lci, List.of(asSuper(t, erasedSupertype)));
+                    lci = intersect(lci, List.of(asSuper(t, erasedSupertype.tsym)));
                 }
                 candidates = candidates.appendList(lci);
             }
@@ -3995,7 +3985,7 @@
         // The arguments to the supers could be unified here to
         // get a more accurate analysis
         while (commonSupers.nonEmpty()) {
-            Type t1 = asSuper(from, commonSupers.head);
+            Type t1 = asSuper(from, commonSupers.head.tsym);
             Type t2 = commonSupers.head; // same as asSuper(to, commonSupers.head.tsym);
             if (disjointTypes(t1.getTypeArguments(), t2.getTypeArguments()))
                 return false;
@@ -4026,7 +4016,7 @@
             from = target;
         }
         Assert.check((from.tsym.flags() & FINAL) != 0);
-        Type t1 = asSuper(from, to);
+        Type t1 = asSuper(from, to.tsym);
         if (t1 == null) return false;
         Type t2 = to;
         if (disjointTypes(t1.getTypeArguments(), t2.getTypeArguments()))
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java
index bc0903f..4e1714a 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Annotate.java
@@ -255,6 +255,9 @@
                   : attr.attribType(a.annotationType, env));
         a.type = chk.checkType(a.annotationType.pos(), at, expected);
         if (a.type.isErroneous()) {
+            // Need to make sure nested (anno)trees does not have null as .type
+            attr.postAttr(a);
+
             if (typeAnnotation) {
                 return new Attribute.TypeCompound(a.type, List.<Pair<MethodSymbol,Attribute>>nil(),
                         new TypeAnnotationPosition());
@@ -265,6 +268,10 @@
         if ((a.type.tsym.flags() & Flags.ANNOTATION) == 0) {
             log.error(a.annotationType.pos(),
                       "not.annotation.type", a.type.toString());
+
+            // Need to make sure nested (anno)trees does not have null as .type
+            attr.postAttr(a);
+
             if (typeAnnotation) {
                 return new Attribute.TypeCompound(a.type, List.<Pair<MethodSymbol,Attribute>>nil(), null);
             } else {
@@ -278,7 +285,7 @@
                 Assign(make.Ident(names.value), args.head);
         }
         ListBuffer<Pair<MethodSymbol,Attribute>> buf =
-            new ListBuffer<Pair<MethodSymbol,Attribute>>();
+            new ListBuffer<>();
         for (List<JCExpression> tl = args; tl.nonEmpty(); tl = tl.tail) {
             JCExpression t = tl.head;
             if (!t.hasTag(ASSIGN)) {
@@ -304,8 +311,7 @@
             Type result = method.type.getReturnType();
             Attribute value = enterAttributeValue(result, assign.rhs, env);
             if (!method.type.isErroneous())
-                buf.append(new Pair<MethodSymbol,Attribute>
-                           ((MethodSymbol)method, value));
+                buf.append(new Pair<>((MethodSymbol)method, value));
             t.type = result;
         }
         if (typeAnnotation) {
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
index e8af825..bc02d7b 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java
@@ -58,7 +58,6 @@
 import static com.sun.tools.javac.code.Kinds.ERRONEOUS;
 import static com.sun.tools.javac.code.TypeTag.*;
 import static com.sun.tools.javac.code.TypeTag.WILDCARD;
-import static com.sun.tools.javac.code.TypeTag.ARRAY;
 import static com.sun.tools.javac.tree.JCTree.Tag.*;
 
 /** This is the main context-dependent analysis phase in GJC. It
@@ -806,44 +805,33 @@
         Type t = tree.type != null ?
             tree.type :
             attribType(tree, env);
-        return checkBase(t, tree, env, classExpected, interfaceExpected, false, checkExtensible);
+        return checkBase(t, tree, env, classExpected, interfaceExpected, checkExtensible);
     }
     Type checkBase(Type t,
                    JCTree tree,
                    Env<AttrContext> env,
                    boolean classExpected,
-                   boolean interfacesOnlyExpected,
-                   boolean interfacesOrArraysExpected,
+                   boolean interfaceExpected,
                    boolean checkExtensible) {
         if (t.isErroneous())
             return t;
-        if (t.hasTag(TYPEVAR) && !classExpected &&
-            !interfacesOrArraysExpected && !interfacesOnlyExpected) {
+        if (t.hasTag(TYPEVAR) && !classExpected && !interfaceExpected) {
             // check that type variable is already visible
             if (t.getUpperBound() == null) {
                 log.error(tree.pos(), "illegal.forward.ref");
                 return types.createErrorType(t);
             }
-        } else if (classExpected) {
-            t = chk.checkClassType(tree.pos(), t, checkExtensible|!allowGenerics);
         } else {
-            t = chk.checkClassOrArrayType(tree.pos(), t,
-                                          checkExtensible|!allowGenerics);
+            t = chk.checkClassType(tree.pos(), t, checkExtensible|!allowGenerics);
         }
-        if (interfacesOnlyExpected && !t.tsym.isInterface()) {
+        if (interfaceExpected && (t.tsym.flags() & INTERFACE) == 0) {
             log.error(tree.pos(), "intf.expected.here");
             // return errType is necessary since otherwise there might
             // be undetected cycles which cause attribution to loop
             return types.createErrorType(t);
-        } else if (interfacesOrArraysExpected &&
-            !(t.tsym.isInterface() || t.getTag() == ARRAY)) {
-            log.error(tree.pos(), "intf.or.array.expected.here");
-            // return errType is necessary since otherwise there might
-            // be undetected cycles which cause attribution to loop
-            return types.createErrorType(t);
         } else if (checkExtensible &&
                    classExpected &&
-                   t.tsym.isInterface()) {
+                   (t.tsym.flags() & INTERFACE) != 0) {
             log.error(tree.pos(), "no.intf.expected.here");
             return types.createErrorType(t);
         }
@@ -855,12 +843,6 @@
         chk.checkNonCyclic(tree.pos(), t);
         return t;
     }
-    //where
-        private Object asTypeParam(Type t) {
-            return (t.hasTag(TYPEVAR))
-                                    ? diags.fragment("type.parameter", t)
-                                    : t;
-        }
 
     Type attribIdentAsEnumType(Env<AttrContext> env, JCIdent id) {
         Assert.check((env.enclClass.sym.flags() & ENUM) != 0);
@@ -2254,7 +2236,8 @@
         // empty annotations, if only declaration annotations were given.
         // This method will raise an error for such a type.
         for (JCAnnotation ai : annotations) {
-            if (typeAnnotations.annotationType(ai.attribute, sym) == TypeAnnotations.AnnotationType.DECLARATION) {
+            if (!ai.type.isErroneous() &&
+                typeAnnotations.annotationType(ai.attribute, sym) == TypeAnnotations.AnnotationType.DECLARATION) {
                 log.error(ai.pos(), "annotation.type.not.applicable");
             }
         }
@@ -2714,9 +2697,10 @@
             Pair<Symbol, Resolve.ReferenceLookupHelper> refResult = null;
             List<Type> saved_undet = resultInfo.checkContext.inferenceContext().save();
             try {
-                refResult = rs.resolveMemberReference(that.pos(), localEnv, that, that.expr.type,
-                        that.name, argtypes, typeargtypes, true, referenceCheck,
-                        resultInfo.checkContext.inferenceContext());
+                refResult = rs.resolveMemberReference(localEnv, that, that.expr.type,
+                        that.name, argtypes, typeargtypes, referenceCheck,
+                        resultInfo.checkContext.inferenceContext(),
+                        resultInfo.checkContext.deferredAttrContext().mode);
             } finally {
                 resultInfo.checkContext.inferenceContext().rollback(saved_undet);
             }
@@ -2736,6 +2720,7 @@
                     case HIDDEN:
                     case STATICERR:
                     case MISSING_ENCL:
+                    case WRONG_STATICNESS:
                         targetError = true;
                         break;
                     default:
@@ -2787,26 +2772,6 @@
                     chk.checkRaw(that.expr, localEnv);
                 }
 
-                if (!that.kind.isUnbound() &&
-                        that.getMode() == ReferenceMode.INVOKE &&
-                        TreeInfo.isStaticSelector(that.expr, names) &&
-                        !that.sym.isStatic()) {
-                    log.error(that.expr.pos(), "invalid.mref", Kinds.kindName(that.getMode()),
-                            diags.fragment("non-static.cant.be.ref", Kinds.kindName(refSym), refSym));
-                    result = that.type = types.createErrorType(target);
-                    return;
-                }
-
-                if (that.kind.isUnbound() &&
-                        that.getMode() == ReferenceMode.INVOKE &&
-                        TreeInfo.isStaticSelector(that.expr, names) &&
-                        that.sym.isStatic()) {
-                    log.error(that.expr.pos(), "invalid.mref", Kinds.kindName(that.getMode()),
-                            diags.fragment("static.method.in.unbound.lookup", Kinds.kindName(refSym), refSym));
-                    result = that.type = types.createErrorType(target);
-                    return;
-                }
-
                 if (that.sym.isStatic() && TreeInfo.isStaticSelector(that.expr, names) &&
                         exprType.getTypeArguments().nonEmpty()) {
                     //static ref with class type-args
@@ -3984,7 +3949,7 @@
         Set<Type> boundSet = new HashSet<Type>();
         if (bounds.nonEmpty()) {
             // accept class or interface or typevar as first bound.
-            bounds.head.type = checkBase(bounds.head.type, bounds.head, env, false, false, false, false);
+            bounds.head.type = checkBase(bounds.head.type, bounds.head, env, false, false, false);
             boundSet.add(types.erasure(bounds.head.type));
             if (bounds.head.type.isErroneous()) {
                 return bounds.head.type;
@@ -4000,7 +3965,7 @@
                 // if first bound was a class or interface, accept only interfaces
                 // as further bounds.
                 for (JCExpression bound : bounds.tail) {
-                    bound.type = checkBase(bound.type, bound, env, false, false, true, false);
+                    bound.type = checkBase(bound.type, bound, env, false, true, false);
                     if (bound.type.isErroneous()) {
                         bounds = List.of(bound);
                     }
@@ -4619,9 +4584,8 @@
                         validateAnnotatedType(t, t.type);
                     }
                     repeat = false;
-                } else if (enclTr.getKind() == JCTree.Kind.PRIMITIVE_TYPE) {
-                    // This happens in test TargetTypeTest52.java
-                    // Is there anything to do?
+                } else if (enclTr.getKind() == JCTree.Kind.PRIMITIVE_TYPE ||
+                           enclTr.getKind() == JCTree.Kind.ERRONEOUS) {
                     repeat = false;
                 } else {
                     Assert.error("Unexpected tree: " + enclTr + " with kind: " + enclTr.getKind() +
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
index 7e63150..bde7379 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java
@@ -707,37 +707,6 @@
         return t;
     }
 
-    // Analog of checkClassType that calls checkClassOrArrayType instead
-    Type checkClassOrArrayType(DiagnosticPosition pos,
-                               Type t, boolean noBounds) {
-        t = checkClassOrArrayType(pos, t);
-        if (noBounds && t.isParameterized()) {
-            List<Type> args = t.getTypeArguments();
-            while (args.nonEmpty()) {
-                if (args.head.hasTag(WILDCARD))
-                    return typeTagError(pos,
-                                        diags.fragment("type.req.exact"),
-                                        args.head);
-                args = args.tail;
-            }
-        }
-        return t;
-    }
-
-    /** Check that type is a reifiable class, interface or array type.
-     *  @param pos           Position to be used for error reporting.
-     *  @param t             The type to be checked.
-     */
-    Type checkReifiableReferenceType(DiagnosticPosition pos, Type t) {
-        t = checkClassOrArrayType(pos, t);
-        if (!t.isErroneous() && !types.isReifiable(t)) {
-            log.error(pos, "illegal.generic.type.for.instof");
-            return types.createErrorType(t);
-        } else {
-            return t;
-        }
-    }
-
     /** Check that type is a reference type, i.e. a class, interface or array type
      *  or a type variable.
      *  @param pos           Position to be used for error reporting.
@@ -2253,9 +2222,6 @@
             seen = seen.prepend(tv);
             for (Type b : types.getBounds(tv))
                 checkNonCyclic1(pos, b, seen);
-        } else if (t.hasTag(ARRAY)) {
-            final ArrayType at = (ArrayType)t.unannotatedType();
-            checkNonCyclic1(pos, at.elemtype, seen);
         }
     }
 
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java b/langtools/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
index 6357419..c37841c 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/DeferredAttr.java
@@ -643,15 +643,16 @@
                     }
                     JCMemberReference mref2 = new TreeCopier<Void>(make).copy(tree);
                     mref2.expr = exprTree;
-                    Pair<Symbol, ?> lookupRes =
-                            rs.resolveMemberReference(tree, localEnv, mref2, exprTree.type,
-                                tree.name, argtypes.toList(), null, true, rs.arityMethodCheck, inferenceContext);
-                    switch (lookupRes.fst.kind) {
+                    Symbol lookupSym =
+                            rs.resolveMemberReferenceByArity(localEnv, mref2, exprTree.type,
+                                tree.name, argtypes.toList(), inferenceContext);
+                    switch (lookupSym.kind) {
                         //note: as argtypes are erroneous types, type-errors must
                         //have been caused by arity mismatch
                         case Kinds.ABSENT_MTH:
                         case Kinds.WRONG_MTH:
                         case Kinds.WRONG_MTHS:
+                        case Kinds.WRONG_STATICNESS:
                            checkContext.report(tree, diags.fragment("incompatible.arg.types.in.mref"));
                     }
                 }
@@ -1037,11 +1038,10 @@
                     attr.memberReferenceQualifierResult(tree));
             JCMemberReference mref2 = new TreeCopier<Void>(make).copy(tree);
             mref2.expr = exprTree;
-            Pair<Symbol, ReferenceLookupHelper> lookupRes =
-                    rs.resolveMemberReference(tree, localEnv, mref2, exprTree.type,
-                        tree.name, List.<Type>nil(), null, true, rs.nilMethodCheck,
-                        infer.emptyContext);
-            Symbol res = tree.sym = lookupRes.fst;
+            Symbol res =
+                    rs.getMemberReference(tree, localEnv, mref2,
+                        exprTree.type, tree.name);
+            tree.sym = res;
             if (res.kind >= Kinds.ERRONEOUS ||
                     res.type.hasTag(FORALL) ||
                     (res.flags() & Flags.VARARGS) != 0 ||
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
index 3731f0d..4eb5c64 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java
@@ -1378,7 +1378,11 @@
             ref = make.Ident(sym);
             args = make.Idents(md.params);
         } else {
-            ref = make.Select(make.Ident(md.params.head), sym);
+            Symbol msym = sym;
+            if (sym.owner.isInterface()) {
+                msym = msym.clone(types.supertype(accessor.owner.type).tsym);
+            }
+            ref = make.Select(make.Ident(md.params.head), msym);
             args = make.Idents(md.params.tail);
         }
         JCStatement stat;          // The statement accessing the private symbol.
diff --git a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
index b5c0cfe..0664eeb 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Resolve.java
@@ -25,6 +25,7 @@
 
 package com.sun.tools.javac.comp;
 
+import com.sun.source.tree.MemberReferenceTree.ReferenceMode;
 import com.sun.tools.javac.api.Formattable.LocalizedString;
 import com.sun.tools.javac.code.*;
 import com.sun.tools.javac.code.Symbol.*;
@@ -110,6 +111,9 @@
             SymbolNotFoundError(ABSENT_VAR);
         methodNotFound = new
             SymbolNotFoundError(ABSENT_MTH);
+        methodWithCorrectStaticnessNotFound = new
+            SymbolNotFoundError(WRONG_STATICNESS,
+                "method found has incorrect staticness");
         typeNotFound = new
             SymbolNotFoundError(ABSENT_TYP);
 
@@ -144,6 +148,7 @@
      */
     private final SymbolNotFoundError varNotFound;
     private final SymbolNotFoundError methodNotFound;
+    private final SymbolNotFoundError methodWithCorrectStaticnessNotFound;
     private final SymbolNotFoundError typeNotFound;
 
     public static Resolve instance(Context context) {
@@ -868,6 +873,12 @@
         }
     };
 
+    /**
+     * This class handles method reference applicability checks; since during
+     * these checks it's sometime possible to have inference variables on
+     * the actual argument types list, the method applicability check must be
+     * extended so that inference variables are 'opened' as needed.
+     */
     class MethodReferenceCheck extends AbstractMethodCheck {
 
         InferenceContext pendingInferenceContext;
@@ -2674,6 +2685,97 @@
         return resolveOperator(pos, optag, env, List.of(left, right));
     }
 
+    Symbol getMemberReference(DiagnosticPosition pos,
+            Env<AttrContext> env,
+            JCMemberReference referenceTree,
+            Type site,
+            Name name) {
+
+        site = types.capture(site);
+
+        ReferenceLookupHelper lookupHelper = makeReferenceLookupHelper(
+                referenceTree, site, name, List.<Type>nil(), null, VARARITY);
+
+        Env<AttrContext> newEnv = env.dup(env.tree, env.info.dup());
+        Symbol sym = lookupMethod(newEnv, env.tree.pos(), site.tsym,
+                nilMethodCheck, lookupHelper);
+
+        env.info.pendingResolutionPhase = newEnv.info.pendingResolutionPhase;
+
+        return sym;
+    }
+
+    ReferenceLookupHelper makeReferenceLookupHelper(JCMemberReference referenceTree,
+                                  Type site,
+                                  Name name,
+                                  List<Type> argtypes,
+                                  List<Type> typeargtypes,
+                                  MethodResolutionPhase maxPhase) {
+        ReferenceLookupHelper result;
+        if (!name.equals(names.init)) {
+            //method reference
+            result =
+                    new MethodReferenceLookupHelper(referenceTree, name, site, argtypes, typeargtypes, maxPhase);
+        } else {
+            if (site.hasTag(ARRAY)) {
+                //array constructor reference
+                result =
+                        new ArrayConstructorReferenceLookupHelper(referenceTree, site, argtypes, typeargtypes, maxPhase);
+            } else {
+                //class constructor reference
+                result =
+                        new ConstructorReferenceLookupHelper(referenceTree, site, argtypes, typeargtypes, maxPhase);
+            }
+        }
+        return result;
+    }
+
+    Symbol resolveMemberReferenceByArity(Env<AttrContext> env,
+                                  JCMemberReference referenceTree,
+                                  Type site,
+                                  Name name,
+                                  List<Type> argtypes,
+                                  InferenceContext inferenceContext) {
+
+        boolean isStaticSelector = TreeInfo.isStaticSelector(referenceTree.expr, names);
+        site = types.capture(site);
+
+        ReferenceLookupHelper boundLookupHelper = makeReferenceLookupHelper(
+                referenceTree, site, name, argtypes, null, VARARITY);
+        //step 1 - bound lookup
+        Env<AttrContext> boundEnv = env.dup(env.tree, env.info.dup());
+        Symbol boundSym = lookupMethod(boundEnv, env.tree.pos(), site.tsym,
+                arityMethodCheck, boundLookupHelper);
+        if (isStaticSelector &&
+            !name.equals(names.init) &&
+            !boundSym.isStatic() &&
+            boundSym.kind < ERRONEOUS) {
+            boundSym = methodNotFound;
+        }
+
+        //step 2 - unbound lookup
+        Symbol unboundSym = methodNotFound;
+        ReferenceLookupHelper unboundLookupHelper = null;
+        Env<AttrContext> unboundEnv = env.dup(env.tree, env.info.dup());
+        if (isStaticSelector) {
+            unboundLookupHelper = boundLookupHelper.unboundLookup(inferenceContext);
+            unboundSym = lookupMethod(unboundEnv, env.tree.pos(), site.tsym,
+                    arityMethodCheck, unboundLookupHelper);
+            if (unboundSym.isStatic() &&
+                unboundSym.kind < ERRONEOUS) {
+                unboundSym = methodNotFound;
+            }
+        }
+
+        //merge results
+        Symbol bestSym = choose(boundSym, unboundSym);
+        env.info.pendingResolutionPhase = bestSym == unboundSym ?
+                unboundEnv.info.pendingResolutionPhase :
+                boundEnv.info.pendingResolutionPhase;
+
+        return bestSym;
+    }
+
     /**
      * Resolution of member references is typically done as a single
      * overload resolution step, where the argument types A are inferred from
@@ -2700,47 +2802,118 @@
      * the type T might be dynamically inferred (i.e. if constructor reference
      * has a raw qualifier).
      */
-    Pair<Symbol, ReferenceLookupHelper> resolveMemberReference(DiagnosticPosition pos,
-                                  Env<AttrContext> env,
+    Pair<Symbol, ReferenceLookupHelper> resolveMemberReference(Env<AttrContext> env,
                                   JCMemberReference referenceTree,
                                   Type site,
-                                  Name name, List<Type> argtypes,
+                                  Name name,
+                                  List<Type> argtypes,
                                   List<Type> typeargtypes,
-                                  boolean boxingAllowed,
                                   MethodCheck methodCheck,
-                                  InferenceContext inferenceContext) {
-        MethodResolutionPhase maxPhase = boxingAllowed ? VARARITY : BASIC;
+                                  InferenceContext inferenceContext,
+                                  AttrMode mode) {
 
         site = types.capture(site);
-
-        ReferenceLookupHelper boundLookupHelper;
-        if (!name.equals(names.init)) {
-            //method reference
-            boundLookupHelper =
-                    new MethodReferenceLookupHelper(referenceTree, name, site, argtypes, typeargtypes, maxPhase);
-        } else if (site.hasTag(ARRAY)) {
-            //array constructor reference
-            boundLookupHelper =
-                    new ArrayConstructorReferenceLookupHelper(referenceTree, site, argtypes, typeargtypes, maxPhase);
-        } else {
-            //class constructor reference
-            boundLookupHelper =
-                    new ConstructorReferenceLookupHelper(referenceTree, site, argtypes, typeargtypes, maxPhase);
-        }
+        ReferenceLookupHelper boundLookupHelper = makeReferenceLookupHelper(
+                referenceTree, site, name, argtypes, typeargtypes, VARARITY);
 
         //step 1 - bound lookup
         Env<AttrContext> boundEnv = env.dup(env.tree, env.info.dup());
-        Symbol boundSym = lookupMethod(boundEnv, env.tree.pos(), site.tsym, methodCheck, boundLookupHelper);
+        Symbol origBoundSym;
+        boolean staticErrorForBound = false;
+        MethodResolutionContext boundSearchResolveContext = new MethodResolutionContext();
+        boundSearchResolveContext.methodCheck = methodCheck;
+        Symbol boundSym = origBoundSym = lookupMethod(boundEnv, env.tree.pos(),
+                site.tsym, boundSearchResolveContext, boundLookupHelper);
+        SearchResultKind boundSearchResultKind = SearchResultKind.NOT_APPLICABLE_MATCH;
+        boolean isStaticSelector = TreeInfo.isStaticSelector(referenceTree.expr, names);
+        boolean shouldCheckForStaticness = isStaticSelector &&
+                referenceTree.getMode() == ReferenceMode.INVOKE;
+        if (boundSym.kind != WRONG_MTHS && boundSym.kind != WRONG_MTH) {
+            if (shouldCheckForStaticness) {
+                if (!boundSym.isStatic()) {
+                    staticErrorForBound = true;
+                    if (hasAnotherApplicableMethod(
+                            boundSearchResolveContext, boundSym, true)) {
+                        boundSearchResultKind = SearchResultKind.BAD_MATCH_MORE_SPECIFIC;
+                    } else {
+                        boundSearchResultKind = SearchResultKind.BAD_MATCH;
+                        if (boundSym.kind < ERRONEOUS) {
+                            boundSym = methodWithCorrectStaticnessNotFound;
+                        }
+                    }
+                } else if (boundSym.kind < ERRONEOUS) {
+                    boundSearchResultKind = SearchResultKind.GOOD_MATCH;
+                }
+            }
+        }
 
         //step 2 - unbound lookup
-        ReferenceLookupHelper unboundLookupHelper = boundLookupHelper.unboundLookup(inferenceContext);
+        Symbol origUnboundSym = null;
+        Symbol unboundSym = methodNotFound;
+        ReferenceLookupHelper unboundLookupHelper = null;
         Env<AttrContext> unboundEnv = env.dup(env.tree, env.info.dup());
-        Symbol unboundSym = lookupMethod(unboundEnv, env.tree.pos(), site.tsym, methodCheck, unboundLookupHelper);
+        SearchResultKind unboundSearchResultKind = SearchResultKind.NOT_APPLICABLE_MATCH;
+        boolean staticErrorForUnbound = false;
+        if (isStaticSelector) {
+            unboundLookupHelper = boundLookupHelper.unboundLookup(inferenceContext);
+            MethodResolutionContext unboundSearchResolveContext =
+                    new MethodResolutionContext();
+            unboundSearchResolveContext.methodCheck = methodCheck;
+            unboundSym = origUnboundSym = lookupMethod(unboundEnv, env.tree.pos(),
+                    site.tsym, unboundSearchResolveContext, unboundLookupHelper);
+
+            if (unboundSym.kind != WRONG_MTH && unboundSym.kind != WRONG_MTHS) {
+                if (shouldCheckForStaticness) {
+                    if (unboundSym.isStatic()) {
+                        staticErrorForUnbound = true;
+                        if (hasAnotherApplicableMethod(
+                                unboundSearchResolveContext, unboundSym, false)) {
+                            unboundSearchResultKind = SearchResultKind.BAD_MATCH_MORE_SPECIFIC;
+                        } else {
+                            unboundSearchResultKind = SearchResultKind.BAD_MATCH;
+                            if (unboundSym.kind < ERRONEOUS) {
+                                unboundSym = methodWithCorrectStaticnessNotFound;
+                            }
+                        }
+                    } else if (unboundSym.kind < ERRONEOUS) {
+                        unboundSearchResultKind = SearchResultKind.GOOD_MATCH;
+                    }
+                }
+            }
+        }
 
         //merge results
         Pair<Symbol, ReferenceLookupHelper> res;
         Symbol bestSym = choose(boundSym, unboundSym);
-        res = new Pair<Symbol, ReferenceLookupHelper>(bestSym,
+        if (bestSym.kind < ERRONEOUS && (staticErrorForBound || staticErrorForUnbound)) {
+            if (staticErrorForBound) {
+                boundSym = methodWithCorrectStaticnessNotFound;
+            }
+            if (staticErrorForUnbound) {
+                unboundSym = methodWithCorrectStaticnessNotFound;
+            }
+            bestSym = choose(boundSym, unboundSym);
+        }
+        if (bestSym == methodWithCorrectStaticnessNotFound && mode == AttrMode.CHECK) {
+            Symbol symToPrint = origBoundSym;
+            String errorFragmentToPrint = "non-static.cant.be.ref";
+            if (staticErrorForBound && staticErrorForUnbound) {
+                if (unboundSearchResultKind == SearchResultKind.BAD_MATCH_MORE_SPECIFIC) {
+                    symToPrint = origUnboundSym;
+                    errorFragmentToPrint = "static.method.in.unbound.lookup";
+                }
+            } else {
+                if (!staticErrorForBound) {
+                    symToPrint = origUnboundSym;
+                    errorFragmentToPrint = "static.method.in.unbound.lookup";
+                }
+            }
+            log.error(referenceTree.expr.pos(), "invalid.mref",
+                Kinds.kindName(referenceTree.getMode()),
+                diags.fragment(errorFragmentToPrint,
+                Kinds.kindName(symToPrint), symToPrint));
+        }
+        res = new Pair<>(bestSym,
                 bestSym == unboundSym ? unboundLookupHelper : boundLookupHelper);
         env.info.pendingResolutionPhase = bestSym == unboundSym ?
                 unboundEnv.info.pendingResolutionPhase :
@@ -2748,18 +2921,42 @@
 
         return res;
     }
-    //where
-        private Symbol choose(Symbol s1, Symbol s2) {
-            if (lookupSuccess(s1) && lookupSuccess(s2)) {
-                return ambiguityError(s1, s2);
-            } else if (lookupSuccess(s1) ||
-                    (canIgnore(s2) && !canIgnore(s1))) {
-                return s1;
-            } else if (lookupSuccess(s2) ||
-                    (canIgnore(s1) && !canIgnore(s2))) {
-                return s2;
+
+    enum SearchResultKind {
+        GOOD_MATCH,                 //type I
+        BAD_MATCH_MORE_SPECIFIC,    //type II
+        BAD_MATCH,                  //type III
+        NOT_APPLICABLE_MATCH        //type IV
+    }
+
+    boolean hasAnotherApplicableMethod(MethodResolutionContext resolutionContext,
+            Symbol bestSoFar, boolean staticMth) {
+        for (Candidate c : resolutionContext.candidates) {
+            if (resolutionContext.step != c.step ||
+                !c.isApplicable() ||
+                c.sym == bestSoFar) {
+                continue;
             } else {
-                return s1;
+                if (c.sym.isStatic() == staticMth) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    //where
+        private Symbol choose(Symbol boundSym, Symbol unboundSym) {
+            if (lookupSuccess(boundSym) && lookupSuccess(unboundSym)) {
+                return ambiguityError(boundSym, unboundSym);
+            } else if (lookupSuccess(boundSym) ||
+                    (canIgnore(unboundSym) && !canIgnore(boundSym))) {
+                return boundSym;
+            } else if (lookupSuccess(unboundSym) ||
+                    (canIgnore(boundSym) && !canIgnore(unboundSym))) {
+                return unboundSym;
+            } else {
+                return boundSym;
             }
         }
 
@@ -2780,6 +2977,8 @@
                     InapplicableSymbolsError errSyms =
                             (InapplicableSymbolsError)s;
                     return errSyms.filterCandidates(errSyms.mapCandidates()).isEmpty();
+                case WRONG_STATICNESS:
+                    return false;
                 default:
                     return false;
             }
@@ -2894,7 +3093,6 @@
                 List<Type> argtypes, List<Type> typeargtypes, MethodResolutionPhase maxPhase) {
             super(name, site, argtypes, typeargtypes, maxPhase);
             this.referenceTree = referenceTree;
-
         }
 
         /**
@@ -3324,6 +3522,11 @@
             return false;
         }
 
+        @Override
+        public boolean isStatic() {
+            return false;
+        }
+
         /**
          * Create an external representation for this erroneous symbol to be
          * used during attribution - by default this returns the symbol of a
@@ -3398,7 +3601,11 @@
     class SymbolNotFoundError extends ResolveError {
 
         SymbolNotFoundError(int kind) {
-            super(kind, "symbol not found error");
+            this(kind, "symbol not found error");
+        }
+
+        SymbolNotFoundError(int kind, String debugName) {
+            super(kind, debugName);
         }
 
         @Override
@@ -3436,7 +3643,8 @@
                 hasLocation = !location.name.equals(names._this) &&
                         !location.name.equals(names._super);
             }
-            boolean isConstructor = kind == ABSENT_MTH && name == names.init;
+            boolean isConstructor = (kind == ABSENT_MTH || kind == WRONG_STATICNESS) &&
+                    name == names.init;
             KindName kindname = isConstructor ? KindName.CONSTRUCTOR : absentKind(kind);
             Name idname = isConstructor ? site.tsym.name : name;
             String errKey = getErrorKey(kindname, typeargtypes.nonEmpty(), hasLocation);
diff --git a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java
index 6276a24..69f2bea 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java
@@ -483,17 +483,8 @@
     /** Emit an invokedynamic instruction.
      */
     public void emitInvokedynamic(int desc, Type mtype) {
-        // N.B. this format is under consideration by the JSR 292 EG
         int argsize = width(mtype.getParameterTypes());
-        int prevPos = pendingStatPos;
-        try {
-            //disable line number generation (we could have used 'emit1', that
-            //bypasses stackmap generation - which is needed for indy calls)
-            pendingStatPos = Position.NOPOS;
-            emitop(invokedynamic);
-        } finally {
-            pendingStatPos = prevPos;
-        }
+        emitop(invokedynamic);
         if (!alive) return;
         emit2(desc);
         emit2(0);
@@ -1790,8 +1781,9 @@
 
         void markInitialized(UninitializedType old) {
             Type newtype = old.initializedType();
-            for (int i=0; i<stacksize; i++)
+            for (int i=0; i<stacksize; i++) {
                 if (stack[i] == old) stack[i] = newtype;
+            }
             for (int i=0; i<lvar.length; i++) {
                 LocalVar lv = lvar[i];
                 if (lv != null && lv.sym.type == old) {
@@ -2112,7 +2104,6 @@
     private void endScope(int adr) {
         LocalVar v = lvar[adr];
         if (v != null) {
-            lvar[adr] = null;
             if (v.isLastRangeInitialized()) {
                 char length = (char)(curCP() - v.lastRange().start_pc);
                 if (length < Character.MAX_VALUE) {
@@ -2121,6 +2112,12 @@
                     fillLocalVarPosition(v);
                 }
             }
+            /** the call to curCP() can implicitly adjust the current cp, if so
+             * the alive range of local variables may be modified. Thus we need
+             * all of them. For this reason assigning null to the given address
+             * should be the last action to do.
+             */
+            lvar[adr] = null;
         }
         state.defined.excl(adr);
     }
diff --git a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
index 8874ec1..709a11a 100644
--- a/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
+++ b/langtools/src/share/classes/com/sun/tools/javac/resources/compiler.properties
@@ -575,9 +575,6 @@
 compiler.err.intf.expected.here=\
     interface expected here
 
-compiler.err.intf.or.array.expected.here=\
-    interface or array type expected here
-
 compiler.err.intf.meth.cant.have.body=\
     interface abstract methods cannot have body
 
diff --git a/langtools/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java b/langtools/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java
index 1753a31..8b326b8 100644
--- a/langtools/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java
+++ b/langtools/src/share/classes/com/sun/tools/javadoc/ConstructorDocImpl.java
@@ -73,15 +73,11 @@
     /**
      * Get the name.
      *
-     * @return the name of the member qualified by class (but not package)
+     * @return the name of the member.
      */
     public String name() {
         ClassSymbol c = sym.enclClass();
-        String n = c.name.toString();
-        for (c = c.owner.enclClass(); c != null; c = c.owner.enclClass()) {
-            n = c.name.toString() + "." + n;
-        }
-        return n;
+        return c.name.toString();
     }
 
     /**
diff --git a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java b/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java
index c4faae9..bc3aa61 100644
--- a/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java
+++ b/langtools/src/share/classes/javax/lang/model/util/SimpleTypeVisitor8.java
@@ -27,6 +27,7 @@
 
 import javax.annotation.processing.SupportedSourceVersion;
 import javax.lang.model.SourceVersion;
+import javax.lang.model.type.IntersectionType;
 import static javax.lang.model.SourceVersion.*;
 
 /**
@@ -98,4 +99,17 @@
     protected SimpleTypeVisitor8(R defaultValue){
         super(defaultValue);
     }
+
+    /**
+     * This implementation visits an {@code IntersectionType} by calling
+     * {@code defaultAction}.
+     *
+     * @param t {@inheritDoc}
+     * @param p {@inheritDoc}
+     * @return  the result of {@code defaultAction}
+     */
+    @Override
+    public R visitIntersection(IntersectionType t, P p){
+        return defaultAction(t, p);
+    }
 }
diff --git a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java b/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java
index 60b3b61..c6e8387 100644
--- a/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java
+++ b/langtools/src/share/classes/javax/lang/model/util/TypeKindVisitor8.java
@@ -101,4 +101,17 @@
     protected TypeKindVisitor8(R defaultValue) {
         super(defaultValue);
     }
+
+    /**
+     * This implementation visits an {@code IntersectionType} by calling
+     * {@code defaultAction}.
+     *
+     * @param t  {@inheritDoc}
+     * @param p  {@inheritDoc}
+     * @return the result of {@code defaultAction}
+     */
+    @Override
+    public R visitIntersection(IntersectionType t, P p) {
+        return defaultAction(t, p);
+    }
 }
diff --git a/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java b/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java
index c5cb751..9e9a15e 100644
--- a/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java
+++ b/langtools/test/com/sun/javadoc/testAnchorNames/TestAnchorNames.java
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 8025633
+ * @bug 8025633 8025524
  * @summary Test for valid name attribute in HTML anchors.
  * @author Bhavesh Patel
  * @library ../lib/
@@ -196,10 +196,10 @@
         //Test nested class
 
         {BUG_ID + FS + "pkg1" + FS + "RegClass._NestedClas$.html",
-            "<a name=\"RegClass._NestedClas:D--\">"
+            "<a name=\"Z:Z_NestedClas:D--\">"
         },
         {BUG_ID + FS + "pkg1" + FS + "RegClass._NestedClas$.html",
-            "<a href=\"../pkg1/RegClass._NestedClas$.html#RegClass._NestedClas:D--\">"
+            "<a href=\"../pkg1/RegClass._NestedClas$.html#Z:Z_NestedClas:D--\">"
         },
 
         //Test class use page
diff --git a/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java b/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java
new file mode 100644
index 0000000..90524af
--- /dev/null
+++ b/langtools/test/com/sun/javadoc/testConstructors/TestConstructors.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8025524
+ * @summary Test for constructor name which should be a non-qualified name.
+ * @author Bhavesh Patel
+ * @library ../lib/
+ * @build JavadocTester TestConstructors
+ * @run main TestConstructors
+ */
+
+public class TestConstructors extends JavadocTester {
+
+    private static final String BUG_ID = "8025524";
+
+    //Input for string search tests.
+    private static final String[][] TEST = {
+        {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+            "<a href=\"../pkg1/Outer.html#Outer--\">Outer</a></span>()"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+            "<a name=\"Outer--\">"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+            "<a href=\"../pkg1/Outer.html#Outer-int-\">Outer</a></span>(int&nbsp;i)"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.html",
+            "<a name=\"Outer-int-\">"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.html",
+            "<a href=\"../pkg1/Outer.Inner.html#Inner--\">Inner</a></span>()"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.html",
+            "<a name=\"Inner--\">"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.html",
+            "<a href=\"../pkg1/Outer.Inner.html#Inner-int-\">Inner</a></span>(int&nbsp;i)"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.html",
+            "<a name=\"Inner-int-\">"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.NestedInner.html",
+            "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner--\">NestedInner</a></span>()"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.NestedInner.html",
+            "<a name=\"NestedInner--\">"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.NestedInner.html",
+            "<a href=\"../pkg1/Outer.Inner.NestedInner.html#NestedInner-int-\">NestedInner</a></span>(int&nbsp;i)"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.NestedInner.html",
+            "<a name=\"NestedInner-int-\">"
+        }
+    };
+
+    private static final String[][] NEGATED_TEST = {
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.html",
+            "Outer.Inner--"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.html",
+            "Outer.Inner-int-"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.NestedInner.html",
+            "Outer.Inner.NestedInner--"
+        },
+        {BUG_ID + FS + "pkg1" + FS + "Outer.Inner.NestedInner.html",
+            "Outer.Inner.NestedInner-int-"
+        }
+    };
+
+    private static final String[] ARGS = new String[] {
+        "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"
+    };
+
+    /**
+     * The entry point of the test.
+     * @param args the array of command line arguments.
+     */
+    public static void main(String[] args) throws Exception {
+        TestConstructors tester = new TestConstructors();
+        run(tester, ARGS, TEST, NEGATED_TEST);
+        tester.printSummary();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getBugId() {
+        return BUG_ID;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public String getBugName() {
+        return getClass().getName();
+    }
+}
diff --git a/langtools/test/com/sun/javadoc/testConstructors/pkg1/Outer.java b/langtools/test/com/sun/javadoc/testConstructors/pkg1/Outer.java
new file mode 100644
index 0000000..7cf5ef6
--- /dev/null
+++ b/langtools/test/com/sun/javadoc/testConstructors/pkg1/Outer.java
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+package pkg1;
+
+public class Outer {
+
+    /**
+     * An outer constructor.
+     */
+    public Outer() {
+    }
+
+    /**
+     * Another outer constructor.
+     */
+    public Outer(int i) {
+    }
+
+    /**
+     * A nested class.
+     */
+    public class Inner {
+
+        /**
+         * An inner constructor.
+         */
+        public Inner() {
+        }
+
+        /**
+         * Another inner constructor.
+         */
+        public Inner(int i) {
+        }
+
+        /**
+         * A nested inner class.
+         */
+        public class NestedInner {
+
+            /**
+             * A nested inner constructor.
+             */
+            public NestedInner() {
+            }
+
+            /**
+             * Another nested inner constructor.
+             */
+            public NestedInner(int i) {
+            }
+        }
+    }
+}
diff --git a/langtools/test/tools/javac/T7042623.java b/langtools/test/tools/javac/T7042623.java
index 0c4fc5b..70811d4 100644
--- a/langtools/test/tools/javac/T7042623.java
+++ b/langtools/test/tools/javac/T7042623.java
@@ -2,7 +2,6 @@
  * @test /nodynamiccopyright/
  * @bug 7042623
  * @summary Regression: javac silently crash when attributing non-existent annotation
- * @ignore
  * @compile/fail/ref=T7042623.out -XDrawDiagnostics -XDdev T7042623.java
  */
 
diff --git a/langtools/test/tools/javac/T8019486/WrongLNTForLambdaTest.java b/langtools/test/tools/javac/T8019486/WrongLNTForLambdaTest.java
index 525e20e..d3728e1 100644
--- a/langtools/test/tools/javac/T8019486/WrongLNTForLambdaTest.java
+++ b/langtools/test/tools/javac/T8019486/WrongLNTForLambdaTest.java
@@ -25,7 +25,7 @@
 
 /*
  * @test
- * @bug 8019486 8026861
+ * @bug 8019486 8026861 8027142
  * @summary javac, generates erroneous LVT for a test case with lambda code
  * @library /tools/javac/lib
  * @build ToolBox
@@ -68,7 +68,14 @@
     /* 22 */        "        Runnable r4 = super :: notify;\n" +
     /* 23 */        "    }\n" +
     /* 24 */        "    private void foo() {}\n" +
-    /* 25 */        "}";
+    /* 25 */        "    void assignLambda() {\n" +
+    /* 26 */        "        Runnable r = () -> { };\n" +
+    /* 27 */        "    }\n" +
+    /* 28 */        "    void callLambda(int i, Runnable r) {\n" +
+    /* 29 */        "        callLambda(0,\n" +
+    /* 30 */        "                   () -> { });\n" +
+    /* 31 */        "    }\n" +
+    /* 32 */        "}";
 
     static final int[][] simpleLambdaExpectedLNT = {
     //  {line-number, start-pc},
@@ -102,6 +109,18 @@
         {22,           0},       //number -> number / 1
     };
 
+    static final int[][] assignmentExpectedLNT = {
+    //  {line-number, start-pc},
+        {26,           0},       //number -> number / 1
+        {27,           6},       //number -> number / 1
+    };
+
+    static final int[][] callExpectedLNT = {
+    //  {line-number, start-pc},
+        {29,           0},       //number -> number / 1
+        {31,           10},       //number -> number / 1
+    };
+
     public static void main(String[] args) throws Exception {
         new WrongLNTForLambdaTest().run();
     }
@@ -120,6 +139,10 @@
                 "Foo.class").toUri()), "$deserializeLambda$", deserializeExpectedLNT);
         checkClassFile(new File(Paths.get(System.getProperty("user.dir"),
                 "Foo.class").toUri()), "lambda$MR$variablesInLambdas$notify$8bc4f5bd$1", lambdaBridgeExpectedLNT);
+        checkClassFile(new File(Paths.get(System.getProperty("user.dir"),
+                "Foo.class").toUri()), "assignLambda", assignmentExpectedLNT);
+        checkClassFile(new File(Paths.get(System.getProperty("user.dir"),
+                "Foo.class").toUri()), "callLambda", callExpectedLNT);
     }
 
     void compileTestClass() throws Exception {
diff --git a/langtools/test/tools/javac/T8026963/TypeAnnotationsCrashWithErroneousTreeTest.java b/langtools/test/tools/javac/T8026963/TypeAnnotationsCrashWithErroneousTreeTest.java
new file mode 100644
index 0000000..366c5d8
--- /dev/null
+++ b/langtools/test/tools/javac/T8026963/TypeAnnotationsCrashWithErroneousTreeTest.java
@@ -0,0 +1,10 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8026963
+ * @summary type annotations code crashes for lambdas with void argument
+ * @compile/fail/ref=TypeAnnotationsCrashWithErroneousTreeTest.out -XDrawDiagnostics -XDshouldStopPolicy=FLOW TypeAnnotationsCrashWithErroneousTreeTest.java
+ */
+
+public class TypeAnnotationsCrashWithErroneousTreeTest {
+    private void t(this) {}
+}
diff --git a/langtools/test/tools/javac/T8026963/TypeAnnotationsCrashWithErroneousTreeTest.out b/langtools/test/tools/javac/T8026963/TypeAnnotationsCrashWithErroneousTreeTest.out
new file mode 100644
index 0000000..cb8fea4
--- /dev/null
+++ b/langtools/test/tools/javac/T8026963/TypeAnnotationsCrashWithErroneousTreeTest.out
@@ -0,0 +1,2 @@
+TypeAnnotationsCrashWithErroneousTreeTest.java:9:20: compiler.err.illegal.start.of.type
+1 error
diff --git a/langtools/test/tools/javac/TryWithResources/ResDeclOutsideTry.java b/langtools/test/tools/javac/TryWithResources/ResDeclOutsideTry.java
new file mode 100644
index 0000000..2bd54f1
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/ResDeclOutsideTry.java
@@ -0,0 +1,18 @@
+/*
+ * @test  /nodynamiccopyright/
+ * @bug 8025113
+ * @author sogoel
+ * @summary Resources cannot be declared outside t-w-r block
+ * @compile/fail/ref=ResDeclOutsideTry.out -XDrawDiagnostics ResDeclOutsideTry.java
+ */
+
+public class ResDeclOutsideTry implements AutoCloseable {
+    ResDeclOutsideTry tr1;
+    ResDeclOutsideTry tr2 = new ResDeclOutsideTry();
+
+    String test1() {
+        try (tr1 = new ResDeclOutsideTry(); tr2;) {
+        }
+    }
+}
+
diff --git a/langtools/test/tools/javac/TryWithResources/ResDeclOutsideTry.out b/langtools/test/tools/javac/TryWithResources/ResDeclOutsideTry.out
new file mode 100644
index 0000000..c2451a9
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/ResDeclOutsideTry.out
@@ -0,0 +1,3 @@
+ResDeclOutsideTry.java:14:17: compiler.err.expected: token.identifier
+ResDeclOutsideTry.java:14:48: compiler.err.expected: token.identifier
+2 errors
diff --git a/langtools/test/tools/javac/TryWithResources/ResInNestedExpr.java b/langtools/test/tools/javac/TryWithResources/ResInNestedExpr.java
new file mode 100644
index 0000000..e61495c
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/ResInNestedExpr.java
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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     8025113
+ * @author  sogoel
+ * @summary Resource creation in nested expressions
+ */
+
+/**
+ * This test checks for resource creation in nested expressions.
+ * test1() - Create 3 resource in nested new expressions, style 1
+ * test2() - Create 3 resource in nested new expressions, style 2
+ * test3() - Create 4 resources with resources as parameters: new expression; typeid & new expression
+ */
+
+public class ResInNestedExpr {
+
+    static final int expected = 5;
+    static int closed = 0;
+
+    static void closing(String clazz) {
+        closed++;
+    }
+
+    static void checkClosedCount() {
+        if (expected != closed) {
+            throw new RuntimeException("Did not find enough closed resources."
+               + "Expected " + expected + ", but found " + closed);
+        }
+    }
+    /**
+     * The "expected output" is each class name gotten with getSimpleName() to unclutter things.
+     * Each test method returns a classname of the resource and that is compared with
+     * values in this array.
+     */
+    static String[] expectedOutput = {
+        "aResource::bResource::cResource", //test1
+        "aResource::bResource::cResource&aResource::cResource", //test3
+        "aResource::bResource::cResource&aResource::cResource"}; //test2
+
+    static void compare(String s1, String s2) {
+        if (s1.compareTo(s2) != 0) {
+            throw new RuntimeException(s1 + "!=" + s2);
+        }
+    }
+
+    String test1() {
+        String ret = null;
+        try (bResource br = new bResource(new cResource());
+                aResource ar = new aResource(br)) {
+            ret = ar.getClass().getSimpleName() + "::" +
+                  ar.getB().getClass().getSimpleName() + "::" +
+                  ar.getB().getC().getClass().getSimpleName();
+        }
+        return ret;
+    }
+
+    String test2() {
+        String ret = null;
+        try (aResource ar = new aResource(new bResource(new cResource()), new cResource())) {
+            String abc = ar.getClass().getSimpleName() + "::" +
+                         ar.getB().getClass().getSimpleName() + "::" +
+                         ar.getB().getC().getClass().getSimpleName();
+            String ac = ar.getClass().getSimpleName() + "::" +
+                        ar.getC().getClass().getSimpleName();
+            ret = abc + "&" + ac;
+        }
+        return ret;
+    }
+
+    String test3() {
+        String ret = null;
+        try (bResource br = new bResource(new cResource());
+                aResource ar = new aResource(br, new cResource())) {
+            String abc = ar.getClass().getSimpleName() + "::" +
+                         ar.getB().getClass().getSimpleName() + "::" +
+                         ar.getB().getC().getClass().getSimpleName();
+            String ac = ar.getClass().getSimpleName() + "::" +
+                        ar.getC().getClass().getSimpleName();
+            ret = abc + "&" + ac;
+        }
+        return ret;
+    }
+
+    public static void main(String... args) {
+        ResInNestedExpr t = new ResInNestedExpr();
+        int eo = 0;
+        compare(expectedOutput[eo++], t.test1());
+        compare(expectedOutput[eo++], t.test3());
+        compare(expectedOutput[eo++], t.test2());
+        ResInNestedExpr.checkClosedCount();
+    }
+
+    /**
+     * A resource to implement AutoCloseable
+     * Contains two other resources as data items.
+     */
+    static class aResource implements AutoCloseable {
+
+        bResource bR;
+        cResource cR;
+
+        public aResource() {
+            bR = null;
+            cR = null;
+        }
+
+        public aResource(bResource br) {
+            bR = br;
+        }
+
+        public aResource(cResource cr) {
+            cR = cr;
+        }
+
+        public aResource(bResource br, cResource cr) {
+            bR = br;
+            cR = cr;
+        }
+
+        public bResource getB() {
+            return bR;
+        }
+
+        public cResource getC() {
+            return cR;
+        }
+
+        @Override
+        public void close() {
+            ResInNestedExpr.closing(this.getClass().getName());
+        }
+    }
+
+    /**
+     * A resource to implement AutoCloseable
+     * Contains one other resources as a data item.
+     */
+    static class bResource implements AutoCloseable {
+
+        cResource cR;
+
+        public bResource() {
+            cR = null;
+        }
+
+        public bResource(cResource cr) {
+            cR = cr;
+        }
+
+        public cResource getC() {
+            return cR;
+        }
+
+        @Override
+        public void close() {
+            ResInNestedExpr.closing(this.getClass().getName());
+        }
+    }
+
+    /** A resource to implement AutoCloseable */
+    static class cResource implements AutoCloseable {
+
+        public cResource() {
+        }
+
+        @Override
+        public void close() {
+            ResInNestedExpr.closing(this.getClass().getName());
+        }
+    }
+}
+
diff --git a/langtools/test/tools/javac/TryWithResources/ResourceNameConflict.java b/langtools/test/tools/javac/TryWithResources/ResourceNameConflict.java
new file mode 100644
index 0000000..7b838b0
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/ResourceNameConflict.java
@@ -0,0 +1,36 @@
+/*
+ * @test  /nodynamiccopyright/
+ * @bug 8025113
+ * @author sogoel
+ * @summary Resource var cannot have same name as local variable
+ * @compile/fail/ref=ResourceNameConflict.out -XDrawDiagnostics ResourceNameConflict.java
+ */
+
+/**
+ * Test methods and their description
+ * test1() - negative test - local variable used as test resource
+ * test2() - negative test - test resource already defined in an enclosing for statement
+ */
+
+public class ResourceNameConflict implements AutoCloseable {
+
+    static final String str = "asdf";
+
+    void test1() {
+        String tr = "A resource spec var cannot have same name as local var.";
+        try (ResourceNameConflict tr = new ResourceNameConflict()) {
+        }
+    }
+
+    void test2(String... strArray) {
+        for (String str : strArray) {
+            try (ResourceNameConflict str = new ResourceNameConflict()) {
+            }
+        }
+    }
+
+    @Override
+    public void close() {
+    }
+}
+
diff --git a/langtools/test/tools/javac/TryWithResources/ResourceNameConflict.out b/langtools/test/tools/javac/TryWithResources/ResourceNameConflict.out
new file mode 100644
index 0000000..ef1b2eb
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/ResourceNameConflict.out
@@ -0,0 +1,3 @@
+ResourceNameConflict.java:21:35: compiler.err.already.defined: kindname.variable, tr, kindname.method, test1()
+ResourceNameConflict.java:27:39: compiler.err.already.defined: kindname.variable, str, kindname.method, test2(java.lang.String...)
+2 errors
diff --git a/langtools/test/tools/javac/TryWithResources/ResourceRedecl.java b/langtools/test/tools/javac/TryWithResources/ResourceRedecl.java
new file mode 100644
index 0000000..4278dd5
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/ResourceRedecl.java
@@ -0,0 +1,37 @@
+/*
+ * @test    /nodynamiccopyright/
+ * @bug     8025113
+ * @author  sogoel
+ * @summary Redeclaration of resource variables
+ * @compile/fail/ref=ResourceRedecl.out -XDrawDiagnostics ResourceRedecl.java
+ */
+
+import java.io.*;
+
+public class ResourceRedecl {
+
+    public void test() {
+        // compiler error if name of an exception param is redeclared within the Block of the catch clause as a local var;
+        // or as an exception param of a catch clause in a try statement;
+        // or as a resource in a try-with-resources statement
+        try {
+        } catch (Exception exParam1) {
+            Object exParam1 = new Object();
+            try (java.io.FileInputStream exParam1 = new java.io.FileInputStream("foo.txt")) {
+                Object exParam1 = new Object();
+            } catch (IOException exParam1) {
+            }
+        }
+
+        // compiler error if resource is redeclared within the try Block as a local var
+        // or as an exception param of a catch clause in a try statement
+        try (java.io.FileInputStream exParam2 = new java.io.FileInputStream("bar.txt")) {
+            Object exParam2 = new Object();
+            try (BufferedReader br = new BufferedReader(new FileReader("zee.txt"))) {
+            } catch (IOException exParam2) {
+            }
+        } catch (Exception ex) {
+        }
+    }
+}
+
diff --git a/langtools/test/tools/javac/TryWithResources/ResourceRedecl.out b/langtools/test/tools/javac/TryWithResources/ResourceRedecl.out
new file mode 100644
index 0000000..6a86172
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/ResourceRedecl.out
@@ -0,0 +1,7 @@
+ResourceRedecl.java:19:20: compiler.err.already.defined: kindname.variable, exParam1, kindname.method, test()
+ResourceRedecl.java:20:42: compiler.err.already.defined: kindname.variable, exParam1, kindname.method, test()
+ResourceRedecl.java:21:24: compiler.err.already.defined: kindname.variable, exParam1, kindname.method, test()
+ResourceRedecl.java:22:34: compiler.err.already.defined: kindname.variable, exParam1, kindname.method, test()
+ResourceRedecl.java:29:20: compiler.err.already.defined: kindname.variable, exParam2, kindname.method, test()
+ResourceRedecl.java:31:34: compiler.err.already.defined: kindname.variable, exParam2, kindname.method, test()
+6 errors
diff --git a/langtools/test/tools/javac/TryWithResources/ResourceShadow.java b/langtools/test/tools/javac/TryWithResources/ResourceShadow.java
new file mode 100644
index 0000000..30c270d
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/ResourceShadow.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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     8025113
+ * @author  sogoel
+ * @summary Test shadowing of resource variable
+ */
+
+/*
+ * "...a variable declared in a resource specification
+ * may be shadowed (6.3.1) anywhere inside a class declaration nested
+ * within the Block of the try."
+ */
+public class ResourceShadow {
+
+    static final String str = "asdf";  //this is okay
+
+    /**
+     * Resource variable shadows switch and case variables
+     */
+    String test1() {
+        String ret = null;
+        switch (str) {
+            case str: //this is okay
+                try (SilentCloseable str = new SilentCloseable()) {
+                    SilentCloseable tr = new SilentCloseable(str);
+                    ret = str.getClass().getSimpleName();
+                }
+                break;
+            default:
+                ret = "";
+        }
+        return ret;
+    }
+
+    /**
+     * Resource variable may be shadowed (6.3.1) anywhere inside a class
+     * declaration nested within the Block of the try
+     */
+    String test2() {
+        String ret = null;
+        try (SilentCloseable str = new SilentCloseable()) {
+            class temp {
+
+                String str = "I am not a SilentCloseable";
+
+                public void printSTR() {
+                    System.out.println(str);
+                }
+
+                public String getSTR() {
+                    return str;
+                }
+            }
+            temp tmp = new temp();
+            SilentCloseable tr = new SilentCloseable(tmp.getSTR());
+            ret = tr.getMsg();
+        }
+        return ret;
+    }
+
+    public static void main(String... args) {
+        ResourceShadow t = new ResourceShadow();
+        if (t.test1().compareTo("SilentCloseable") != 0) {
+            throw new RuntimeException("FAIL-test1");
+        }
+        if (t.test2().compareTo("I am not a SilentCloseable") != 0) {
+            throw new RuntimeException("FAIL-test2");
+        }
+    }
+}
+
+class SilentCloseable implements AutoCloseable {
+
+    SilentCloseable testres = null;
+    String msg = "default";
+
+    @Override
+    public void close() {
+    }
+
+    public SilentCloseable() {
+    }
+
+    public SilentCloseable(String s) {
+        msg = s;
+    }
+
+    public SilentCloseable(SilentCloseable tr) {
+        testres = tr;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+}
+
diff --git a/langtools/test/tools/javac/TryWithResources/TestTwr09.java b/langtools/test/tools/javac/TryWithResources/TestTwr09.java
new file mode 100644
index 0000000..eccf405
--- /dev/null
+++ b/langtools/test/tools/javac/TryWithResources/TestTwr09.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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     8025113
+ * @author  sogoel
+ * @summary t-w-r completes abruptly if the initialization of resource completes abruptly
+ */
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.File;
+
+/*
+ * If the initialization of the resource completes abruptly because of a
+ * throw of a value V ... and the automatic ->closing of the resource completes normally,
+ * then the try-with-resources statement completes abruptly because of the throw of value V.
+ */
+public class TestTwr09 {
+
+    /**
+     * throw from ctor of nested resource
+     * Check first resource is not open.
+     */
+    String test1() {
+        String ret = null;
+        try (ResCloseable tr = new ResCloseable(new ResCloseable("throw from inner resource ctor",3))) {
+            ret = "FAIL";
+        } catch (RuntimeException re) {
+            ret = re.getMessage();
+        }
+        return ret;
+    }
+
+    /**
+     * throw from ctor of 2nd resource.
+     * 1st resource, FileInputStream should be automatically closed.
+     */
+    String test2() {
+        String ret = null;
+        byte[] buf = new byte[1];
+        try (java.io.ByteArrayInputStream tr = new java.io.ByteArrayInputStream(buf);
+            ResCloseable str = new ResCloseable("throw from inner resource ctor",3)) {
+            ret = "FAIL";
+        } catch (final IOException fe) {
+            ret = "FAIL test2";
+        } catch (RuntimeException re) {
+            ret = "PASS test2";
+        }
+        System.out.println("Ret = " + ret);
+        return ret;
+    }
+
+    public static void main(String... args) {
+        TestTwr09 t = new TestTwr09();
+        if (t.test1().compareTo("throw from inner resource ctor") != 0) {
+            throw new RuntimeException("FAIL-test1");
+        }
+        if (t.test2().compareTo("PASS test2") != 0) {
+            throw new RuntimeException("FAIL-test2");
+        }
+    }
+}
+
+/** a simple resource the implements AutoCloseable so it can be used
+ * in twr's resource specification block.
+ */
+class ResCloseable implements AutoCloseable {
+
+    ResCloseable testres = null;
+    String msg = "default";
+    boolean bOpen = false;
+
+    public ResCloseable() {
+        bOpen = true;
+    }
+
+    public ResCloseable(ResCloseable tr) {
+        bOpen = true;
+        msg = tr.getMsg();
+    }
+
+    public ResCloseable(String s) {
+        bOpen = true;
+        msg = s;
+    }
+
+    public ResCloseable(String msg, int c) {
+        bOpen = true;
+        if (c == 3) {
+            throw new RuntimeException(msg);
+        }
+    }
+
+    @Override
+    public void close() {
+        bOpen = false;
+    }
+
+    public boolean isOpen() {
+        return bOpen;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+}
+
diff --git a/langtools/test/tools/javac/annotations/testCrashNestedAnnos/TestCrashNestedAnnos.java b/langtools/test/tools/javac/annotations/testCrashNestedAnnos/TestCrashNestedAnnos.java
new file mode 100644
index 0000000..5c7a4a3
--- /dev/null
+++ b/langtools/test/tools/javac/annotations/testCrashNestedAnnos/TestCrashNestedAnnos.java
@@ -0,0 +1,14 @@
+/* @test /nodynamiccopyright/
+ * @bug 8027375
+ * @summary Test that javac doesn't assert/crash when there are what looks to
+ *          be annotations nested inside erroneous annotations.
+ * @compile/fail/ref=TestCrashNestedAnnos.out -XDrawDiagnostics TestCrashNestedAnnos.java
+ */
+public class TestCrashNestedAnnos {
+    // A and B are not annotation types
+    @A(@A1()) int foo() {}
+    @B(@B1()) int bar() {}
+}
+
+class B {}
+class B1 {}
diff --git a/langtools/test/tools/javac/annotations/testCrashNestedAnnos/TestCrashNestedAnnos.out b/langtools/test/tools/javac/annotations/testCrashNestedAnnos/TestCrashNestedAnnos.out
new file mode 100644
index 0000000..af34ecf
--- /dev/null
+++ b/langtools/test/tools/javac/annotations/testCrashNestedAnnos/TestCrashNestedAnnos.out
@@ -0,0 +1,3 @@
+TestCrashNestedAnnos.java:9:6: compiler.err.cant.resolve.location: kindname.class, A, , , (compiler.misc.location: kindname.class, TestCrashNestedAnnos, null)
+TestCrashNestedAnnos.java:10:6: compiler.err.prob.found.req: (compiler.misc.inconvertible.types: B, java.lang.annotation.Annotation)
+2 errors
diff --git a/langtools/test/tools/javac/defaultMethods/super/TestDirectSuperInterfaceInvoke.java b/langtools/test/tools/javac/defaultMethods/super/TestDirectSuperInterfaceInvoke.java
new file mode 100644
index 0000000..8441052
--- /dev/null
+++ b/langtools/test/tools/javac/defaultMethods/super/TestDirectSuperInterfaceInvoke.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8027281
+ * @summary As per JVMS 4.9.2, invokespecial can only refer to direct superinterfaces
+ * @compile TestDirectSuperInterfaceInvoke.java
+ * @run main TestDirectSuperInterfaceInvoke
+ */
+
+import java.io.File;
+import com.sun.tools.classfile.Attribute;
+import com.sun.tools.classfile.ClassFile;
+import com.sun.tools.classfile.Code_attribute;
+import com.sun.tools.classfile.ConstantPool.CPRefInfo;
+import com.sun.tools.classfile.Instruction;
+import com.sun.tools.classfile.Method;
+import com.sun.tools.classfile.Opcode;
+
+interface BaseInterface {
+    public default int testedMethod(){ return 1; }
+}
+
+interface IntermediateInterface extends BaseInterface {
+}
+
+interface TestInterface extends IntermediateInterface {
+    public default void test() {
+        IntermediateInterface.super.testedMethod();
+    }
+}
+
+abstract class BaseClass implements BaseInterface { }
+
+class TestClass extends BaseClass implements BaseInterface {
+    public int testedMethod() {return 9;}
+    public void test() {
+        if (super.testedMethod() != 1)
+            throw new IllegalStateException();
+        if (TestClass.super.testedMethod() != 1)
+            throw new IllegalStateException();
+        new Runnable() {
+            public void run() {
+                if (TestClass.super.testedMethod() != 1)
+                    throw new IllegalStateException();
+            }
+        }.run();
+    }
+}
+
+public class TestDirectSuperInterfaceInvoke {
+    public static void main(String... args) throws Exception {
+        new TestDirectSuperInterfaceInvoke().run();
+    }
+
+    public void run() throws Exception {
+        new TestClass().test();
+        verifyDefaultBody("TestClass.class");
+        new TestInterface() {}.test();
+        verifyDefaultBody("TestInterface.class");
+    }
+
+    void verifyDefaultBody(String classFile) {
+        String workDir = System.getProperty("test.classes");
+        File file = new File(workDir, classFile);
+        try {
+            final ClassFile cf = ClassFile.read(file);
+            for (Method m : cf.methods) {
+                Code_attribute codeAttr = (Code_attribute)m.attributes.get(Attribute.Code);
+                for (Instruction instr : codeAttr.getInstructions()) {
+                    if (instr.getOpcode() == Opcode.INVOKESPECIAL) {
+                        int pc_index = instr.getShort(1);
+                        CPRefInfo ref = (CPRefInfo)cf.constant_pool.get(pc_index);
+                        String className = ref.getClassName();
+                        if (className.equals("BaseInterface"))
+                            throw new IllegalStateException("Must not directly refer to TestedInterface");
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new Error("error reading " + file +": " + e);
+        }
+    }
+
+}
diff --git a/langtools/test/tools/javac/flow/LVTHarness.java b/langtools/test/tools/javac/flow/LVTHarness.java
index 9aac87c4f..c679f52 100644
--- a/langtools/test/tools/javac/flow/LVTHarness.java
+++ b/langtools/test/tools/javac/flow/LVTHarness.java
@@ -23,8 +23,10 @@
 
 /*
  * @test
- * @bug 7047734
- * @summary The LVT is not generated correctly during some try/catch scenarios
+ * @bug 7047734 8027660
+ * @summary The LVT is not generated correctly during some try/catch scenarios;
+ *          javac crash while creating LVT entry for a local variable defined in
+ *          an inner block
  * @library /tools/javac/lib
  * @build JavacTestingAbstractProcessor LVTHarness
  * @run main LVTHarness
diff --git a/langtools/test/tools/javac/ArraysInIntersections.java b/langtools/test/tools/javac/flow/tests/TestCaseLocalInInnerBlock.java
similarity index 66%
rename from langtools/test/tools/javac/ArraysInIntersections.java
rename to langtools/test/tools/javac/flow/tests/TestCaseLocalInInnerBlock.java
index e058c1d..f933639 100644
--- a/langtools/test/tools/javac/ArraysInIntersections.java
+++ b/langtools/test/tools/javac/flow/tests/TestCaseLocalInInnerBlock.java
@@ -21,19 +21,21 @@
  * questions.
  */
 
-/*
- * @test
- * @bug 8021339
- * @summary Allow arrays in intersection types
- * @compile ArraysInIntersections.java
- */
+public class TestCaseLocalInInnerBlock {
 
-import java.io.Serializable;
-
-public class ArraysInIntersections<T extends Serializable & Integer[]> {
-
-    public <S extends Serializable & Integer[]> Object m() {
-        return (Serializable & Integer[]) new Integer[1];
+    @AliveRange(varName="fm", bytecodeStart=23, bytecodeLength=10)
+    @AliveRange(varName="newWidth", bytecodeStart=2, bytecodeLength=33)
+    @AliveRange(varName="tc", bytecodeStart=5, bytecodeLength=30)
+    int m() {
+        int newWidth = 0;
+        String tc = "b";
+        if (tc != null) {
+            String fm;
+            if (tc.trim() != null) {
+            } else if ((fm = "b") != null) {
+                newWidth += fm.length();
+            }
+        }
+        return newWidth;
     }
-
 }
diff --git a/langtools/test/tools/javac/generics/typevars/6680106/T6680106.out b/langtools/test/tools/javac/generics/typevars/6680106/T6680106.out
index 0a9ffa8..ae3b659 100644
--- a/langtools/test/tools/javac/generics/typevars/6680106/T6680106.out
+++ b/langtools/test/tools/javac/generics/typevars/6680106/T6680106.out
@@ -1,7 +1,13 @@
-T6680106.java:11:14: compiler.err.cyclic.inheritance: T
-T6680106.java:12:14: compiler.err.cyclic.inheritance: T
-T6680106.java:13:14: compiler.err.cyclic.inheritance: T
-T6680106.java:14:14: compiler.err.cyclic.inheritance: T
-T6680106.java:15:14: compiler.err.cyclic.inheritance: T
-T6680106.java:16:14: compiler.err.cyclic.inheritance: T
-6 errors
+T6680106.java:11:25: compiler.err.type.found.req: T[], (compiler.misc.type.req.class)
+T6680106.java:12:25: compiler.err.type.found.req: S[], (compiler.misc.type.req.class)
+T6680106.java:12:40: compiler.err.type.found.req: T[], (compiler.misc.type.req.class)
+T6680106.java:13:25: compiler.err.type.found.req: S[], (compiler.misc.type.req.class)
+T6680106.java:13:40: compiler.err.type.found.req: U[], (compiler.misc.type.req.class)
+T6680106.java:13:55: compiler.err.type.found.req: T[], (compiler.misc.type.req.class)
+T6680106.java:14:30: compiler.err.type.found.req: T[], (compiler.misc.type.req.class)
+T6680106.java:15:30: compiler.err.type.found.req: S[], (compiler.misc.type.req.class)
+T6680106.java:15:50: compiler.err.type.found.req: T[], (compiler.misc.type.req.class)
+T6680106.java:16:30: compiler.err.type.found.req: S[], (compiler.misc.type.req.class)
+T6680106.java:16:50: compiler.err.type.found.req: U[], (compiler.misc.type.req.class)
+T6680106.java:16:70: compiler.err.type.found.req: T[], (compiler.misc.type.req.class)
+12 errors
diff --git a/langtools/test/tools/javac/lambda/MethodReference22.java b/langtools/test/tools/javac/lambda/MethodReference22.java
index 9517ee0..094ef89 100644
--- a/langtools/test/tools/javac/lambda/MethodReference22.java
+++ b/langtools/test/tools/javac/lambda/MethodReference22.java
@@ -48,19 +48,19 @@
     }
 
     static void test2() {
-        SAM2 s1 = MethodReference22::m1; //ambiguous
-        call2(MethodReference22::m1); //ambiguous
-        SAM2 s2 = MethodReference22::m2; //ambiguous
-        call2(MethodReference22::m2); //ambiguous
-        SAM2 s3 = MethodReference22::m3; //ambiguous
-        call2(MethodReference22::m3); //ambiguous
-        SAM2 s4 = MethodReference22::m4; //ambiguous
-        call2(MethodReference22::m4); //ambiguous
+        SAM2 s1 = MethodReference22::m1; //ok
+        call2(MethodReference22::m1); //ok
+        SAM2 s2 = MethodReference22::m2; //ok
+        call2(MethodReference22::m2); //ok
+        SAM2 s3 = MethodReference22::m3; //fail
+        call2(MethodReference22::m3); //fail
+        SAM2 s4 = MethodReference22::m4; //fail
+        call2(MethodReference22::m4); //fail
     }
 
     static void test3() {
-        call3(MethodReference22::m1); //fail
-        call3(MethodReference22::m2); //ok
+        call3(MethodReference22::m1); //ok
+        call3(MethodReference22::m2); //ambiguous
         call3(MethodReference22::m3); //ok
         call3(MethodReference22::m4); //fail
     }
diff --git a/langtools/test/tools/javac/lambda/MethodReference22.out b/langtools/test/tools/javac/lambda/MethodReference22.out
index dfd2ebe..4a85728 100644
--- a/langtools/test/tools/javac/lambda/MethodReference22.out
+++ b/langtools/test/tools/javac/lambda/MethodReference22.out
@@ -1,19 +1,11 @@
 MethodReference22.java:40:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m1(java.lang.String))
-MethodReference22.java:41:15: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m1(java.lang.String))
+MethodReference22.java:41:9: compiler.err.cant.apply.symbol: kindname.method, call1, MethodReference22.SAM1, @999, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.arg.types.in.mref))
 MethodReference22.java:46:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m4(java.lang.String))
-MethodReference22.java:47:15: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m4(java.lang.String))
-MethodReference22.java:51:19: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m1, kindname.method, m1(MethodReference22,java.lang.String), MethodReference22, kindname.method, m1(java.lang.String), MethodReference22))
-MethodReference22.java:52:14: compiler.err.cant.apply.symbol: kindname.method, call2, MethodReference22.SAM2, @1401, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m1, kindname.method, m1(MethodReference22,java.lang.String), MethodReference22, kindname.method, m1(java.lang.String), MethodReference22)))
-MethodReference22.java:53:19: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m2, kindname.method, m2(MethodReference22,java.lang.String), MethodReference22, kindname.method, m2(java.lang.String), MethodReference22))
-MethodReference22.java:54:14: compiler.err.cant.apply.symbol: kindname.method, call2, MethodReference22.SAM2, @1504, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m2, kindname.method, m2(MethodReference22,java.lang.String), MethodReference22, kindname.method, m2(java.lang.String), MethodReference22)))
-MethodReference22.java:55:19: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m3, kindname.method, m3(MethodReference22,java.lang.String), MethodReference22, kindname.method, m3(java.lang.String), MethodReference22))
-MethodReference22.java:56:14: compiler.err.cant.apply.symbol: kindname.method, call2, MethodReference22.SAM2, @1607, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m3, kindname.method, m3(MethodReference22,java.lang.String), MethodReference22, kindname.method, m3(java.lang.String), MethodReference22)))
+MethodReference22.java:47:9: compiler.err.cant.apply.symbol: kindname.method, call1, MethodReference22.SAM1, @1270, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.arg.types.in.mref))
+MethodReference22.java:55:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m3(MethodReference22,java.lang.String))
+MethodReference22.java:56:9: compiler.err.cant.apply.symbol: kindname.method, call2, MethodReference22.SAM2, @1574, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.incompatible.arg.types.in.mref))
 MethodReference22.java:57:19: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m4, kindname.method, m4(MethodReference22,java.lang.String), MethodReference22, kindname.method, m4(java.lang.String), MethodReference22))
-MethodReference22.java:58:14: compiler.err.cant.apply.symbol: kindname.method, call2, MethodReference22.SAM2, @1710, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m4, kindname.method, m4(MethodReference22,java.lang.String), MethodReference22, kindname.method, m4(java.lang.String), MethodReference22)))
-MethodReference22.java:62:9: compiler.err.ref.ambiguous: call3, kindname.method, call3(MethodReference22.SAM1), MethodReference22, kindname.method, call3(MethodReference22.SAM2), MethodReference22
-MethodReference22.java:62:15: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m1(java.lang.String))
+MethodReference22.java:58:14: compiler.err.cant.apply.symbol: kindname.method, call2, MethodReference22.SAM2, @1667, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m4, kindname.method, m4(MethodReference22,java.lang.String), MethodReference22, kindname.method, m4(java.lang.String), MethodReference22)))
 MethodReference22.java:63:9: compiler.err.ref.ambiguous: call3, kindname.method, call3(MethodReference22.SAM1), MethodReference22, kindname.method, call3(MethodReference22.SAM2), MethodReference22
-MethodReference22.java:64:9: compiler.err.ref.ambiguous: call3, kindname.method, call3(MethodReference22.SAM1), MethodReference22, kindname.method, call3(MethodReference22.SAM2), MethodReference22
-MethodReference22.java:65:9: compiler.err.ref.ambiguous: call3, kindname.method, call3(MethodReference22.SAM1), MethodReference22, kindname.method, call3(MethodReference22.SAM2), MethodReference22
-MethodReference22.java:65:15: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m4(java.lang.String))
-18 errors
+MethodReference22.java:65:14: compiler.err.cant.apply.symbol: kindname.method, call3, MethodReference22.SAM2, @1881, kindname.class, MethodReference22, (compiler.misc.no.conforming.assignment.exists: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m4, kindname.method, m4(MethodReference22,java.lang.String), MethodReference22, kindname.method, m4(java.lang.String), MethodReference22)))
+10 errors
diff --git a/langtools/test/tools/javac/lambda/MethodReference51.java b/langtools/test/tools/javac/lambda/MethodReference51.java
index 1ce3d74..be0c65b 100644
--- a/langtools/test/tools/javac/lambda/MethodReference51.java
+++ b/langtools/test/tools/javac/lambda/MethodReference51.java
@@ -36,11 +36,11 @@
 
 
     static void test() {
-        IntSam s1 = MethodReference51::unknown; //method not found
-        IntSam s2 = MethodReference51::f; //inapplicable method
-        IntSam s3 = MethodReference51::g; //inapplicable methods
-        IntegerIntegerSam s4 = MethodReference51::g; //ambiguous
-        IntSam s5 = MethodReference51::h; //static error
-        IntSam s6 = MethodReference51.foo::j; //inaccessible method
+        IntSam s1 = MethodReference51::unknown; //fail
+        IntSam s2 = MethodReference51::f; //fail
+        IntSam s3 = MethodReference51::g; //fail
+        IntegerIntegerSam s4 = MethodReference51::g; //fail
+        IntSam s5 = MethodReference51::h; //fail
+        IntSam s6 = MethodReference51.foo::j; //fail
     }
 }
diff --git a/langtools/test/tools/javac/lambda/MethodReference68.out b/langtools/test/tools/javac/lambda/MethodReference68.out
index 2db24d1..1319f33 100644
--- a/langtools/test/tools/javac/lambda/MethodReference68.out
+++ b/langtools/test/tools/javac/lambda/MethodReference68.out
@@ -1,2 +1,3 @@
 MethodReference68.java:21:10: compiler.err.cant.apply.symbol: kindname.method, g, MethodReference68.F<Z>,Z[], @493,int, kindname.class, MethodReference68, (compiler.misc.inferred.do.not.conform.to.upper.bounds: java.lang.Integer, MethodReference68.Foo,java.lang.Object)
-1 error
+MethodReference68.java:21:12: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, getName())
+2 errors
diff --git a/langtools/test/tools/javac/lambda/MethodReference73.java b/langtools/test/tools/javac/lambda/MethodReference73.java
new file mode 100644
index 0000000..a65d85b
--- /dev/null
+++ b/langtools/test/tools/javac/lambda/MethodReference73.java
@@ -0,0 +1,110 @@
+/*
+ * @test /nodynamiccopyright/
+ * @bug 8026231
+ * @summary Look at 'static' flag when checking method references
+ * @compile/fail/ref=MethodReference73.out -XDrawDiagnostics MethodReference73.java
+ */
+
+public class MethodReference73 {
+
+    interface SAM {
+        void m(MethodReference73 rec, String x);
+    }
+
+    void m1(MethodReference73 rec, String x) {}
+    static void m1(MethodReference73 rec, Object x) {}
+    void m1(String x) {}
+
+    static void m2(MethodReference73 rec, String x) {}
+    void m2(Object x) {}
+    static void m2(String x) {}
+
+    static void m3(MethodReference73 rec, String x) {}
+    void m3(String x) {}
+
+    void m4(MethodReference73 rec, String x) {}
+    static void m4(MethodReference73 rec, Object x) {}
+    static void m4(String x) {}
+    void m4(Object x) {}
+
+    static void m5(MethodReference73 rec, String x) {}
+    static void m5(String x) {}
+
+    static void m6(MethodReference73 rec, String x) {}
+    void m6(String x, int i) {}
+
+    void m7(MethodReference73 rec, String x) {}
+    void m7(String x) {}
+
+    static void m8(MethodReference73 rec, String x, int i) {}
+    void m8(String x) {}
+
+    void m9(MethodReference73 rec, String x) {}
+    static void m9(MethodReference73 rec, Object x) {}
+    static void m9(String x) {}
+
+    void m10(MethodReference73 rec, String x) {}
+    static void m10(MethodReference73 rec, Object x) {}
+    void m10(String x, int i) {}
+
+    void m11(MethodReference73 rec, String x) {}
+    void m11(Object x) {}
+    static void m11(String x) {}
+
+    static void m12(MethodReference73 rec, String x, int i) {}
+    void m12(Object x) {}
+    static void m12(String x) {}
+
+    void m13(MethodReference73 rec, String x) {}
+    void m13(String x, int i) {}
+
+    static void m14(MethodReference73 rec, String x, int i) {}
+    static void m14(String x) {}
+
+    void m15(MethodReference73 rec, String x) {}
+    static void m15(String x) {}
+
+    static void m16(MethodReference73 rec, String x, int i) {}
+    void m16(String x, int i) {}
+
+    /** For method references with a type selector two searches are performed.
+     *  Each of them may yield one of the following results:
+     *      I)   a good match
+     *      II)  a bad match more specific than a good match
+     *      III) a bad match with no good matches
+     *      IV)  no applicable method found
+     *
+     *  Whether a match is considered to be good or not depends on the staticness
+     *  of the matched method. The expected result of the first search is a static
+     *  method. The expected result of the second search is an instance method.
+     *
+     *  If the most specific method has the wrong staticness but there is an
+     *  applicable method with the right staticness then we have the (II) case.
+     *  The (III) case is reserved for those cases when the most specific method
+     *  has the wrong staticness but there is no applicable method with the right
+     *  staticness.
+     */
+
+    static void test() {
+        SAM s1 = MethodReference73::m1;           //(II, I)       ambiguous
+        SAM s2 = MethodReference73::m2;           //(I, II)       ambiguous
+        SAM s3 = MethodReference73::m3;           //(I, I)        ambiguous
+        SAM s4 = MethodReference73::m4;           //(II, II)      ambiguous
+
+        SAM s5 = MethodReference73::m5;           //(I, III)      first search's result gets selected
+        SAM s6 = MethodReference73::m6;           //(I, IV)       first search's result gets selected
+
+        SAM s7 = MethodReference73::m7;           //(III, I)      second search's result gets selected
+        SAM s8 = MethodReference73::m8;           //(IV, I)       second search's result gets selected
+
+        SAM s9 = MethodReference73::m9;           //(II, III)     method matched by first search has the wrong staticness
+        SAM s10 = MethodReference73::m10;         //(II, IV)      method matched by first search has the wrong staticness
+        SAM s11 = MethodReference73::m11;         //(III, II)     method matched by second search has the wrong staticness
+        SAM s12 = MethodReference73::m12;         //(IV, II)      method matched by second search has the wrong staticness
+        SAM s13 = MethodReference73::m13;         //(III, IV)     method matched by first search has the wrong staticness
+        SAM s14 = MethodReference73::m14;         //(IV, III)     method matched by second search has the wrong staticness
+        SAM s15 = MethodReference73::m15;         //(III, III)    method matched by first search has the wrong staticness
+
+        SAM s16 = MethodReference73::m16;         //(IV, IV)      incompatible types, invalid method reference
+    }
+}
diff --git a/langtools/test/tools/javac/lambda/MethodReference73.out b/langtools/test/tools/javac/lambda/MethodReference73.out
new file mode 100644
index 0000000..717c414
--- /dev/null
+++ b/langtools/test/tools/javac/lambda/MethodReference73.out
@@ -0,0 +1,13 @@
+MethodReference73.java:89:18: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m1, kindname.method, m1(MethodReference73,java.lang.String), MethodReference73, kindname.method, m1(java.lang.String), MethodReference73))
+MethodReference73.java:90:18: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m2, kindname.method, m2(MethodReference73,java.lang.String), MethodReference73, kindname.method, m2(java.lang.String), MethodReference73))
+MethodReference73.java:91:18: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m3, kindname.method, m3(MethodReference73,java.lang.String), MethodReference73, kindname.method, m3(java.lang.String), MethodReference73))
+MethodReference73.java:92:18: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.ref.ambiguous: m4, kindname.method, m4(MethodReference73,java.lang.String), MethodReference73, kindname.method, m4(java.lang.String), MethodReference73))
+MethodReference73.java:100:18: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m9(MethodReference73,java.lang.String))
+MethodReference73.java:101:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m10(MethodReference73,java.lang.String))
+MethodReference73.java:102:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.static.method.in.unbound.lookup: kindname.method, m11(java.lang.String))
+MethodReference73.java:103:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.static.method.in.unbound.lookup: kindname.method, m12(java.lang.String))
+MethodReference73.java:104:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m13(MethodReference73,java.lang.String))
+MethodReference73.java:105:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.static.method.in.unbound.lookup: kindname.method, m14(java.lang.String))
+MethodReference73.java:106:19: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, m15(MethodReference73,java.lang.String))
+MethodReference73.java:108:19: compiler.err.prob.found.req: (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbols: kindname.method, m16, MethodReference73,java.lang.String,{(compiler.misc.inapplicable.method: kindname.method, MethodReference73, m16(MethodReference73,java.lang.String,int), (compiler.misc.arg.length.mismatch)),(compiler.misc.inapplicable.method: kindname.method, MethodReference73, m16(java.lang.String,int), (compiler.misc.no.conforming.assignment.exists: (compiler.misc.inconvertible.types: MethodReference73, java.lang.String)))}))
+12 errors
diff --git a/langtools/test/tools/javac/lambda/TargetType60.java b/langtools/test/tools/javac/lambda/TargetType60.java
index 0506f39..b5acd32 100644
--- a/langtools/test/tools/javac/lambda/TargetType60.java
+++ b/langtools/test/tools/javac/lambda/TargetType60.java
@@ -57,7 +57,7 @@
 
     static void testUnbound() {
         TargetType60 s1 = u(TargetType60::n0); //ok - resolves to u(Sam1)
-        TargetType60 s2 = u(TargetType60::n1); //ambiguous (u(Sam1), u(Sam2) apply)
+        TargetType60 s2 = u(TargetType60::n1); //ok - resolves to u(Sam2)
         TargetType60 s3 = u(TargetType60::n2); //none is applicable
         TargetType60 s4 = u(TargetType60::n01);//ambiguous (u(Sam1), u(Sam2) apply)
         TargetType60 s5 = u(TargetType60::n012);//ambiguous (u(Sam1), u(Sam2) apply)
diff --git a/langtools/test/tools/javac/lambda/TargetType60.out b/langtools/test/tools/javac/lambda/TargetType60.out
index e0bf52f..2613d0b 100644
--- a/langtools/test/tools/javac/lambda/TargetType60.out
+++ b/langtools/test/tools/javac/lambda/TargetType60.out
@@ -1,8 +1,6 @@
 TargetType60.java:54:21: compiler.err.ref.ambiguous: g, kindname.method, g(TargetType60.Sam0), TargetType60, kindname.method, <U>g(TargetType60.Sam1<U>), TargetType60
 TargetType60.java:55:21: compiler.err.ref.ambiguous: g, kindname.method, <U>g(TargetType60.Sam1<U>), TargetType60, kindname.method, <U>g(TargetType60.Sam2<U,java.lang.String>), TargetType60
-TargetType60.java:60:27: compiler.err.ref.ambiguous: u, kindname.method, <U>u(TargetType60.Sam1<U>), TargetType60, kindname.method, <U>u(TargetType60.Sam2<U,java.lang.String>), TargetType60
-TargetType60.java:60:29: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, n1(java.lang.String))
-TargetType60.java:61:29: compiler.err.invalid.mref: kindname.method, (compiler.misc.non-static.cant.be.ref: kindname.method, n2(TargetType60,java.lang.String))
+TargetType60.java:61:27: compiler.err.cant.apply.symbols: kindname.method, u, @1639,{(compiler.misc.inapplicable.method: kindname.method, TargetType60, <U>u(TargetType60.Sam1<U>), (compiler.misc.infer.no.conforming.assignment.exists: U, (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.apply.symbol: kindname.method, n2, TargetType60,java.lang.String, U, kindname.class, TargetType60, (compiler.misc.arg.length.mismatch))))),(compiler.misc.inapplicable.method: kindname.method, TargetType60, <U>u(TargetType60.Sam2<U,java.lang.String>), (compiler.misc.infer.no.conforming.assignment.exists: U, (compiler.misc.invalid.mref: kindname.method, (compiler.misc.cant.resolve.location.args: kindname.method, n2, , U,java.lang.String, (compiler.misc.location: kindname.class, TargetType60, null)))))}
 TargetType60.java:62:27: compiler.err.ref.ambiguous: u, kindname.method, <U>u(TargetType60.Sam1<U>), TargetType60, kindname.method, <U>u(TargetType60.Sam2<U,java.lang.String>), TargetType60
 TargetType60.java:63:27: compiler.err.ref.ambiguous: u, kindname.method, <U>u(TargetType60.Sam1<U>), TargetType60, kindname.method, <U>u(TargetType60.Sam2<U,java.lang.String>), TargetType60
-7 errors
+5 errors
diff --git a/langtools/test/tools/javac/lambda/TestInvokeDynamic.java b/langtools/test/tools/javac/lambda/TestInvokeDynamic.java
index 3a3a03f..7a31a36 100644
--- a/langtools/test/tools/javac/lambda/TestInvokeDynamic.java
+++ b/langtools/test/tools/javac/lambda/TestInvokeDynamic.java
@@ -356,7 +356,7 @@
             if (lnt == null) {
                 throw new Error("No LineNumberTable attribute");
             }
-            if (lnt.line_number_table_length != 2) {
+            if (lnt.line_number_table_length != 3) {
                 throw new Error("Wrong number of entries in LineNumberTable");
             }
         } catch (Exception e) {
diff --git a/langtools/test/tools/javac/processing/errors/CrashOnNonExistingAnnotation/Processor.java b/langtools/test/tools/javac/processing/errors/CrashOnNonExistingAnnotation/Processor.java
new file mode 100644
index 0000000..c891492
--- /dev/null
+++ b/langtools/test/tools/javac/processing/errors/CrashOnNonExistingAnnotation/Processor.java
@@ -0,0 +1,208 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.File;
+import java.io.IOException;
+import java.io.Writer;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+import java.util.TreeMap;
+import javax.annotation.processing.AbstractProcessor;
+import javax.annotation.processing.RoundEnvironment;
+import javax.annotation.processing.SupportedAnnotationTypes;
+import javax.annotation.processing.SupportedOptions;
+import javax.lang.model.element.TypeElement;
+import javax.tools.Diagnostic;
+import javax.tools.DiagnosticCollector;
+import javax.tools.DiagnosticListener;
+import javax.tools.FileObject;
+import javax.tools.ForwardingJavaFileManager;
+import javax.tools.JavaFileManager;
+import javax.tools.JavaFileObject;
+import javax.tools.JavaFileObject.Kind;
+import javax.tools.SimpleJavaFileObject;
+import com.sun.source.tree.AnnotationTree;
+import com.sun.source.tree.CompilationUnitTree;
+import com.sun.source.tree.LiteralTree;
+import com.sun.source.util.JavacTask;
+import com.sun.source.util.TreeScanner;
+import com.sun.source.util.Trees;
+import com.sun.tools.javac.api.JavacTool;
+import com.sun.tools.javac.file.JavacFileManager;
+import com.sun.tools.javac.util.Assert;
+
+@SupportedAnnotationTypes("*")
+@SupportedOptions("target")
+public class Processor extends AbstractProcessor {
+
+    private int round = 0;
+    @Override
+    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
+        if (round++ == 0) {
+            try (Writer out = processingEnv.getFiler()
+                                                 .createSourceFile("Anno.java")
+                                                 .openWriter()) {
+                String target = processingEnv.getOptions().get("target");
+                String code = "import java.lang.annotation.ElementType;\n" +
+                              "import java.lang.annotation.Target;\n" +
+                              "@Target(ElementType." + target + ")\n" +
+                              "@interface Anno { public String value(); }\n";
+                out.write(code);
+            } catch (IOException exc) {
+                throw new IllegalStateException(exc);
+            }
+        }
+        return true;
+    }
+
+    public static void main(String... args) throws IOException, URISyntaxException {
+        if (args.length != 1) throw new IllegalStateException("Must provide class name!");
+        String testContent = null;
+        File testSrc = new File(System.getProperty("test.src"));
+        File testFile = new File(testSrc, args[0]);
+        if (!testFile.canRead()) throw new IllegalStateException("Cannot read the test source");
+        JavacTool compiler = JavacTool.create();
+        JavacFileManager fm = compiler.getStandardFileManager(null, null, null);
+        testContent = fm.getRegularFile(testFile).getCharContent(true).toString();
+        JavaFileObject testFileObject = new TestFO(new URI("mem://" + args[0]), testContent);
+        TestFM testFileManager = new TestFM(fm);
+        JavacTask task = compiler.getTask(null,
+                                          testFileManager,
+                                          new DiagnosticCollector<JavaFileObject>(),
+                                          null,
+                                          null,
+                                          Arrays.asList(testFileObject));
+        final Trees trees = Trees.instance(task);
+        final CompilationUnitTree cut = task.parse().iterator().next();
+
+        final Map<int[], String> annotation2Target = new TreeMap<>(new Comparator<int[]>() {
+            @Override public int compare(int[] o1, int[] o2) {
+                return o2[0] - o1[0];
+            }
+        });
+
+        new TreeScanner<Void, Void>() {
+            @Override
+            public Void visitAnnotation(AnnotationTree node, Void p) {
+                int endPos = (int) trees.getSourcePositions().getEndPosition(cut, node);
+
+                Assert.check(endPos >= 0);
+
+                int startPos = (int) trees.getSourcePositions().getStartPosition(cut, node);
+                String target = ((LiteralTree) node.getArguments().get(0)).getValue().toString();
+
+                annotation2Target.put(new int[] {startPos, endPos}, target);
+
+                return super.visitAnnotation(node, p);
+            }
+        }.scan(cut.getTypeDecls().get(0), null);
+
+        DiagnosticListener<JavaFileObject> noErrors = new DiagnosticListener<JavaFileObject>() {
+            @Override public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
+                if (diagnostic.getKind() == Diagnostic.Kind.ERROR) {
+                    throw new IllegalStateException(diagnostic.toString());
+                }
+            }
+        };
+
+        for (Entry<int[], String> e : annotation2Target.entrySet()) {
+            StringBuilder updatedContent = new StringBuilder();
+            int last = testContent.length();
+
+            for (int[] toRemove : annotation2Target.keySet()) {
+                if (toRemove == e.getKey()) continue;
+                updatedContent.insert(0, testContent.substring(toRemove[1], last));
+                last = toRemove[0];
+            }
+
+            updatedContent.insert(0, testContent.substring(0, last));
+
+            JavaFileObject updatedFile = new TestFO(new URI("mem://" + args[0]),
+                                                    updatedContent.toString());
+            JavacTask testTask = compiler.getTask(null,
+                                                  testFileManager,
+                                                  noErrors,
+                                                  Arrays.asList("-processor", "Processor",
+                                                                "-Atarget=" + e.getValue()),
+                                                  null,
+                                                  Arrays.asList(updatedFile));
+
+            try {
+                testTask.analyze();
+            } catch (Throwable exc) {
+                System.out.println("error while processing:");
+                System.out.println(updatedContent);
+                throw exc;
+            }
+
+            JavacTask testTask2 = compiler.getTask(null,
+                                                   testFileManager,
+                                                   new DiagnosticCollector<JavaFileObject>(),
+                                                   null,
+                                                   null,
+                                                   Arrays.asList(updatedFile));
+
+            try {
+                testTask2.analyze();
+            } catch (Throwable exc) {
+                System.out.println("error while processing:");
+                System.out.println(updatedContent);
+                throw exc;
+            }
+        }
+    }
+
+    private static final class TestFO extends SimpleJavaFileObject {
+        private final String content;
+        public TestFO(URI uri, String content) {
+            super(uri, Kind.SOURCE);
+            this.content = content;
+        }
+
+        @Override public CharSequence getCharContent(boolean ignoreEncodingErrors) throws IOException {
+            return content;
+        }
+
+        @Override public boolean isNameCompatible(String simpleName, Kind kind) {
+            return true;
+        }
+    }
+
+    private static final class TestFM extends ForwardingJavaFileManager<JavaFileManager> {
+
+        public TestFM(JavaFileManager fileManager) {
+            super(fileManager);
+        }
+
+        @Override
+        public boolean isSameFile(FileObject a, FileObject b) {
+            return a.equals(b);
+        }
+
+    }
+}
diff --git a/langtools/test/tools/javac/processing/errors/CrashOnNonExistingAnnotation/Source.java b/langtools/test/tools/javac/processing/errors/CrashOnNonExistingAnnotation/Source.java
new file mode 100644
index 0000000..9995fa6
--- /dev/null
+++ b/langtools/test/tools/javac/processing/errors/CrashOnNonExistingAnnotation/Source.java
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 /nodynamiccopyright/
+ * @bug 8027310
+ * @summary Ensure no exceptions on unresolvable annotations
+ * @build Processor
+ * @run main Processor Source.java
+ */
+
+import java.util.List;
+
+@Anno("TYPE")
+public class Source {
+    @Anno("TYPE")
+    class Inner {
+        class InnerInner {
+            public @Anno("CONSTRUCTOR") InnerInner(@Anno("TYPE_USE") Source. @Anno("TYPE_USE") Inner Inner.this,
+                                                   @Anno("PARAMETER") java.lang. @Anno("TYPE_USE") Runnable p) {
+                Runnable r = () -> {
+                    @Anno("TYPE_USE") Object tested = null;
+                    @Anno("TYPE_USE") boolean isAnnotated = tested instanceof @Anno("TYPE_USE") String;
+                };
+
+                @Anno("TYPE_USE") Object tested = (@Anno("TYPE_USE") String @Anno("TYPE_USE") []) null;
+                @Anno("TYPE_USE") boolean isAnnotated = tested instanceof@Anno("TYPE_USE") String;
+
+                tested = new java.lang. @Anno("TYPE_USE") Object();
+                tested = new @Anno("TYPE_USE") Object();
+            }
+        }
+    }
+
+    {
+        Runnable r = () -> {
+            @Anno("TYPE_USE") Object tested = null;
+            @Anno("TYPE_USE") boolean isAnnotated = tested instanceof @Anno("TYPE_USE") String;
+        };
+
+        @Anno("TYPE_USE") Object tested = (@Anno("TYPE_USE") String @Anno("TYPE_USE") []) null;
+        @Anno("TYPE_USE") boolean isAnnotated = tested instanceof@Anno("TYPE_USE") String;
+
+        tested = new java.lang. @Anno("TYPE_USE") Object();
+        tested = new @Anno("TYPE_USE") Object();
+    }
+
+    @Anno("TYPE")
+    @Anno("ANNOTATION_TYPE")
+    @interface A { }
+    abstract class Parameterized<@Anno("TYPE_PARAMETER") T extends @Anno("TYPE_USE") CharSequence &
+                                                                   @Anno("TYPE_USE") Runnable>
+        implements @Anno("TYPE_USE") List<@Anno("TYPE_USE") Runnable> { }
+}
diff --git a/langtools/test/tools/javac/processing/model/util/TestIntersectionTypeVisitors.java b/langtools/test/tools/javac/processing/model/util/TestIntersectionTypeVisitors.java
new file mode 100644
index 0000000..9a86e20
--- /dev/null
+++ b/langtools/test/tools/javac/processing/model/util/TestIntersectionTypeVisitors.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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     8027730
+ * @summary Test visitor support for intersection types
+ */
+
+import java.lang.annotation.Annotation;
+import java.util.List;
+import javax.lang.model.element.*;
+import javax.lang.model.type.*;
+import javax.lang.model.util.*;
+
+public class TestIntersectionTypeVisitors {
+    public static void main(String... args) throws Exception {
+        IntersectionType it = new TestIntersectionType();
+
+        boolean result = it.accept(new TypeKindVisitor8Child(), null) &&
+            it.accept(new SimpleTypeVisitor8Child(), null) &&
+            it.accept(new SimpleTypeVisitor6Child(), null);
+
+        if (!result)
+            throw new RuntimeException();
+    }
+
+    static class TestIntersectionType implements IntersectionType {
+        TestIntersectionType() {}
+
+        @Override
+        public List<? extends TypeMirror> getBounds() {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public <R,P> R accept(TypeVisitor<R,P> v,
+                       P p) {
+            return v.visitIntersection(this, p);
+        }
+
+        @Override
+        public TypeKind getKind() {
+            return TypeKind.INTERSECTION;
+        }
+
+        @Override
+        public <A extends Annotation> A getAnnotation(Class<A> annotationType) {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public List<? extends AnnotationMirror> getAnnotationMirrors() {
+            throw new UnsupportedOperationException();
+        }
+
+        @Override
+        public <A extends Annotation> A[] getAnnotationsByType(Class<A> annotationType) {
+            throw new UnsupportedOperationException();
+        }
+    }
+
+    static class TypeKindVisitor8Child extends TypeKindVisitor8<Boolean, Void> {
+        TypeKindVisitor8Child() {
+            super(false);
+        }
+
+        @Override
+        public Boolean visitIntersection(IntersectionType t, Void p) {
+            super.visitIntersection(t, p); // Make sure overridden method doesn't throw an exception
+            return true;
+        }
+    }
+
+    static class SimpleTypeVisitor8Child extends SimpleTypeVisitor8<Boolean, Void> {
+        SimpleTypeVisitor8Child() {
+            super(false);
+        }
+
+        @Override
+        public Boolean visitIntersection(IntersectionType t, Void p) {
+            super.visitIntersection(t, p);  // Make sure overridden method doesn't throw an exception
+            return true;
+        }
+    }
+
+    static class SimpleTypeVisitor6Child extends SimpleTypeVisitor6<Boolean, Void> {
+        SimpleTypeVisitor6Child() {
+            super(false);
+        }
+
+        @Override
+        public Boolean visitIntersection(IntersectionType t, Void p) {
+            try {
+                super.visitIntersection(t, p);
+                return false;
+            } catch (UnknownTypeException ute) {
+                return true; // Expected
+            }
+        }
+    }
+}
diff --git a/langtools/test/tools/javadoc/api/basic/DocumentationToolLocationTest.java b/langtools/test/tools/javadoc/api/basic/DocumentationToolLocationTest.java
new file mode 100644
index 0000000..c333468
--- /dev/null
+++ b/langtools/test/tools/javadoc/api/basic/DocumentationToolLocationTest.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8025844
+ * @summary test DocumentationTool.Location methods
+ * @build APITest
+ * @run main DocumentationToolLocationTest
+ */
+
+import javax.tools.DocumentationTool;
+import java.util.Objects;
+
+/**
+ * Test for DocumentationTool.Location methods.
+ */
+public class DocumentationToolLocationTest extends APITest {
+    public static void main(String[] args) throws Exception {
+        new DocumentationToolLocationTest().run();
+    }
+
+    /**
+     * Test getName() method
+     */
+    @Test
+    public void testGetName() throws Exception {
+        // getName() returns name(). This is for test coverage of getName.
+        for (DocumentationTool.Location dl: DocumentationTool.Location.values()) {
+            String expect = dl.name();
+            String found = dl.getName();
+            if (!Objects.equals(expect, found))
+                throw new Exception("mismatch for " + dl + "; expected " + expect + ", found " + found);
+        }
+    }
+
+    /**
+     * Test generated enum methods values() and valueOf()
+     */
+    @Test
+    public void testEnumMethods() throws Exception {
+        DocumentationTool.Location[] values = DocumentationTool.Location.values();
+        if (values.length != 3)
+            throw new Exception("unexpected number of values returned");
+
+        for (DocumentationTool.Location dl: values) {
+            DocumentationTool.Location expect = dl;
+            DocumentationTool.Location found = DocumentationTool.Location.valueOf(dl.name());
+            if (!Objects.equals(expect, found))
+                throw new Exception("mismatch for " + dl + "; expected " + expect + ", found " + found);
+        }
+    }
+}
diff --git a/langtools/test/tools/javadoc/generics/genericInnerAndOuter/expected.out b/langtools/test/tools/javadoc/generics/genericInnerAndOuter/expected.out
index a110940..1c0040e 100644
--- a/langtools/test/tools/javadoc/generics/genericInnerAndOuter/expected.out
+++ b/langtools/test/tools/javadoc/generics/genericInnerAndOuter/expected.out
@@ -16,7 +16,7 @@
   superclass:
     java.lang.Object
   constructors:
-    O.I()
+    I()
   methods:
     void m1(O<String>.I<Number>)
 
@@ -36,7 +36,7 @@
   superclass:
     java.lang.Object
   constructors:
-    X.Y()
+    Y()
 
 class pkg1.X<T>.Y.Z<S>
   name: Z / X.Y.Z / pkg1.X.Y.Z
@@ -47,7 +47,7 @@
   superclass:
     java.lang.Object
   constructors:
-    X.Y.Z()
+    Z()
   methods:
     void m1(X<String>.Y.Z<Number>)
 
diff --git a/langtools/test/tools/javap/AccessModifiers.java b/langtools/test/tools/javap/AccessModifiers.java
new file mode 100644
index 0000000..1791536
--- /dev/null
+++ b/langtools/test/tools/javap/AccessModifiers.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8027530
+ * @summary test -public, -protected, -package, -private options
+ */
+
+import java.io.*;
+import java.util.*;
+import java.lang.StringBuilder;
+
+public class AccessModifiers {
+    public int errorCount;
+    protected String protectedField;
+    String packageField;
+    private String privateField;
+
+    public static void main(String[] args) throws Exception {
+        new AccessModifiers().run();
+    }
+
+    private void run() throws Exception {
+        List<String> pubMembers = new ArrayList<String>();
+        pubMembers.add("public int errorCount");
+        pubMembers.add("public AccessModifiers");
+        pubMembers.add("public static void main");
+
+        List<String> proMembers = new ArrayList<String>();
+        proMembers.add("protected java.lang.String protectedField");
+        proMembers.add("protected java.lang.String runJavap");
+
+        List<String> pkgMembers = new ArrayList<String>();
+        pkgMembers.add("java.lang.String packageField");
+        pkgMembers.add("boolean verify");
+        pkgMembers.add("void error");
+
+        List<String> priMembers = new ArrayList<String>();
+        priMembers.add("private java.lang.String privateField");
+        priMembers.add("private void run() throws java.lang.Exception");
+        priMembers.add("private void test");
+
+        List<String> expectedList = new ArrayList<String>();
+
+        expectedList.addAll(pubMembers);
+        test("-public", expectedList);
+
+        expectedList.addAll(proMembers);
+        test("-protected", expectedList);
+
+        expectedList.addAll(pkgMembers);
+        test("-package", expectedList);
+
+        expectedList.addAll(priMembers);
+        test("-private", expectedList);
+
+        if (errorCount > 0)
+            throw new Exception(errorCount + " errors received");
+    }
+
+    private void test(String option, List<String> expectedStrs) throws Exception {
+        String output = runJavap(0, option);
+        if (verify(output, expectedStrs))
+            System.out.println(option + " test passed");
+    }
+
+    protected String runJavap(int expect, String... options) {
+        // convert the varargs to a list in order to add class name
+        List<String> optlist = new ArrayList<String>();
+        optlist.addAll(Arrays.asList(options));
+        optlist.add("AccessModifiers");
+        String[] newoptions = optlist.toArray(new String[optlist.size()]);
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        System.out.printf("\nRun javap " + optlist + "\n\n");
+        int rc = com.sun.tools.javap.Main.run(newoptions, pw);
+        pw.close();
+        System.out.println(sw);
+        if (rc != expect)
+           throw new Error("Expect to return " + expect + ", but return " + rc);
+        return sw.toString();
+    }
+
+    boolean verify(String output, List<String> expects) {
+        boolean pass = true;
+        for (String expect: expects) {
+            if (!output.contains(expect)) {
+                error(expect + " not found");
+                pass = false;
+            }
+        }
+        return pass;
+    }
+
+    void error(String msg) {
+        System.err.println(msg);
+        errorCount++;
+    }
+}
diff --git a/langtools/test/tools/javap/InvalidOptions.java b/langtools/test/tools/javap/InvalidOptions.java
new file mode 100644
index 0000000..d92f644
--- /dev/null
+++ b/langtools/test/tools/javap/InvalidOptions.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 8027411
+ * @summary test invalid options -h and -b
+ */
+
+import java.io.*;
+import java.util.zip.*;
+
+public class InvalidOptions {
+    int errorCount;
+    String log;
+
+    public static void main(String[] args) throws Exception {
+        new InvalidOptions().run();
+    }
+
+    void run() throws Exception {
+        test(2, "-h", "Error: -h is no longer available - use the javah program");
+        test(2, "-b", "Error: unknown option: -b",
+                      "Usage: javap <options> <classes>",
+                      "use -help for a list of possible options");
+        if (errorCount > 0)
+            throw new Exception(errorCount + " errors received");
+    }
+
+    void test(int expect, String option, String ... expectedOutput) {
+        String output = runJavap(expect, option);
+        verify(output, expectedOutput);
+    }
+
+    String runJavap(int expect, String... option) {
+        StringWriter sw = new StringWriter();
+        PrintWriter pw = new PrintWriter(sw);
+        int rc = com.sun.tools.javap.Main.run(option, pw);
+        pw.close();
+        System.out.println("javap prints:");
+        System.out.println(sw);
+        if (rc != expect)
+           throw new Error("Expect to return " + expect + ", but return " + rc);
+        return sw.toString();
+    }
+
+    void verify(String output, String... expects) {
+        for (String expect: expects) {
+            if (!output.contains(expect))
+                error(expect + " not found");
+        }
+    }
+
+    void error(String msg) {
+        System.err.println(msg);
+        errorCount++;
+    }
+}
diff --git a/nashorn/.hgtags b/nashorn/.hgtags
index cdbcf2e..6693548 100644
--- a/nashorn/.hgtags
+++ b/nashorn/.hgtags
@@ -225,3 +225,4 @@
 676cd7bf5e092356f7ee2116c8cf88cdc12377c7 jdk8-b113
 79f7b79bf97b71c9b5c9b103dbdef5f269eeb86d jdk8-b114
 f0d3ac2474ee755b1180ec71bcdfa190845b17eb jdk8-b115
+0fb1a427fbf6e04c77cebbbf99b6631c664ed793 jdk8-b116
diff --git a/nashorn/make/build.xml b/nashorn/make/build.xml
index c90cdd6..7d1f42a 100644
--- a/nashorn/make/build.xml
+++ b/nashorn/make/build.xml
@@ -372,6 +372,12 @@
     
     <copy file="${file.reference.jfxrt.jar}" todir="dist"/>
     
+    <condition property="jfx.prism.order" value="-Dprism.order=j2d" else=" ">
+		<not>
+            <os family="mac"/>
+        </not>
+	</condition>
+    
     <testng outputdir="${build.test.results.dir}" classfilesetref="test.classes"
        verbose="${testng.verbose}" haltonfailure="true" useDefaultListeners="false" listeners="${testng.listeners}" workingDir="${basedir}">
       <jvmarg line="${ext.class.path}"/>
@@ -380,6 +386,7 @@
         <propertyref prefix="testjfx-test-sys-prop."/>
         <mapper from="testjfx-test-sys-prop.*" to="*" type="glob"/>
       </propertyset>
+      <sysproperty key="test.fork.jvm.options" value="${testjfx-test-sys-prop.test.fork.jvm.options} ${jfx.prism.order}"/>
       <classpath>
           <pathelement path="${testjfx.run.test.classpath}"/>
       </classpath>
diff --git a/nashorn/make/project.properties b/nashorn/make/project.properties
index 33c9478..c3ffca4 100644
--- a/nashorn/make/project.properties
+++ b/nashorn/make/project.properties
@@ -230,7 +230,7 @@
     ${file.reference.jemmyawtinput.jar}${path.separator}\
     ${file.reference.testng.jar}${path.separator}\
     ${nashorn.internal.tests.jar}${path.separator}\
-    ${nashorn.api.tests.jar}    
+    ${nashorn.api.tests.jar}
 
 # testjfx VM options for script tests with @fork option
 testjfx-test-sys-prop.test.fork.jvm.options=${run.test.jvmargs.main} -Xmx${run.test.xmx} -cp ${testjfx.run.test.classpath}
diff --git a/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java b/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java
index ee287a2..911f166 100644
--- a/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java
+++ b/nashorn/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java
@@ -41,6 +41,7 @@
 import java.util.Set;
 import java.util.concurrent.Callable;
 import javax.script.Bindings;
+import jdk.nashorn.internal.runtime.ConsString;
 import jdk.nashorn.internal.runtime.Context;
 import jdk.nashorn.internal.runtime.GlobalObject;
 import jdk.nashorn.internal.runtime.JSType;
@@ -594,14 +595,35 @@
     }
 
     /**
-     * Make a script object mirror on given object if needed.
+     * Utilitity to convert this script object to the given type.
      *
-     * @param obj object to be wrapped
-     * @param homeGlobal global to which this object belongs
-     * @return wrapped object
+     * @param type destination type to convert to
+     * @return converted object
      */
-    public static Object wrap(final Object obj, final ScriptObject homeGlobal) {
-        return (obj instanceof ScriptObject && homeGlobal != null) ? new ScriptObjectMirror((ScriptObject)obj, homeGlobal) : obj;
+    public <T> T to(final Class<T> type) {
+        return inGlobal(new Callable<T>() {
+            @Override
+            public T call() {
+                return type.cast(ScriptUtils.convert(sobj, type));
+            }
+        });
+    }
+
+    /**
+     * Make a script object mirror on given object if needed. Also converts ConsString instances to Strings.
+     *
+     * @param obj object to be wrapped/converted
+     * @param homeGlobal global to which this object belongs. Not used for ConsStrings.
+     * @return wrapped/converted object
+     */
+    public static Object wrap(final Object obj, final Object homeGlobal) {
+        if(obj instanceof ScriptObject) {
+            return homeGlobal instanceof ScriptObject ? new ScriptObjectMirror((ScriptObject)obj, (ScriptObject)homeGlobal) : obj;
+        }
+        if(obj instanceof ConsString) {
+            return obj.toString();
+        }
+        return obj;
     }
 
     /**
@@ -611,7 +633,7 @@
      * @param homeGlobal global to which this object belongs
      * @return unwrapped object
      */
-    public static Object unwrap(final Object obj, final ScriptObject homeGlobal) {
+    public static Object unwrap(final Object obj, final Object homeGlobal) {
         if (obj instanceof ScriptObjectMirror) {
             final ScriptObjectMirror mirror = (ScriptObjectMirror)obj;
             return (mirror.global == homeGlobal)? mirror.sobj : obj;
@@ -627,7 +649,7 @@
      * @param homeGlobal global to which this object belongs
      * @return wrapped array
      */
-    public static Object[] wrapArray(final Object[] args, final ScriptObject homeGlobal) {
+    public static Object[] wrapArray(final Object[] args, final Object homeGlobal) {
         if (args == null || args.length == 0) {
             return args;
         }
@@ -648,7 +670,7 @@
      * @param homeGlobal global to which this object belongs
      * @return unwrapped array
      */
-    public static Object[] unwrapArray(final Object[] args, final ScriptObject homeGlobal) {
+    public static Object[] unwrapArray(final Object[] args, final Object homeGlobal) {
         if (args == null || args.length == 0) {
             return args;
         }
diff --git a/nashorn/src/jdk/nashorn/api/scripting/ScriptUtils.java b/nashorn/src/jdk/nashorn/api/scripting/ScriptUtils.java
index 48045e1..29d03db 100644
--- a/nashorn/src/jdk/nashorn/api/scripting/ScriptUtils.java
+++ b/nashorn/src/jdk/nashorn/api/scripting/ScriptUtils.java
@@ -25,11 +25,17 @@
 
 package jdk.nashorn.api.scripting;
 
+import java.lang.invoke.MethodHandle;
+import jdk.internal.dynalink.beans.StaticClass;
+import jdk.internal.dynalink.linker.LinkerServices;
+import jdk.nashorn.internal.runtime.linker.Bootstrap;
+import jdk.nashorn.internal.runtime.Context;
 import jdk.nashorn.internal.runtime.ScriptFunction;
+import jdk.nashorn.internal.runtime.ScriptObject;
 import jdk.nashorn.internal.runtime.ScriptRuntime;
 
 /**
- * Utilities that are to be called from script code
+ * Utilities that are to be called from script code.
  */
 public final class ScriptUtils {
     private ScriptUtils() {}
@@ -71,4 +77,96 @@
         return func.makeSynchronizedFunction(sync);
     }
 
+    /**
+     * Make a script object mirror on given object if needed.
+     *
+     * @param obj object to be wrapped
+     * @return wrapped object
+     */
+    public static Object wrap(final Object obj) {
+        if (obj instanceof ScriptObject) {
+            return ScriptObjectMirror.wrap(obj, Context.getGlobal());
+        }
+
+        return obj;
+    }
+
+    /**
+     * Unwrap a script object mirror if needed.
+     *
+     * @param obj object to be unwrapped
+     * @return unwrapped object
+     */
+    public static Object unwrap(final Object obj) {
+        if (obj instanceof ScriptObjectMirror) {
+            return ScriptObjectMirror.unwrap(obj, Context.getGlobal());
+        }
+
+        return obj;
+    }
+
+    /**
+     * Wrap an array of object to script object mirrors if needed.
+     *
+     * @param args array to be unwrapped
+     * @return wrapped array
+     */
+    public static Object[] wrapArray(final Object[] args) {
+        if (args == null || args.length == 0) {
+            return args;
+        }
+
+        return ScriptObjectMirror.wrapArray(args, Context.getGlobal());
+    }
+
+    /**
+     * Unwrap an array of script object mirrors if needed.
+     *
+     * @param args array to be unwrapped
+     * @return unwrapped array
+     */
+    public static Object[] unwrapArray(final Object[] args) {
+        if (args == null || args.length == 0) {
+            return args;
+        }
+
+        return ScriptObjectMirror.unwrapArray(args, Context.getGlobal());
+    }
+
+    /**
+     * Convert the given object to the given type.
+     *
+     * @param obj object to be converted
+     * @param type destination type to convert to
+     * @return converted object
+     */
+    public static Object convert(final Object obj, final Object type) {
+        if (obj == null) {
+            return null;
+        }
+
+        final Class<?> clazz;
+        if (type instanceof Class) {
+            clazz = (Class<?>)type;
+        } else if (type instanceof StaticClass) {
+            clazz = ((StaticClass)type).getRepresentedClass();
+        } else {
+            throw new IllegalArgumentException("type expected");
+        }
+
+        final LinkerServices linker = Bootstrap.getLinkerServices();
+        final MethodHandle converter = linker.getTypeConverter(obj.getClass(),  clazz);
+        if (converter == null) {
+            // no supported conversion!
+            throw new UnsupportedOperationException("conversion not supported");
+        }
+
+        try {
+            return converter.invoke(obj);
+        } catch (final RuntimeException | Error e) {
+            throw e;
+        } catch (final Throwable t) {
+            throw new RuntimeException(t);
+        }
+    }
 }
diff --git a/nashorn/src/jdk/nashorn/internal/codegen/Attr.java b/nashorn/src/jdk/nashorn/internal/codegen/Attr.java
index 5415a06..f1ced8a 100644
--- a/nashorn/src/jdk/nashorn/internal/codegen/Attr.java
+++ b/nashorn/src/jdk/nashorn/internal/codegen/Attr.java
@@ -271,6 +271,7 @@
                     functionNode.addDeclaredSymbol(symbol);
                     if (varNode.isFunctionDeclaration()) {
                         newType(symbol, FunctionNode.FUNCTION_TYPE);
+                        symbol.setIsFunctionDeclaration();
                     }
                     return varNode.setName((IdentNode)ident.setSymbol(lc, symbol));
                 }
@@ -1264,12 +1265,17 @@
 
     @Override
     public Node leaveCOMMARIGHT(final BinaryNode binaryNode) {
-        return end(ensureSymbol(binaryNode.rhs().getType(), binaryNode));
+        return leaveComma(binaryNode, binaryNode.rhs());
     }
 
     @Override
     public Node leaveCOMMALEFT(final BinaryNode binaryNode) {
-        return end(ensureSymbol(binaryNode.lhs().getType(), binaryNode));
+        return leaveComma(binaryNode, binaryNode.lhs());
+    }
+
+    private Node leaveComma(final BinaryNode commaNode, final Expression effectiveExpr) {
+        ensureTypeNotUnknown(effectiveExpr);
+        return end(ensureSymbol(effectiveExpr.getType(), commaNode));
     }
 
     @Override
diff --git a/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java b/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java
index 206433d..f5c1fb8 100644
--- a/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java
+++ b/nashorn/src/jdk/nashorn/internal/codegen/CodeGenerator.java
@@ -412,6 +412,8 @@
             return method;
         }
 
+        assert !type.isUnknown();
+
         /*
          * The load may be of type IdentNode, e.g. "x", AccessNode, e.g. "x.y"
          * or IndexNode e.g. "x[y]". Both AccessNodes and IndexNodes are
diff --git a/nashorn/src/jdk/nashorn/internal/codegen/MapCreator.java b/nashorn/src/jdk/nashorn/internal/codegen/MapCreator.java
index 2921ea9e..8012adf 100644
--- a/nashorn/src/jdk/nashorn/internal/codegen/MapCreator.java
+++ b/nashorn/src/jdk/nashorn/internal/codegen/MapCreator.java
@@ -134,6 +134,10 @@
             flags |= Property.CAN_BE_UNDEFINED;
         }
 
+        if (symbol.isFunctionDeclaration()) {
+            flags |= Property.IS_FUNCTION_DECLARATION;
+        }
+
         return flags;
     }
 
diff --git a/nashorn/src/jdk/nashorn/internal/ir/Symbol.java b/nashorn/src/jdk/nashorn/internal/ir/Symbol.java
index 69e98ac..2906893 100644
--- a/nashorn/src/jdk/nashorn/internal/ir/Symbol.java
+++ b/nashorn/src/jdk/nashorn/internal/ir/Symbol.java
@@ -75,6 +75,8 @@
     public static final int IS_SPECIALIZED_PARAM = 1 << 13;
     /** Is this symbol a shared temporary? */
     public static final int IS_SHARED            = 1 << 14;
+    /** Is this a function declaration? */
+    public static final int IS_FUNCTION_DECLARATION = 1 << 15;
 
     /** Null or name identifying symbol. */
     private final String name;
@@ -360,6 +362,14 @@
     }
 
     /**
+     * Check if this symbol is a function declaration
+     * @return true if a function declaration
+     */
+    public boolean isFunctionDeclaration() {
+        return (flags & IS_FUNCTION_DECLARATION) == IS_FUNCTION_DECLARATION;
+    }
+
+    /**
      * Creates an unshared copy of a symbol. The symbol must be currently shared.
      * @param newName the name for the new symbol.
      * @return a new, unshared symbol.
@@ -396,6 +406,16 @@
 
 
     /**
+     * Mark this symbol as a function declaration.
+     */
+    public void setIsFunctionDeclaration() {
+        if (!isFunctionDeclaration()) {
+            trace("SET IS FUNCTION DECLARATION");
+            flags |= IS_FUNCTION_DECLARATION;
+        }
+    }
+
+    /**
      * Check if this symbol is a variable
      * @return true if variable
      */
diff --git a/nashorn/src/jdk/nashorn/internal/objects/Global.java b/nashorn/src/jdk/nashorn/internal/objects/Global.java
index a0df10b..0a09370 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/Global.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/Global.java
@@ -53,19 +53,19 @@
 import jdk.nashorn.internal.runtime.GlobalObject;
 import jdk.nashorn.internal.runtime.JSType;
 import jdk.nashorn.internal.runtime.NativeJavaPackage;
-import jdk.nashorn.internal.runtime.PropertyMap;
-import jdk.nashorn.internal.runtime.ScriptEnvironment;
 import jdk.nashorn.internal.runtime.PropertyDescriptor;
-import jdk.nashorn.internal.runtime.arrays.ArrayData;
-import jdk.nashorn.internal.runtime.regexp.RegExpResult;
+import jdk.nashorn.internal.runtime.PropertyMap;
 import jdk.nashorn.internal.runtime.Scope;
+import jdk.nashorn.internal.runtime.ScriptEnvironment;
 import jdk.nashorn.internal.runtime.ScriptFunction;
 import jdk.nashorn.internal.runtime.ScriptObject;
 import jdk.nashorn.internal.runtime.ScriptRuntime;
 import jdk.nashorn.internal.runtime.ScriptingFunctions;
 import jdk.nashorn.internal.runtime.Source;
+import jdk.nashorn.internal.runtime.arrays.ArrayData;
 import jdk.nashorn.internal.runtime.linker.Bootstrap;
 import jdk.nashorn.internal.runtime.linker.InvokeByName;
+import jdk.nashorn.internal.runtime.regexp.RegExpResult;
 import jdk.nashorn.internal.scripts.JO;
 
 /**
diff --git a/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java b/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java
index 94e3bef..c7db39a 100644
--- a/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java
+++ b/nashorn/src/jdk/nashorn/internal/objects/NativeObject.java
@@ -60,6 +60,7 @@
 import jdk.nashorn.internal.runtime.ScriptRuntime;
 import jdk.nashorn.internal.runtime.linker.Bootstrap;
 import jdk.nashorn.internal.runtime.linker.InvokeByName;
+import jdk.nashorn.internal.runtime.linker.NashornBeansLinker;
 
 /**
  * ECMA 15.2 Object objects
@@ -729,8 +730,7 @@
             final MethodType methodType, final Object source) {
         final GuardedInvocation inv;
         try {
-            inv = linker.getGuardedInvocation(createLinkRequest(operation, methodType, source),
-                Bootstrap.getLinkerServices());
+            inv = NashornBeansLinker.getGuardedInvocation(linker, createLinkRequest(operation, methodType, source), Bootstrap.getLinkerServices());
             assert passesGuard(source, inv.getGuard());
         } catch(RuntimeException|Error e) {
             throw e;
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ConsString.java b/nashorn/src/jdk/nashorn/internal/runtime/ConsString.java
index 9cf5155..8f764f4 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/ConsString.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/ConsString.java
@@ -57,10 +57,7 @@
 
     @Override
     public String toString() {
-        if (!flat) {
-            flatten();
-        }
-        return (String) left;
+        return (String) flattened();
     }
 
     @Override
@@ -70,18 +67,19 @@
 
     @Override
     public char charAt(final int index) {
-        if (!flat) {
-            flatten();
-        }
-        return left.charAt(index);
+        return flattened().charAt(index);
     }
 
     @Override
     public CharSequence subSequence(final int start, final int end) {
+        return flattened().subSequence(start, end);
+    }
+
+    private CharSequence flattened() {
         if (!flat) {
             flatten();
         }
-        return left.subSequence(start, end);
+        return left;
     }
 
     private void flatten() {
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/JSType.java b/nashorn/src/jdk/nashorn/internal/runtime/JSType.java
index e1b9130..5413019 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/JSType.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/JSType.java
@@ -88,6 +88,9 @@
     /** JavaScript compliant conversion function from Object to number */
     public static final Call TO_NUMBER = staticCall(myLookup, JSType.class, "toNumber", double.class, Object.class);
 
+    /** JavaScript compliant conversion function from Object to String */
+    public static final Call TO_STRING = staticCall(myLookup, JSType.class, "toString", String.class, Object.class);
+
     /** JavaScript compliant conversion function from Object to int32 */
     public static final Call TO_INT32 = staticCall(myLookup, JSType.class, "toInt32", int.class, Object.class);
 
@@ -883,7 +886,7 @@
      */
     public static Object toJavaArray(final Object obj, final Class<?> componentType) {
         if (obj instanceof ScriptObject) {
-            return convertArray(((ScriptObject)obj).getArray().asObjectArray(), componentType);
+            return ((ScriptObject)obj).getArray().asArrayOfType(componentType);
         } else if (obj instanceof JSObject) {
             final ArrayLikeIterator<?> itr = ArrayLikeIterator.arrayLikeIterator(obj);
             final int len = (int) itr.getLength();
@@ -908,6 +911,15 @@
      * @return converted Java array
      */
     public static Object convertArray(final Object[] src, final Class<?> componentType) {
+        if(componentType == Object.class) {
+            for(int i = 0; i < src.length; ++i) {
+                final Object e = src[i];
+                if(e instanceof ConsString) {
+                    src[i] = e.toString();
+                }
+            }
+        }
+
         final int l = src.length;
         final Object dst = Array.newInstance(componentType, l);
         final MethodHandle converter = Bootstrap.getLinkerServices().getTypeConverter(Object.class, componentType);
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/Property.java b/nashorn/src/jdk/nashorn/internal/runtime/Property.java
index e735ed1..d1dbe2a 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/Property.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/Property.java
@@ -56,33 +56,36 @@
     public static final int WRITABLE_ENUMERABLE_CONFIGURABLE = 0b0000_0000_0000;
 
     /** ECMA 8.6.1 - Is this property not writable? */
-    public static final int NOT_WRITABLE     = 0b0000_0000_0001;
+    public static final int NOT_WRITABLE     = 1 << 0;
 
     /** ECMA 8.6.1 - Is this property not enumerable? */
-    public static final int NOT_ENUMERABLE   = 0b0000_0000_0010;
+    public static final int NOT_ENUMERABLE   = 1 << 1;
 
     /** ECMA 8.6.1 - Is this property not configurable? */
-    public static final int NOT_CONFIGURABLE = 0b0000_0000_0100;
+    public static final int NOT_CONFIGURABLE = 1 << 2;
 
-    private static final int MODIFY_MASK     = 0b0000_0000_1111;
+    private static final int MODIFY_MASK     = (NOT_WRITABLE | NOT_ENUMERABLE | NOT_CONFIGURABLE);
 
     /** Is this a spill property? See {@link AccessorProperty} */
-    public static final int IS_SPILL         = 0b0000_0001_0000;
+    public static final int IS_SPILL         = 1 << 3;
 
     /** Is this a function parameter? */
-    public static final int IS_PARAMETER     = 0b0000_0010_0000;
+    public static final int IS_PARAMETER     = 1 << 4;
 
     /** Is parameter accessed thru arguments? */
-    public static final int HAS_ARGUMENTS    = 0b0000_0100_0000;
+    public static final int HAS_ARGUMENTS    = 1 << 5;
 
     /** Is this property always represented as an Object? See {@link ObjectClassGenerator} and dual fields flag. */
-    public static final int IS_ALWAYS_OBJECT = 0b0000_1000_0000;
+    public static final int IS_ALWAYS_OBJECT = 1 << 6;
 
     /** Can this property be primitive? */
-    public static final int CAN_BE_PRIMITIVE = 0b0001_0000_0000;
+    public static final int CAN_BE_PRIMITIVE = 1 << 7;
 
     /** Can this property be undefined? */
-    public static final int CAN_BE_UNDEFINED = 0b0010_0000_0000;
+    public static final int CAN_BE_UNDEFINED = 1 << 8;
+
+    /* Is this a function declaration property ? */
+    public static final int IS_FUNCTION_DECLARATION = 1 << 9;
 
     /** Property key. */
     private final String key;
@@ -522,4 +525,12 @@
     public boolean canBeUndefined() {
         return (flags & CAN_BE_UNDEFINED) == CAN_BE_UNDEFINED;
     }
+
+    /**
+     * Check whether this property represents a function declaration.
+     * @return whether this property is a function declaration or not.
+     */
+    public boolean isFunctionDeclaration() {
+        return (flags & IS_FUNCTION_DECLARATION) == IS_FUNCTION_DECLARATION;
+    }
 }
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java b/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java
index 5d1fbcd..c7c8202 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/ScriptObject.java
@@ -226,14 +226,23 @@
 
         for (final Property property : properties) {
             final String key = property.getKey();
-
-            if (newMap.findProperty(key) == null) {
+            final Property oldProp = newMap.findProperty(key);
+            if (oldProp == null) {
                 if (property instanceof UserAccessorProperty) {
                     final UserAccessorProperty prop = this.newUserAccessors(key, property.getFlags(), property.getGetterFunction(source), property.getSetterFunction(source));
                     newMap = newMap.addProperty(prop);
                 } else {
                     newMap = newMap.addPropertyBind((AccessorProperty)property, source);
                 }
+            } else {
+                // See ECMA section 10.5 Declaration Binding Instantiation
+                // step 5 processing each function declaration.
+                if (property.isFunctionDeclaration() && !oldProp.isConfigurable()) {
+                     if (oldProp instanceof UserAccessorProperty ||
+                         !(oldProp.isWritable() && oldProp.isEnumerable())) {
+                         throw typeError("cant.redefine.property", key, ScriptRuntime.safeToString(this));
+                     }
+                }
             }
         }
 
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/Bootstrap.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/Bootstrap.java
index f725817..0d5f68a 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/linker/Bootstrap.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/Bootstrap.java
@@ -63,7 +63,7 @@
         final DynamicLinkerFactory factory = new DynamicLinkerFactory();
         factory.setPrioritizedLinkers(new NashornLinker(), new NashornPrimitiveLinker(), new NashornStaticClassLinker(),
                 new BoundDynamicMethodLinker(), new JavaSuperAdapterLinker(), new JSObjectLinker(), new ReflectionCheckLinker());
-        factory.setFallbackLinkers(new BeansLinker(), new NashornBottomLinker());
+        factory.setFallbackLinkers(new NashornBeansLinker(), new NashornBottomLinker());
         factory.setSyncOnRelink(true);
         final int relinkThreshold = Options.getIntProperty("nashorn.unstable.relink.threshold", -1);
         if (relinkThreshold > -1) {
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/BoundDynamicMethodLinker.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/BoundDynamicMethodLinker.java
index ccd497d..77c1618 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/linker/BoundDynamicMethodLinker.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/BoundDynamicMethodLinker.java
@@ -72,7 +72,7 @@
                 type.changeParameterType(0, dynamicMethodClass).changeParameterType(1, boundThis.getClass()));
 
         // Delegate to BeansLinker
-        final GuardedInvocation inv = BeansLinker.getLinkerForClass(dynamicMethodClass).getGuardedInvocation(
+        final GuardedInvocation inv = NashornBeansLinker.getGuardedInvocation(BeansLinker.getLinkerForClass(dynamicMethodClass),
                 linkRequest.replaceArguments(newDescriptor, args), linkerServices);
         if(inv == null) {
             return null;
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java
index 8e40805..c42af1d 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java
@@ -100,8 +100,9 @@
                 type.changeParameterType(0, adapterClass), 0);
 
         // Delegate to BeansLinker
-        final GuardedInvocation guardedInv = BeansLinker.getLinkerForClass(adapterClass).getGuardedInvocation(
-                linkRequest.replaceArguments(newDescriptor, args), linkerServices);
+        final GuardedInvocation guardedInv = NashornBeansLinker.getGuardedInvocation(
+                BeansLinker.getLinkerForClass(adapterClass), linkRequest.replaceArguments(newDescriptor, args),
+                linkerServices);
 
         final MethodHandle guard = IS_ADAPTER_OF_CLASS.bindTo(adapterClass);
         if(guardedInv == null) {
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java
new file mode 100644
index 0000000..e2db2b1
--- /dev/null
+++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 jdk.nashorn.internal.runtime.linker;
+
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import jdk.internal.dynalink.beans.BeansLinker;
+import jdk.internal.dynalink.linker.ConversionComparator.Comparison;
+import jdk.internal.dynalink.linker.GuardedInvocation;
+import jdk.internal.dynalink.linker.GuardingDynamicLinker;
+import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.internal.dynalink.linker.LinkerServices;
+import jdk.internal.dynalink.support.Lookup;
+import jdk.nashorn.internal.runtime.ConsString;
+
+/**
+ * This linker delegates to a {@code BeansLinker} but passes it a special linker services object that has a modified
+ * {@code asType} method that will ensure that we never pass internal engine objects that should not be externally
+ * observable (currently only ConsString) to Java APIs, but rather that we flatten it into a String. We can't just add
+ * this functionality as custom converters via {@code GuaardingTypeConverterFactory}, since they are not consulted when
+ * the target method handle parameter signature is {@code Object}.
+ */
+public class NashornBeansLinker implements GuardingDynamicLinker {
+    private static final MethodHandle EXPORT_ARGUMENT = new Lookup(MethodHandles.lookup()).findOwnStatic("exportArgument", Object.class, Object.class);
+
+    private final BeansLinker beansLinker = new BeansLinker();
+
+    @Override
+    public GuardedInvocation getGuardedInvocation(final LinkRequest linkRequest, final LinkerServices linkerServices) throws Exception {
+        return getGuardedInvocation(beansLinker, linkRequest, linkerServices);
+    }
+
+    /**
+     * Delegates to the specified linker but injects its linker services wrapper so that it will apply all special
+     * conversions that this class does.
+     * @param delegateLinker the linker to which the actual work is delegated to.
+     * @param linkRequest the delegated link request
+     * @param linkerServices the original link services that will be augmented with special conversions
+     * @return the guarded invocation from the delegate, possibly augmented with special conversions
+     * @throws Exception if the delegate throws an exception
+     */
+    public static GuardedInvocation getGuardedInvocation(final GuardingDynamicLinker delegateLinker, final LinkRequest linkRequest, final LinkerServices linkerServices) throws Exception {
+        return delegateLinker.getGuardedInvocation(linkRequest, new NashornBeansLinkerServices(linkerServices));
+    }
+
+    @SuppressWarnings("unused")
+    private static Object exportArgument(final Object arg) {
+        return arg instanceof ConsString ? arg.toString() : arg;
+    }
+
+    private static class NashornBeansLinkerServices implements LinkerServices {
+        private final LinkerServices linkerServices;
+
+        NashornBeansLinkerServices(final LinkerServices linkerServices) {
+            this.linkerServices = linkerServices;
+        }
+
+        @Override
+        public MethodHandle asType(final MethodHandle handle, final MethodType fromType) {
+            final MethodHandle typed = linkerServices.asType(handle, fromType);
+
+            final MethodType handleType = handle.type();
+            final int paramCount = handleType.parameterCount();
+            assert fromType.parameterCount() == handleType.parameterCount();
+
+            MethodHandle[] filters = null;
+            for(int i = 0; i < paramCount; ++i) {
+                if(shouldConvert(handleType.parameterType(i), fromType.parameterType(i))) {
+                    if(filters == null) {
+                        filters = new MethodHandle[paramCount];
+                    }
+                    filters[i] = EXPORT_ARGUMENT;
+                }
+            }
+
+            return filters != null ? MethodHandles.filterArguments(typed, 0, filters) : typed;
+        }
+
+        private static boolean shouldConvert(final Class<?> handleType, final Class<?> fromType) {
+            return handleType == Object.class && fromType == Object.class;
+        }
+
+        @Override
+        public MethodHandle getTypeConverter(final Class<?> sourceType, final Class<?> targetType) {
+            return linkerServices.getTypeConverter(sourceType, targetType);
+        }
+
+        @Override
+        public boolean canConvert(final Class<?> from, final Class<?> to) {
+            return linkerServices.canConvert(from, to);
+        }
+
+        @Override
+        public GuardedInvocation getGuardedInvocation(final LinkRequest linkRequest) throws Exception {
+            return linkerServices.getGuardedInvocation(linkRequest);
+        }
+
+        @Override
+        public Comparison compareConversion(final Class<?> sourceType, final Class<?> targetType1, final Class<?> targetType2) {
+            return linkerServices.compareConversion(sourceType, targetType1, targetType2);
+        }
+    }
+}
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java
index 6dbcbdd..c94df15 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java
@@ -33,14 +33,18 @@
 import java.lang.invoke.MethodType;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
+import java.util.Map;
+import java.util.HashMap;
 import jdk.internal.dynalink.CallSiteDescriptor;
 import jdk.internal.dynalink.beans.BeansLinker;
 import jdk.internal.dynalink.linker.GuardedInvocation;
 import jdk.internal.dynalink.linker.GuardingDynamicLinker;
+import jdk.internal.dynalink.linker.GuardingTypeConverterFactory;
 import jdk.internal.dynalink.linker.LinkRequest;
 import jdk.internal.dynalink.linker.LinkerServices;
 import jdk.internal.dynalink.support.Guards;
 import jdk.nashorn.internal.runtime.Context;
+import jdk.nashorn.internal.runtime.JSType;
 import jdk.nashorn.internal.runtime.ScriptRuntime;
 
 /**
@@ -50,7 +54,7 @@
  * setters for Java objects that couldn't be linked by any other linker, and throw appropriate ECMAScript errors for
  * attempts to invoke arbitrary Java objects as functions or constructors.
  */
-final class NashornBottomLinker implements GuardingDynamicLinker {
+final class NashornBottomLinker implements GuardingDynamicLinker, GuardingTypeConverterFactory {
 
     @Override
     public GuardedInvocation getGuardedInvocation(final LinkRequest linkRequest, final LinkerServices linkerServices)
@@ -129,6 +133,29 @@
         throw new AssertionError("unknown call type " + desc);
     }
 
+    @Override
+    public GuardedInvocation convertToType(final Class<?> sourceType, final Class<?> targetType) throws Exception {
+        final GuardedInvocation gi = convertToTypeNoCast(sourceType, targetType);
+        return gi == null ? null : gi.asType(MH.type(targetType, sourceType));
+    }
+
+    /**
+     * Main part of the implementation of {@link GuardingTypeConverterFactory#convertToType(Class, Class)} that doesn't
+     * care about adapting the method signature; that's done by the invoking method. Returns conversion from Object to String/number/boolean (JS primitive types).
+     * @param sourceType the source type
+     * @param targetType the target type
+     * @return a guarded invocation that converts from the source type to the target type.
+     * @throws Exception if something goes wrong
+     */
+    private static GuardedInvocation convertToTypeNoCast(final Class<?> sourceType, final Class<?> targetType) throws Exception {
+        final MethodHandle mh = CONVERTERS.get(targetType);
+        if (mh != null) {
+            return new GuardedInvocation(mh, null);
+        }
+
+        return null;
+    }
+
     private static GuardedInvocation getInvocation(final MethodHandle handle, final Object self, final LinkerServices linkerServices, final CallSiteDescriptor desc) {
         return Bootstrap.asType(new GuardedInvocation(handle, Guards.getClassGuard(self.getClass())), linkerServices, desc);
     }
@@ -161,6 +188,15 @@
         throw new AssertionError("unknown call type " + desc);
     }
 
+    private static final Map<Class<?>, MethodHandle> CONVERTERS = new HashMap<>();
+    static {
+        CONVERTERS.put(boolean.class, JSType.TO_BOOLEAN.methodHandle());
+        CONVERTERS.put(double.class, JSType.TO_NUMBER.methodHandle());
+        CONVERTERS.put(int.class, JSType.TO_INTEGER.methodHandle());
+        CONVERTERS.put(long.class, JSType.TO_LONG.methodHandle());
+        CONVERTERS.put(String.class, JSType.TO_STRING.methodHandle());
+    }
+
     private static String getArgument(final LinkRequest linkRequest) {
         final CallSiteDescriptor desc = linkRequest.getCallSiteDescriptor();
         if (desc.getNameTokenCount() > 2) {
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornLinker.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornLinker.java
index a760c60..27e4573 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornLinker.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornLinker.java
@@ -32,6 +32,8 @@
 import java.lang.reflect.Modifier;
 import java.util.Deque;
 import java.util.List;
+import java.util.Map;
+import javax.script.Bindings;
 import jdk.internal.dynalink.CallSiteDescriptor;
 import jdk.internal.dynalink.linker.ConversionComparator;
 import jdk.internal.dynalink.linker.GuardedInvocation;
@@ -40,7 +42,11 @@
 import jdk.internal.dynalink.linker.LinkerServices;
 import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
 import jdk.internal.dynalink.support.Guards;
+import jdk.nashorn.api.scripting.JSObject;
+import jdk.nashorn.api.scripting.ScriptObjectMirror;
+import jdk.nashorn.api.scripting.ScriptUtils;
 import jdk.nashorn.internal.objects.NativeArray;
+import jdk.nashorn.internal.runtime.Context;
 import jdk.nashorn.internal.runtime.JSType;
 import jdk.nashorn.internal.runtime.ScriptFunction;
 import jdk.nashorn.internal.runtime.ScriptObject;
@@ -115,9 +121,14 @@
             return new GuardedInvocation(mh, canLinkTypeStatic(sourceType) ? null : IS_NASHORN_OR_UNDEFINED_TYPE);
         }
 
-        GuardedInvocation inv = getArrayConverter(sourceType, targetType);
-        if(inv != null) {
-            return inv;
+        final GuardedInvocation arrayConverter = getArrayConverter(sourceType, targetType);
+        if(arrayConverter != null) {
+            return arrayConverter;
+        }
+
+        final GuardedInvocation mirrorConverter = getMirrorConverter(sourceType, targetType);
+        if(mirrorConverter != null) {
+            return mirrorConverter;
         }
 
         return getSamTypeConverter(sourceType, targetType);
@@ -181,6 +192,18 @@
         return MH.asType(converter, converter.type().changeReturnType(type));
     }
 
+    private static GuardedInvocation getMirrorConverter(Class<?> sourceType, Class<?> targetType) {
+        // Could've also used (targetType.isAssignableFrom(ScriptObjectMirror.class) && targetType != Object.class) but
+        // it's probably better to explicitly spell out the supported target types
+        if (targetType == Map.class || targetType == Bindings.class || targetType == JSObject.class || targetType == ScriptObjectMirror.class) {
+            if(ScriptObject.class.isAssignableFrom(sourceType)) {
+                return new GuardedInvocation(CREATE_MIRROR, null);
+            }
+            return new GuardedInvocation(CREATE_MIRROR, IS_SCRIPT_OBJECT);
+        }
+        return null;
+    }
+
     private static boolean isAutoConvertibleFromFunction(final Class<?> clazz) {
         return isAbstractClass(clazz) && !ScriptObject.class.isAssignableFrom(clazz) &&
                 JavaAdapterFactory.isAutoConvertibleFromFunction(clazz);
@@ -235,17 +258,23 @@
         return clazz == List.class || clazz == Deque.class;
     }
 
+    private static final MethodHandle IS_SCRIPT_OBJECT = Guards.isInstance(ScriptObject.class, MH.type(Boolean.TYPE, Object.class));
     private static final MethodHandle IS_SCRIPT_FUNCTION = Guards.isInstance(ScriptFunction.class, MH.type(Boolean.TYPE, Object.class));
     private static final MethodHandle IS_NATIVE_ARRAY = Guards.isOfClass(NativeArray.class, MH.type(Boolean.TYPE, Object.class));
 
-    private static final MethodHandle IS_NASHORN_OR_UNDEFINED_TYPE = findOwnMH("isNashornTypeOrUndefined",
-            Boolean.TYPE, Object.class);
+    private static final MethodHandle IS_NASHORN_OR_UNDEFINED_TYPE = findOwnMH("isNashornTypeOrUndefined", Boolean.TYPE, Object.class);
+    private static final MethodHandle CREATE_MIRROR = findOwnMH("createMirror", Object.class, Object.class);
 
     @SuppressWarnings("unused")
     private static boolean isNashornTypeOrUndefined(final Object obj) {
         return obj instanceof ScriptObject || obj instanceof Undefined;
     }
 
+    @SuppressWarnings("unused")
+    private static Object createMirror(final Object obj) {
+        return ScriptUtils.wrap(obj);
+    }
+
     private static MethodHandle findOwnMH(final String name, final Class<?> rtype, final Class<?>... types) {
         return MH.findStatic(MethodHandles.lookup(), NashornLinker.class, name, MH.type(rtype, types));
     }
diff --git a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java
index ce60d79..72ed976 100644
--- a/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java
+++ b/nashorn/src/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java
@@ -93,7 +93,7 @@
     }
 
     private static GuardedInvocation delegate(LinkerServices linkerServices, final LinkRequest request) throws Exception {
-        return staticClassLinker.getGuardedInvocation(request, linkerServices);
+        return NashornBeansLinker.getGuardedInvocation(staticClassLinker, request, linkerServices);
     }
 
     private static GuardedInvocation checkNullConstructor(final GuardedInvocation ctorInvocation, final Class<?> receiverClass) {
diff --git a/nashorn/test/script/basic/JDK-8015355.js b/nashorn/test/script/basic/JDK-8015355.js
index bc39d8d..aa1a39d 100644
--- a/nashorn/test/script/basic/JDK-8015355.js
+++ b/nashorn/test/script/basic/JDK-8015355.js
@@ -28,10 +28,6 @@
  * @run
  */
 
-function fail(msg) {
-    print(msg);
-}
-
 function check(callback) {
     try {
         callback();
diff --git a/langtools/test/tools/javac/InferArraysInIntersections.java b/nashorn/test/script/basic/JDK-8027236.js
similarity index 70%
rename from langtools/test/tools/javac/InferArraysInIntersections.java
rename to nashorn/test/script/basic/JDK-8027236.js
index c22041c..02f9e8d 100644
--- a/langtools/test/tools/javac/InferArraysInIntersections.java
+++ b/nashorn/test/script/basic/JDK-8027236.js
@@ -1,38 +1,37 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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-8027236: Ensure ScriptObject and ConsString aren't visible to Java
+ *
  * @test
- * @bug 8021339
- * @summary Allow arrays in intersection types
- * @compile -doe -XDrawDiagnostics InferArraysInIntersections.java
+ * @run
  */
-import java.util.*;
 
-class InferArraysInIntersections {
-   <T> T m(List<? super T> t) { return null; }
-
-   void test(List<char[]> lc) {
-      Runnable r = m(lc); //inference fails here
-   }
-}
+// Check that ConsString is flattened
+var m = new java.util.HashMap()
+var x = "f"
+x += "oo"
+m.put(x, "bar")
+print(m.get("foo"))
+// Note: many more tests are run by the JavaExportImportTest TestNG class.
diff --git a/nashorn/test/script/basic/JDK-8027236.js.EXPECTED b/nashorn/test/script/basic/JDK-8027236.js.EXPECTED
new file mode 100644
index 0000000..5716ca5
--- /dev/null
+++ b/nashorn/test/script/basic/JDK-8027236.js.EXPECTED
@@ -0,0 +1 @@
+bar
diff --git a/nashorn/test/script/basic/JDK-8027700.js b/nashorn/test/script/basic/JDK-8027700.js
new file mode 100644
index 0000000..4c5445d
--- /dev/null
+++ b/nashorn/test/script/basic/JDK-8027700.js
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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-8027700: function redeclaration checks missing for declaration binding instantiation
+ *
+ * @test
+ * @run
+ */
+
+Object.defineProperty(this,"x", {
+        value:0,
+        writable:true,
+        enumerable:false
+})
+
+try {
+    eval("function x() {}");
+    fail("should have thrown TypeError");
+} catch (e) {
+    if (! (e instanceof TypeError)) {
+        fail("TypeError expected but got " + e);
+    }
+}
+
+Object.defineProperty(this, "foo", { value:0 }) 
+try {
+    eval("function foo() {}");
+    fail("should have thrown TypeError");
+} catch (e) {
+    if (! (e instanceof TypeError)) {
+        fail("TypeError expected but got " + e);
+    }
+}
diff --git a/nashorn/test/script/basic/JDK-8027753.js b/nashorn/test/script/basic/JDK-8027753.js
new file mode 100644
index 0000000..2af0baa
--- /dev/null
+++ b/nashorn/test/script/basic/JDK-8027753.js
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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-8027753: Support ScriptObject to JSObject, ScriptObjectMirror, Map, Bindings auto-conversion as well as explicit wrap, unwrap
+ *
+ * @test
+ * @run
+ */
+
+var ScriptUtils = Java.type("jdk.nashorn.api.scripting.ScriptUtils");
+var ScriptObjectMirror = Java.type("jdk.nashorn.api.scripting.ScriptObjectMirror");
+
+var obj = { foo: 34, bar: 'hello' };
+
+var wrapped = ScriptUtils.wrap(obj);
+if (! (wrapped instanceof ScriptObjectMirror)) {
+    fail("ScriptUtils.wrap does not return a ScriptObjectMirror");
+}
+
+print("wrapped.foo = " + wrapped.foo);
+print("wrapped.bar = " + wrapped.bar);
+
+var unwrapped = ScriptUtils.unwrap(wrapped);
+if (! (unwrapped instanceof Object)) {
+    fail("ScriptUtils.unwrap does not return a ScriptObject");
+}
+
+// same object unwrapped?
+print(unwrapped === obj);
diff --git a/nashorn/test/script/basic/JDK-8027753.js.EXPECTED b/nashorn/test/script/basic/JDK-8027753.js.EXPECTED
new file mode 100644
index 0000000..30a8779
--- /dev/null
+++ b/nashorn/test/script/basic/JDK-8027753.js.EXPECTED
@@ -0,0 +1,3 @@
+wrapped.foo = 34
+wrapped.bar = hello
+true
diff --git a/langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java b/nashorn/test/script/basic/JDK-8027828.js
similarity index 74%
copy from langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java
copy to nashorn/test/script/basic/JDK-8027828.js
index 4c57562..ab60938 100644
--- a/langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java
+++ b/nashorn/test/script/basic/JDK-8027828.js
@@ -1,28 +1,35 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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.
  */
 
-// key: compiler.err.intf.or.array.expected.here
+/**
+ * JDK-8027828: ClassCastException when converting return value of a Java method to boolean
+ *
+ * @test
+ * @run
+ */
 
-import java.util.List;
-
-class InterfaceExpected<T extends List & String> { }
+var x = new java.util.HashMap()
+x.put('test', new java.io.File('test'))
+if (x.get("test")) {
+  print('Found!')
+}
diff --git a/nashorn/test/script/basic/JDK-8027828.js.EXPECTED b/nashorn/test/script/basic/JDK-8027828.js.EXPECTED
new file mode 100644
index 0000000..7a8c9ed
--- /dev/null
+++ b/nashorn/test/script/basic/JDK-8027828.js.EXPECTED
@@ -0,0 +1 @@
+Found!
diff --git a/langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java b/nashorn/test/script/basic/JDK-8028020.js
similarity index 72%
copy from langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java
copy to nashorn/test/script/basic/JDK-8028020.js
index 4c57562..4dfa0ca 100644
--- a/langtools/test/tools/javac/diags/examples/InterfaceOrArrayExpected.java
+++ b/nashorn/test/script/basic/JDK-8028020.js
@@ -1,28 +1,40 @@
 /*
- * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
  * 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.
  */
 
-// key: compiler.err.intf.or.array.expected.here
+/**
+ * JDK-8028020: Function parameter as last expression in comma in return value causes bad type calculation
+ *
+ * @test
+ * @run
+ */
 
-import java.util.List;
+function f(x) {
+    return 1, x
+}
 
-class InterfaceExpected<T extends List & String> { }
+function g(x, y) {
+    return x, y
+}
+
+print(f("'1, x' works."))
+print(g(42, "'x, y' works too."))
diff --git a/nashorn/test/script/basic/JDK-8028020.js.EXPECTED b/nashorn/test/script/basic/JDK-8028020.js.EXPECTED
new file mode 100644
index 0000000..816a21c
--- /dev/null
+++ b/nashorn/test/script/basic/JDK-8028020.js.EXPECTED
@@ -0,0 +1,2 @@
+'1, x' works.
+'x, y' works too.
diff --git a/nashorn/test/script/basic/convert.js b/nashorn/test/script/basic/convert.js
new file mode 100644
index 0000000..8d11d12
--- /dev/null
+++ b/nashorn/test/script/basic/convert.js
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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.
+ */
+
+/**
+ * Tests for convert method of ScriptUtils.
+ *
+ * @test
+ * @run
+ */
+
+var ScriptUtils = Java.type("jdk.nashorn.api.scripting.ScriptUtils");
+obj = { valueOf: function() { print("hello"); return 43.3; } };
+
+// object to double
+print(ScriptUtils.convert(obj, java.lang.Number.class));
+
+// array to List
+var arr = [3, 44, 23, 33];
+var list = ScriptUtils.convert(arr, java.util.List.class);
+print(list instanceof java.util.List)
+print(list);
+
+// object to Map
+obj = { foo: 333, bar: 'hello'};
+var map = ScriptUtils.convert(obj, java.util.Map.class);
+print(map instanceof java.util.Map);
+for (m in map) {
+   print(m + " " + map[m]);
+}
+
+// object to String
+obj = { toString: function() { print("in toString"); return "foo" } };
+print(ScriptUtils.convert(obj, java.lang.String.class));
+
+// array to Java array
+var jarr = ScriptUtils.convert(arr, Java.type("int[]"));
+print(jarr instanceof Java.type("int[]"));
+for (i in jarr) {
+    print(jarr[i]);
+}
+
diff --git a/nashorn/test/script/basic/convert.js.EXPECTED b/nashorn/test/script/basic/convert.js.EXPECTED
new file mode 100644
index 0000000..e83faeb
--- /dev/null
+++ b/nashorn/test/script/basic/convert.js.EXPECTED
@@ -0,0 +1,14 @@
+hello
+43.3
+true
+[3, 44, 23, 33]
+true
+foo 333
+bar hello
+in toString
+foo
+true
+3
+44
+23
+33
diff --git a/nashorn/test/script/jfx.js b/nashorn/test/script/jfx.js
index 26f9787..5962b5d 100644
--- a/nashorn/test/script/jfx.js
+++ b/nashorn/test/script/jfx.js
@@ -37,13 +37,24 @@
 var Scene                = Java.type("javafx.scene.Scene");

 var Stage                = Java.type("javafx.stage.Stage");

 var File                 = Java.type("java.io.File");

-var Timer                = Java.type("java.util.Timer");

-var TimerTask            = Java.type("java.util.TimerTask");

 var OSInfo               = Java.type("sun.awt.OSInfo");

 var OSType               = Java.type("sun.awt.OSInfo.OSType");

 var StringBuffer         = Java.type("java.lang.StringBuffer");

+var Paint                = Java.type("javafx.scene.paint.Paint");

+var Color                = Java.type("javafx.scene.paint.Color");

+var Image                = Java.type("javafx.scene.image.Image");

+var Canvas               = Java.type("javafx.scene.canvas.Canvas");

+var BorderPane           = Java.type("javafx.scene.layout.BorderPane");

+var StackPane            = Java.type("javafx.scene.layout.StackPane");

+var StrokeLineCap        = Java.type("javafx.scene.shape.StrokeLineCap");

+var Platform             = Java.type("javafx.application.Platform");

+var Runnable             = Java.type("java.lang.Runnable");

+var RunnableExtend       = Java.extend(Runnable);

+var AnimationTimer       = Java.type("javafx.animation.AnimationTimer");

+var AnimationTimerExtend = Java.extend(AnimationTimer);

+var Timer                = Java.type("java.util.Timer");

+var TimerTask            = Java.type("java.util.TimerTask");

 

-var WAIT = 2000;

 var TESTNAME = "test";

 var fsep = System.getProperty("file.separator");

 

@@ -53,14 +64,16 @@
         run: function run() {

             var tmpdir = System.getProperty("java.io.tmpdir");

             var timenow = (new Date()).getTime();

-            makeScreenShot(tmpdir + fsep + "screenshot" + timenow +".png");

-            var dupImg = isDuplicateImages(tmpdir + fsep + "screenshot" + timenow +".png", __DIR__ + "jfx" + fsep + TESTNAME + fsep + "golden");

-            (new File(mpdir + fsep + "screenshot" + timenow +".png")).delete();

-            if (!dupImg) System.err.println("ERROR: screenshot does not match golden image");

+            var scrShotTmp = tmpdir + fsep + "screenshot" + timenow +".png";

+            var goldenImageDir = __DIR__ + "jfx" + fsep + TESTNAME + fsep + "golden";

+            makeScreenShot(scrShotTmp);

+            var dupImg = isDuplicateImages(scrShotTmp, goldenImageDir);

+            (new File(scrShotTmp)).delete();

+            if (!dupImg) System.err.println("ERROR: screenshot does not match the golden image");

             exit(0);

         }

     };

-    raceTimer.schedule(timerTask, WAIT);

+    raceTimer.schedule(timerTask, 100);

 }

 

 function makeScreenShot(shootToImg) {

@@ -70,10 +83,10 @@
    imageJemmy.save(shootToImg);

 }

 

-function isDuplicateImages(file1, file2) {

-    var f1 = new File(file1);

+function isDuplicateImages(screenShot, goldenDir) {

+    var f1 = new File(screenShot);

     var f2;

-    var sb = new StringBuffer(file2);

+    var sb = new StringBuffer(goldenDir);

     if (OSInfo.getOSType() == OSType.WINDOWS) {

         f2 = new File(sb.append(fsep + "windows.png").toString());

     } else if (OSInfo.getOSType() == OSType.LINUX) {

@@ -81,8 +94,6 @@
     } else if (OSInfo.getOSType() == OSType.MACOSX) {

         f2 = new File(sb.append(fsep + "macosx.png").toString());

     }

-    print(f1.getAbsolutePath());

-    print(f2.getAbsolutePath());

     if (f1.exists() && f2.exists()) {

         var image1 = new AWTImage(PNGDecoder.decode(f1.getAbsolutePath()));

         var image2 = new AWTImage(PNGDecoder.decode(f2.getAbsolutePath()));

diff --git a/nashorn/test/script/jfx/flyingimage.js b/nashorn/test/script/jfx/flyingimage.js
index 4cf3f7f..844a0fc 100644
--- a/nashorn/test/script/jfx/flyingimage.js
+++ b/nashorn/test/script/jfx/flyingimage.js
@@ -31,15 +31,6 @@
 

 TESTNAME = "flyingimage";

 

-var Image                = Java.type("javafx.scene.image.Image");

-var Color                = Java.type("javafx.scene.paint.Color");

-var Canvas               = Java.type("javafx.scene.canvas.Canvas");

-var BorderPane           = Java.type("javafx.scene.layout.BorderPane");

-var StackPane            = Java.type("javafx.scene.layout.StackPane");

-var Font                 = Java.type("javafx.scene.text.Font");

-var FontSmoothingType    = Java.type("javafx.scene.text.FontSmoothingType");

-var Text                 = Java.type("javafx.scene.text.Text");

-

 var WIDTH = 800;

 var HEIGHT = 600;

 var canvas = new Canvas(WIDTH, HEIGHT);

@@ -48,10 +39,9 @@
 }

 var imageUrl = fileToURL(__DIR__ + "flyingimage/flyingimage.png");

 var img = new Image(imageUrl);

-var font = new Font("Arial", 16);

-var t = 0;

 var isFrameRendered = false;

 function renderFrame() {

+    var t = frame;

     var gc = canvas.graphicsContext2D;

     gc.setFill(Color.web("#cccccc"));

     gc.fillRect(0, 0, WIDTH, HEIGHT);

@@ -61,7 +51,7 @@
     var c = 200;

     var msc= 0.5 * HEIGHT / img.height;

     var sp0 = 0.003;

-    for (var h = 0; h < c; h++, t++) {

+    for (var h = 0; h < c; h++) {

         gc.setTransform(1, 0, 0, 1, 0, 0);

         var yh = h / (c - 1);

         gc.translate((0.5 + Math.sin(t * sp0 + h * 0.1) / 3) * WIDTH, 25 + (HEIGHT * 3 / 4 - 40) * (yh * yh));

@@ -69,15 +59,26 @@
         gc.rotate(90 * Math.sin(t * sp0 + h * 0.1 + Math.PI));

         gc.scale(sc, sc);

         gc.drawImage(img, -img.width / 2, -img.height / 2);

-     }

+    }

     gc.setTransform(1, 0, 0, 1, 0, 0);

     isFrameRendered = true;

 }

 var stack = new StackPane();

 var pane = new BorderPane();

-

 pane.setCenter(canvas);

 stack.getChildren().add(pane);

 $STAGE.scene = new Scene(stack);

-renderFrame();

-checkImageAndExit();

+var frame = 0;

+var timer = new AnimationTimerExtend() {

+    handle: function handle(now) {

+        if (frame < 200) {

+            renderFrame();

+            frame++;

+        } else {

+            checkImageAndExit();        

+            timer.stop();

+        }

+    }

+};

+timer.start();

+ 

diff --git a/nashorn/test/script/jfx/flyingimage/flyingimage.png b/nashorn/test/script/jfx/flyingimage/flyingimage.png
index ecd98a1..afc44dd 100644
--- a/nashorn/test/script/jfx/flyingimage/flyingimage.png
+++ b/nashorn/test/script/jfx/flyingimage/flyingimage.png
Binary files differ
diff --git a/nashorn/test/script/jfx/flyingimage/golden/linux.png b/nashorn/test/script/jfx/flyingimage/golden/linux.png
index 4f67885..4a668a6 100644
--- a/nashorn/test/script/jfx/flyingimage/golden/linux.png
+++ b/nashorn/test/script/jfx/flyingimage/golden/linux.png
Binary files differ
diff --git a/nashorn/test/script/jfx/flyingimage/golden/macosx.png b/nashorn/test/script/jfx/flyingimage/golden/macosx.png
index cb15321..ba72fe6 100644
--- a/nashorn/test/script/jfx/flyingimage/golden/macosx.png
+++ b/nashorn/test/script/jfx/flyingimage/golden/macosx.png
Binary files differ
diff --git a/nashorn/test/script/jfx/flyingimage/golden/windows.png b/nashorn/test/script/jfx/flyingimage/golden/windows.png
index e389714..e47ae4d 100644
--- a/nashorn/test/script/jfx/flyingimage/golden/windows.png
+++ b/nashorn/test/script/jfx/flyingimage/golden/windows.png
Binary files differ
diff --git a/nashorn/test/script/jfx/kaleidoscope.js b/nashorn/test/script/jfx/kaleidoscope.js
index a932c51..4430ff0 100644
--- a/nashorn/test/script/jfx/kaleidoscope.js
+++ b/nashorn/test/script/jfx/kaleidoscope.js
@@ -30,13 +30,6 @@
  */

 

 TESTNAME = "kaleidoscope";

-WAIT = 4000;

-

-var Paint                = Java.type("javafx.scene.paint.Paint");

-var Canvas               = Java.type("javafx.scene.canvas.Canvas");

-var BorderPane           = Java.type("javafx.scene.layout.BorderPane");

-var StackPane            = Java.type("javafx.scene.layout.StackPane");

-var StrokeLineCap        = Java.type("javafx.scene.shape.StrokeLineCap");

         

 var WIDTH = 800;

 var HEIGHT = 600;

@@ -56,26 +49,28 @@
 var r,e;

 var fade;

 var prv_x,prv_y,prv_x2,prv_y2;

+var isFrameRendered = false;

 

 function renderFrame() {

-	a=0.2*angle;

-	b=0.7*angle;

-	r=0;

-	fade=32;

-	for(var i=0;i<6;i++)

-		{

-		c[i]=1.0/(i+1)/2;

-		d[i]=1.0/(i+1)/2;

-		}

-	radius=Math.round((WIDTH+HEIGHT)/8);

-	e=radius*0.2;

-	p_x=Math.round(WIDTH/2);

-	p_y=Math.round(HEIGHT/2);

-	x=(radius*c[0])*Math.cos(a*d[1])+(radius*c[2])*Math.sin(a*d[3])+(radius*c[4])*Math.sin(a*d[5]);

-	y=(radius*c[5])*Math.sin(a*d[4])+(radius*c[3])*Math.cos(a*d[2])+(radius*c[1])*Math.cos(a*d[0]);

-    for (i = 0; i < 800; i++) {

-        anim();

+	if (!isFrameRendered) {

+        a=0.2*angle;

+		b=0.7*angle;

+		r=0;

+		fade=32;

+		for(var i=0;i<6;i++)

+			{

+			c[i]=1.0/(i+1)/2;

+			d[i]=1.0/(i+1)/2;

+			}

+		radius=Math.round((WIDTH+HEIGHT)/8);

+		e=radius*0.2;

+		p_x=Math.round(WIDTH/2);

+		p_y=Math.round(HEIGHT/2);

+		x=(radius*c[0])*Math.cos(a*d[1])+(radius*c[2])*Math.sin(a*d[3])+(radius*c[4])*Math.sin(a*d[5]);

+		y=(radius*c[5])*Math.sin(a*d[4])+(radius*c[3])*Math.cos(a*d[2])+(radius*c[1])*Math.cos(a*d[0]);

+        isFrameRendered = true;

     }

+    anim();

 }

 

 function anim() {

@@ -154,9 +149,19 @@
 

 var stack = new StackPane();

 var pane = new BorderPane();

-

 pane.setCenter(canvas);

 stack.getChildren().add(pane);

 $STAGE.scene = new Scene(stack);

-renderFrame();

-checkImageAndExit();
\ No newline at end of file
+var frame = 0;

+var timer = new AnimationTimerExtend() {

+    handle: function handle(now) {

+        if (frame < 800) {

+            renderFrame();

+            frame++;

+        } else {

+            checkImageAndExit();

+            timer.stop();

+        }

+    }

+};

+timer.start();

diff --git a/nashorn/test/script/jfx/kaleidoscope/golden/linux.png b/nashorn/test/script/jfx/kaleidoscope/golden/linux.png
index ccc92fe..4d7e81a 100644
--- a/nashorn/test/script/jfx/kaleidoscope/golden/linux.png
+++ b/nashorn/test/script/jfx/kaleidoscope/golden/linux.png
Binary files differ
diff --git a/nashorn/test/script/jfx/kaleidoscope/golden/macosx.png b/nashorn/test/script/jfx/kaleidoscope/golden/macosx.png
index 1adeb1e..64d9499 100644
--- a/nashorn/test/script/jfx/kaleidoscope/golden/macosx.png
+++ b/nashorn/test/script/jfx/kaleidoscope/golden/macosx.png
Binary files differ
diff --git a/nashorn/test/script/jfx/kaleidoscope/golden/windows.png b/nashorn/test/script/jfx/kaleidoscope/golden/windows.png
index 84ee37c..4d7e81a 100644
--- a/nashorn/test/script/jfx/kaleidoscope/golden/windows.png
+++ b/nashorn/test/script/jfx/kaleidoscope/golden/windows.png
Binary files differ
diff --git a/nashorn/test/script/jfx/spread.js b/nashorn/test/script/jfx/spread.js
new file mode 100644
index 0000000..4a8f38c
--- /dev/null
+++ b/nashorn/test/script/jfx/spread.js
@@ -0,0 +1,222 @@
+/*

+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.

+ * 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.

+ */

+

+/**

+ * Testing JavaFX canvas run by Nashorn.

+ *

+ * @test/nocompare

+ * @run

+ * @fork

+ */

+ 

+TESTNAME = "spread";

+

+var WIDTH = 800;

+var HEIGHT = 600;

+var canvas = new Canvas(WIDTH, HEIGHT);

+var context = canvas.graphicsContext2D;

+

+/* "Spread" tech demo of canvas by Tom Theisen

+ *

+ * This will animate a sequence of branch structures in a canvas element.

+ * Each frame, a new direction is calculated, similar to the last frame.

+ */

+

+var start_width = 20;           // starting width of each branch

+var frame_time = 30;            // milliseconds per frame

+var straighten_factor = 0.95;   // value from 0 to 1, factor applied to direction_offset every frame

+var curviness = 0.2;            // amount of random direction change each frame

+

+var color_speed = 0.03;     // speed at which colors change when cycling is enabled

+var branch_shrink = 0.95;   // factor by which branches shrink every frame

+var min_width = 1;          // minimum WIDTH for branch, after which they are discontinued

+var branch_opacity = 0.4;   // opacity of lines drawn

+var branch_count = 3;       // branch count per tree

+var branch_bud_size = 0.5;  // ratio of original branch size at which branch will split

+var branch_bud_angle = 1;   // angle offset for split branch;

+

+var paper;                  // reference to graphics context

+var branches = Object();    // linked list of active branches

+var color_styles = [];      // pre-computed list of colors as styles. format: (r,g,b,a)    

+var direction_offset = 0;   // current direction offset in radians.  this is applied to all branches.

+var frame = 0;              // frame counter

+var timespent = 0;          // total time spent so far, used to calculate average frame render duration

+var frameratespan;          // html span element for updating performance number

+

+// preferences object, contains an attribute for each user setting

+var prefs = {

+    wrap: true,             // causes branches reaching edge of viewable area to appear on opposite side

+    fade: false,             // fade existing graphics on each frame

+    cycle: true,            // gradually change colors each frame

+    new_branch_frames: 20    // number of frames elapsed between each auto-generated tree

+};

+

+// create tree at the specified position with number of branches

+function create_tree(branches, start_width, position, branch_count) {

+    var angle_offset = Math.PI * 2 / branch_count;

+    for (var i = 0; i < branch_count; ++i) {

+        branch_add(branches, new Branch(position, angle_offset * i, start_width));

+    }

+}

+

+// add branch to collection

+function branch_add(branches, branch) {

+    branch.next = branches.next;

+    branches.next = branch;

+}

+

+// get the coordinates for the position of a new tree

+// use the center of the canvas

+function get_new_tree_center(width, height) {

+    return {

+        x: 0.5 * width, 

+        y: 0.5 * height 

+    };

+}

+

+// Branch constructor

+// position has x and y properties

+// direction is in radians

+function Branch(position, direction, width) {

+    this.x = position.x;

+    this.y = position.y;

+    this.width = width;

+    this.original_width = width;

+    this.direction = direction;

+}

+

+// update position, direction and width of a particular branch

+function branch_update(branches, branch, paper) {

+    paper.beginPath();

+    paper.lineWidth = branch.width;

+    paper.moveTo(branch.x, branch.y);

+    

+    branch.width *= branch_shrink;

+    branch.direction += direction_offset;

+    branch.x += Math.cos(branch.direction) * branch.width;

+    branch.y += Math.sin(branch.direction) * branch.width;

+    

+    paper.lineTo(branch.x, branch.y);

+    paper.stroke();

+    

+    if (prefs.wrap) wrap_branch(branch, WIDTH, HEIGHT);

+

+    if (branch.width < branch.original_width * branch_bud_size) {

+        branch.original_width *= branch_bud_size;

+        branch_add(branches, new Branch(branch, branch.direction + 1, branch.original_width));

+    }

+}

+

+function draw_frame() {

+    if (prefs.fade) {

+        paper.fillRect(0, 0, WIDTH, HEIGHT);

+    }

+

+    if (prefs.cycle) {

+        paper.setStroke(Paint.valueOf(color_styles[frame % color_styles.length]));

+    }

+

+    if (frame++ % prefs.new_branch_frames == 0) {

+        create_tree(branches, start_width, get_new_tree_center(WIDTH, HEIGHT), branch_count);

+    }

+    

+    direction_offset += (0.35 + (frame % 200) * 0.0015) * curviness - curviness / 2;

+    direction_offset *= straighten_factor;

+    

+    var branch = branches;

+    var prev_branch = branches;

+    while (branch = branch.next) {

+        branch_update(branches, branch, paper);

+        

+        if (branch.width < min_width) {

+            // remove branch from list

+            prev_branch.next = branch.next;

+        }

+        

+        prev_branch = branch;

+    }

+}

+

+// constrain branch position to visible area by "wrapping" from edge to edge

+function wrap_branch(branch, WIDTH, HEIGHT) {

+    branch.x = positive_mod(branch.x, WIDTH);

+    branch.y = positive_mod(branch.y, HEIGHT);

+}

+

+// for a < 0, b > 0, javascript returns a negative number for a % b

+// this is a variant of the % operator that adds b to the result in this case

+function positive_mod(a, b) {

+    // ECMA 262 11.5.3: Applying the % Operator 

+    // remainder operator does not convert operands to integers,

+    // although negative results are possible

+

+    return ((a % b) + b) % b;

+}

+

+// pre-compute color styles that will be used for color cycling

+function populate_colors(color_speed, color_styles, branch_opacity) {

+    // used in calculation of RGB values

+    var two_thirds_pi = Math.PI * 2 / 3;

+    var four_thirds_pi = Math.PI * 4 / 3;

+    var two_pi = Math.PI * 2;

+

+    // hue does represent hue, but not in the conventional HSL scheme

+    for(var hue = 0; hue < two_pi; hue += color_speed) {

+        var r = Math.floor(Math.sin(hue) * 128 + 128);

+        var g = Math.floor(Math.sin(hue + two_thirds_pi) * 128 + 128);

+        var b = Math.floor(Math.sin(hue + four_thirds_pi) * 128 + 128);

+        color = "rgba(" + [r, g, b, branch_opacity].join() + ")";

+

+        color_styles.push(color);

+    }

+}

+

+// apply initial settings to canvas object

+function setup_canvas() {

+    paper = canvas.graphicsContext2D;

+    paper.setFill(Paint.valueOf('rgb(0, 0, 0)'));

+    paper.fillRect(0, 0, WIDTH, HEIGHT);

+    paper.setFill(Paint.valueOf("rgba(0, 0, 0, 0.005)"));

+    paper.setStroke(Paint.valueOf("rgba(128, 128, 64, " + String(branch_opacity) + ")"));

+}

+

+populate_colors(color_speed, color_styles, branch_opacity);

+setup_canvas();

+

+var stack = new StackPane();

+var pane = new BorderPane();

+pane.setCenter(canvas);

+stack.getChildren().add(pane);

+$STAGE.scene = new Scene(stack);

+var timer = new AnimationTimerExtend() {

+    handle: function handle(now) {

+        if (frame < 200) {

+		    draw_frame();

+        } else {

+            checkImageAndExit();

+            timer.stop();

+        }

+    }

+};

+timer.start();

+

diff --git a/nashorn/test/script/jfx/spread/golden/linux.png b/nashorn/test/script/jfx/spread/golden/linux.png
new file mode 100644
index 0000000..fc535a4
--- /dev/null
+++ b/nashorn/test/script/jfx/spread/golden/linux.png
Binary files differ
diff --git a/nashorn/test/script/jfx/spread/golden/macosx.png b/nashorn/test/script/jfx/spread/golden/macosx.png
new file mode 100644
index 0000000..c288162
--- /dev/null
+++ b/nashorn/test/script/jfx/spread/golden/macosx.png
Binary files differ
diff --git a/nashorn/test/script/jfx/spread/golden/windows.png b/nashorn/test/script/jfx/spread/golden/windows.png
new file mode 100644
index 0000000..fc535a4
--- /dev/null
+++ b/nashorn/test/script/jfx/spread/golden/windows.png
Binary files differ
diff --git a/nashorn/test/src/jdk/nashorn/api/javaaccess/ConsStringTest.java b/nashorn/test/src/jdk/nashorn/api/javaaccess/ConsStringTest.java
new file mode 100644
index 0000000..1eadfb7
--- /dev/null
+++ b/nashorn/test/src/jdk/nashorn/api/javaaccess/ConsStringTest.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * 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 jdk.nashorn.api.javaaccess;
+
+import static org.testng.AssertJUnit.assertEquals;
+
+import java.util.HashMap;
+import java.util.Map;
+import javax.script.Bindings;
+import javax.script.ScriptContext;
+import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
+import javax.script.ScriptException;
+import jdk.nashorn.api.scripting.JSObject;
+import org.testng.TestNG;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+
+public class ConsStringTest {
+    private static ScriptEngine e = null;
+
+    public static void main(final String[] args) {
+        TestNG.main(args);
+    }
+
+    @BeforeClass
+    public static void setUpClass() throws ScriptException {
+        e = new ScriptEngineManager().getEngineByName("nashorn");
+    }
+
+    @AfterClass
+    public static void tearDownClass() {
+        e = null;
+    }
+
+    @Test
+    public void testConsStringFlattening() throws ScriptException {
+        final Bindings b = e.getBindings(ScriptContext.ENGINE_SCOPE);
+        final Map<Object, Object> m = new HashMap<>();
+        b.put("m", m);
+        e.eval("var x = 'f'; x += 'oo'; var y = 'b'; y += 'ar'; m.put(x, y)");
+        assertEquals("bar", m.get("foo"));
+    }
+
+    @Test
+    public void testConsStringFromMirror() throws ScriptException {
+        final Bindings b = e.getBindings(ScriptContext.ENGINE_SCOPE);
+        final Map<Object, Object> m = new HashMap<>();
+        e.eval("var x = 'f'; x += 'oo'; var obj = {x: x};");
+        assertEquals("foo", ((JSObject)b.get("obj")).getMember("x"));
+    }
+
+    @Test
+    public void testArrayConsString() throws ScriptException {
+        final Bindings b = e.getBindings(ScriptContext.ENGINE_SCOPE);
+        final ArrayHolder h = new ArrayHolder();
+        b.put("h", h);
+        e.eval("var x = 'f'; x += 'oo'; h.array = [x];");
+        assertEquals(1, h.array.length);
+        assertEquals("foo", h.array[0]);
+    }
+
+
+    public static class ArrayHolder {
+        private Object[] array;
+
+        public void setArray(Object[] array) {
+            this.array = array;
+        }
+
+        public Object[] getArray() {
+            return array;
+        }
+    }
+}
diff --git a/nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java b/nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java
index 99207de..55aacb3 100644
--- a/nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java
+++ b/nashorn/test/src/jdk/nashorn/api/scripting/ScriptEngineTest.java
@@ -523,6 +523,18 @@
         assertEquals(sw.toString(), println("34 true hello"));
     }
 
+    @Test
+    public void scriptObjectAutoConversionTest() throws ScriptException {
+        final ScriptEngineManager m = new ScriptEngineManager();
+        final ScriptEngine e = m.getEngineByName("nashorn");
+        e.eval("obj = { foo: 'hello' }");
+        e.put("Window", e.eval("Packages.jdk.nashorn.api.scripting.Window"));
+        assertEquals(e.eval("Window.funcJSObject(obj)"), "hello");
+        assertEquals(e.eval("Window.funcScriptObjectMirror(obj)"), "hello");
+        assertEquals(e.eval("Window.funcMap(obj)"), "hello");
+        assertEquals(e.eval("Window.funcJSObject(obj)"), "hello");
+    }
+
     private static final String LINE_SEPARATOR = System.getProperty("line.separator");
 
     // Returns String that would be the result of calling PrintWriter.println
diff --git a/nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java b/nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java
index 6c35ee4..544f4ea 100644
--- a/nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java
+++ b/nashorn/test/src/jdk/nashorn/api/scripting/ScriptObjectMirrorTest.java
@@ -26,6 +26,7 @@
 package jdk.nashorn.api.scripting;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineManager;
@@ -227,4 +228,28 @@
         final Object newObj = ((ScriptObjectMirror)e2obj.getMember("foo")).newObject();
         assertTrue(newObj instanceof ScriptObjectMirror);
     }
+
+    @Test
+    public void conversionTest() throws ScriptException {
+        final ScriptEngineManager m = new ScriptEngineManager();
+        final ScriptEngine e = m.getEngineByName("nashorn");
+        final ScriptObjectMirror arr = (ScriptObjectMirror)e.eval("[33, 45, 23]");
+        final int[] intArr = arr.to(int[].class);
+        assertEquals(intArr[0], 33);
+        assertEquals(intArr[1], 45);
+        assertEquals(intArr[2], 23);
+
+        final List<?> list = arr.to(List.class);
+        assertEquals(list.get(0), 33);
+        assertEquals(list.get(1), 45);
+        assertEquals(list.get(2), 23);
+
+        ScriptObjectMirror obj = (ScriptObjectMirror)e.eval(
+            "({ valueOf: function() { return 42 } })");
+        assertEquals(Double.valueOf(42.0), obj.to(Double.class));
+
+        obj = (ScriptObjectMirror)e.eval(
+            "({ toString: function() { return 'foo' } })");
+        assertEquals("foo", obj.to(String.class));
+    }
 }
diff --git a/nashorn/test/src/jdk/nashorn/api/scripting/Window.java b/nashorn/test/src/jdk/nashorn/api/scripting/Window.java
index bde2394..510c5da 100644
--- a/nashorn/test/src/jdk/nashorn/api/scripting/Window.java
+++ b/nashorn/test/src/jdk/nashorn/api/scripting/Window.java
@@ -25,6 +25,9 @@
 
 package jdk.nashorn.api.scripting;
 
+import java.util.Map;
+import javax.script.Bindings;
+
 public class Window {
 
     private String location = "http://localhost:8080/window";
@@ -63,4 +66,20 @@
         System.out.println("window.setTimeout: " + delay + ", code: " + code);
         return 0;
     }
+
+    public static Object funcJSObject(final JSObject jsobj) {
+        return jsobj.getMember("foo");
+    }
+
+    public static Object funcScriptObjectMirror(final ScriptObjectMirror sobj) {
+        return sobj.get("foo");
+    }
+
+    public static Object funcMap(final Map<?,?> map) {
+        return map.get("foo");
+    }
+
+    public static Object funcBindings(final Bindings bindings) {
+        return bindings.get("foo");
+    }
 }