Hello community,

here is the log from the commit of package java-1_8_0-openjdk for 
openSUSE:Factory checked in at 2016-11-11 14:31:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-1_8_0-openjdk (Old)
 and      /work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "java-1_8_0-openjdk"

Changes:
--------
--- /work/SRC/openSUSE:Factory/java-1_8_0-openjdk/java-1_8_0-openjdk.changes    
2016-10-01 23:51:32.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new/java-1_8_0-openjdk.changes   
    2016-11-11 14:31:58.000000000 +0100
@@ -1,0 +2,347 @@
+Wed Nov  9 16:08:00 UTC 2016 - [email protected]
+
+- Upgrade to version jdk8u111 (icedtea 3.2.0)
+  * Security fixes
+    + S8146490: Direct indirect CRL checks
+    + S8151921: Improved page resolution
+    + S8155968: Update command line options
+    + S8155973, CVE-2016-5542: Tighten jar checks (bsc#1005522)
+    + S8156794: Extend data sharing
+    + S8157176: Improved classfile parsing
+    + S8157739, CVE-2016-5554: Classloader Consistency Checking
+      (bsc#1005523)
+    + S8157749: Improve handling of DNS error replies
+    + S8157753: Audio replay enhancement
+    + S8157759: LCMS Transform Sampling Enhancement
+    + S8157764: Better handling of interpolation plugins
+    + S8158302: Handle contextual glyph substitutions
+    + S8158993, CVE-2016-5568: Service Menu services (bsc#1005525)
+    + S8159495: Fix index offsets
+    + S8159503: Amend Annotation Actions
+    + S8159511: Stack map validation
+    + S8159515: Improve indy validation
+    + S8159519, CVE-2016-5573: Reformat JDWP messages (bsc#1005526)
+    + S8160090: Better signature handling in pack200
+    + S8160094: Improve pack200 layout
+    + S8160098: Clean up color profiles
+    + S8160591, CVE-2016-5582: Improve internal array handling
+      (bsc#1005527)
+    + S8160838, CVE-2016-5597: Better HTTP service (bsc#1005528)
+    + PR3206, RH1367357: lcms2: Out-of-bounds read in
+      Type_MLU_Read()
+    + CVE-2016-5556 (bsc#1005524)
+  * New features
+    + PR1370: Provide option to build without debugging
+    + PR1375: Provide option to strip and link debugging info after
+      build
+    + PR1537: Handle alternative Kerberos credential cache
+      locations
+    + PR1978: Allow use of system PCSC
+    + PR2445: Support system libsctp
+    + PR3182: Support building without pre-compiled headers
+    + PR3183: Support Fedora/RHEL system crypto policy
+    + PR3221: Use pkgconfig to detect Kerberos CFLAGS and libraries
+  * Import of OpenJDK 8 u102 build 14
+    + S4515292: ReferenceType.isStatic() returns true for arrays
+    + S4858370: JDWP: Memory Leak: GlobalRefs never deleted when
+      processing invokeMethod command
+    + S6976636: JVM/TI test ex03t001 fails assertion
+    + S7185591: jcmd-big-script.sh ERROR: could not find app's Java
+      pid.
+    + S8017462: G1: guarantee fails with
+      UseDynamicNumberOfGCThreads
+    + S8034168: ThreadMXBean/Locks.java failed, blocked on wrong
+      object
+    + S8036006: [TESTBUG] sun/tools/native2ascii/NativeErrors.java
+      fails: Process exit code was 0, but error was expected.
+    + S8041781: Need new regression tests for PBE keys
+    + S8041787: Need new regressions tests for buffer handling for
+      PBE algorithms
+    + S8043836: Need new tests for AES cipher
+    + S8044199: Tests for RSA keys and key specifications
+    + S8044772: TempDirTest.java still times out with -Xcomp
+    + S8046339: sun.rmi.transport.DGCAckHandler leaks memory
+    + S8047031: Add SocketPermission tests for legacy socket types
+    + S8048052: Permission tests for setFactory
+    + S8048138: Tests for JAAS callbacks
+    + S8048147: Privilege tests with JAAS Subject.doAs
+    + S8048356: SecureRandom default provider tests
+    + S8048357: PKCS basic tests
+    + S8048360: Test signed jar files
+    + S8048362: Tests for doPrivileged with accomplice
+    + S8048596: Tests for AEAD ciphers
+    + S8048599: Tests for key wrap and unwrap operations
+    + S8048603: Additional tests for MAC algorithms
+    + S8048604: Tests for strong crypto ciphers
+    + S8048607: Test key generation of DES and DESEDE
+    + S8048610: Implement regression test for bug fix of 4686632
+      in JCE
+    + S8048617: Tests for PKCS12 read operations
+    + S8048618: Tests for PKCS12 write operations.
+    + S8048619: Implement tests for converting PKCS12 keystores
+    + S8048624: Tests for SealedObject
+    + S8048819: Implement reliability test for DH algorithm
+    + S8048820: Implement tests for SecretKeyFactory
+    + S8048830: Implement tests for new functionality provided in
+      JEP 166
+    + S8049237: Need new tests for X509V3 certificates
+    + S8049321: Support SHA256WithDSA in JSSE
+    + S8049429: Tests for java client server communications with
+      various TLS/SSL combinations.
+    + S8049432: New tests for TLS property jdk.tls.client.protocols
+    + S8049814: Additional SASL client-server tests
+    + S8050281: New permission tests for JEP 140
+    + S8050370: Need new regressions tests for messageDigest with
+      DigestIOStream
+    + S8050371: More MessageDigest tests
+    + S8050374: More Signature tests
+    + S8050427: LoginContext tests to cover JDK-4703361
+    + S8050460: JAAS login/logout tests with LoginContext
+    + S8050461: Tests for syntax checking of JAAS configuration
+      file
+    + S8054278: Refactor jps utility tests
+    + S8055530: assert(_exits.control()->is_top() ||
+      !_gvn.type(ret_phi)->empty()) failed: return value must be
+      well defined
+    + S8055844: [TESTBUG]
+      test/runtime/NMT/VirtualAllocCommitUncommitRecommit.java
+      fails on Solaris Sparc due to incorrect page size being used
+    + S8059677: Thread.getName() instantiates Strings
+    + S8061464: A typo in CipherTestUtils test
+    + S8062536: [TESTBUG] Conflicting GC combinations in jdk tests
+    + S8065076: java/net/SocketPermission/SocketPermissionTest.java
+      fails intermittently
+    + S8065078: NetworkInterface.getNetworkInterfaces() triggers
+      intermittent test failures
+    + S8066871: java.lang.VerifyError: Bad local variable type -
+      local final String
+    + S8068427: Hashtable deserialization reconstitutes table with
+      wrong capacity
+    + S8069038: javax/net/ssl/TLS/TLSClientPropertyTest.java needs
+      to be updated for JDK-8061210
+    + S8069253: javax/net/ssl/TLS/TestJSSE.java failed on Mac
+    + S8071125: Improve exception messages in URLPermission
+    + S8072081: Supplementary characters are rejected in comments
+    + S8072463: Remove requirement that AKID and SKID have to match
+      when building certificate chain
+    + S8072725: Provide more granular levels for GC verification
+    + S8073400: Some Monospaced logical fonts have a different
+      width
+    + S8073872: Schemagen fails with StackOverflowError if element
+      references containing class
+    + S8074931: Additional tests for CertPath API
+    + S8075286: Additional tests for signature algorithm OIDs and
+      transformation string
+    + S8076486: [TESTBUG]
+      javax/security/auth/Subject/doAs/NestedActions.java fails if
+      extra VM options are given
+    + S8076545: Text size is twice bigger under Windows L&F on Win
+      8.1 with HiDPI display
+    + S8076995: gc/ergonomics/TestDynamicNumberOfGCThreads.java
+      failed with java.lang.RuntimeException: 'new_active_workers'
+      missing from stdout/stderr
+    + S8079138: Additional negative tests for XML signature
+      processing
+    + S8081512: Remove sun.invoke.anon classes, or move / co-locate
+      them with tests
+    + S8081771: ProcessTool.createJavaProcessBuilder() needs new
+      addTestVmAndJavaOptions argument
+    + S8129419: heapDumper.cpp: assert(length_in_bytes > 0) failed:
+      nothing to copy
+    + S8130150: Implement BigInteger.montgomeryMultiply intrinsic
+    + S8130242: DataFlavorComparator transitivity exception
+    + S8130304: Inference: NodeNotFoundException thrown with deep
+      generic method call chain
+    + S8130425: libjvm crash due to stack overflow in executables
+      with 32k tbss/tdata
+    + S8133023: ParallelGCThreads is not calculated correctly
+    + S8134111: Unmarshaller unmarshalls XML element which doesn't
+      have the expected namespace
+    + S8135259: InetAddress.getAllByName only reports "unknown
+      error" instead of actual cause
+    + S8136506: Include sun.arch.data.model as a property that can
+      be queried by jtreg
+    + S8137068: Tests added in JDK-8048604 fail to compile
+    + S8139040: Fix initializations before ShouldNotReachHere()
+      etc. and enable -Wuninitialized on linux.
+    + S8139581: AWT components are not drawn after removal and
+      addition to a container
+    + S8141243: Unexpected timezone returned after parsing a date
+    + S8141420: Compiler runtime entries don't hold Klass* from
+      being GCed
+    + S8141445: Use of Solaris/SPARC M7 libadimalloc.so can
+      generate unknown signal in hs_err file
+    + S8141551: C2 can not handle returns with inccompatible
+      interface arrays
+    + S8143377: Test PKCS8Test.java fails
+    + S8143647: Javac compiles method reference that allows results
+      in an IllegalAccessError
+    + S8144144: ORB destroy() leaks filedescriptors after
+      unsuccessful connection
+    + S8144593: Suppress not recognized property/feature warning
+      messages from SAXParser
+    + S8144957: Remove PICL warning message
+    + S8145039: JAXB marshaller fails with ClassCastException on
+      classes generated by xjc
+    + S8145228: Java Access Bridge,
+      getAccessibleStatesStringFromContext doesn't wrap the call to
+      getAccessibleRole
+    + S8145388: URLConnection.guessContentTypeFromStream returns
+      image/jpg for some JPEG images
+    + S8145974: XMLStreamWriter produces invalid XML for surrogate
+      pairs on OutputStreamWriter
+    + S8146035: Windows - With LCD antialiasing, some glyphs are
+      not rendered correctly
+    + S8146192: Add test for JDK-8049321
+    + S8146274: Thread spinning on WeakHashMap.getEntry() with
+      concurrent use of nashorn
++++ 150 more lines (skipped)
++++ between 
/work/SRC/openSUSE:Factory/java-1_8_0-openjdk/java-1_8_0-openjdk.changes
++++ and 
/work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new/java-1_8_0-openjdk.changes

Old:
----
  icedtea-3.1.0.tar.xz

New:
----
  icedtea-3.2.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ java-1_8_0-openjdk.spec ++++++
--- /var/tmp/diff_new_pack.XmZBxY/_old  2016-11-11 14:32:02.000000000 +0100
+++ /var/tmp/diff_new_pack.XmZBxY/_new  2016-11-11 14:32:02.000000000 +0100
@@ -18,7 +18,7 @@
 
 %{!?aarch64:%global aarch64 aarch64 arm64 armv8}
 %global jit_arches %{ix86} x86_64 ppc64 ppc64le %{aarch64}
-%global icedtea_version 3.1.0
+%global icedtea_version 3.2.0
 %global icedtea_sound_version 1.0.1
 %global buildoutputdir openjdk.build/
 # Convert an absolute path to a relative path.  Each symbolic link is
@@ -32,7 +32,7 @@
 # priority must be 6 digits in total
 %global priority        1805
 %global javaver         1.8.0
-%global updatever       101
+%global updatever       111
 # Standard JPackage directories and symbolic links.
 %global sdklnk          java-%{javaver}-openjdk
 %global archname        %{sdklnk}
@@ -63,6 +63,21 @@
 %else
 %global with_system_lcms 0
 %endif
+%if 0%{?suse_version} > 1310
+%global with_system_kerberos 1
+%else
+%global with_system_kerberos 0
+%endif
+%if 0%{?suse_version} > 1320
+%global with_system_pcsc 1
+%else
+%global with_system_pcsc 0
+%endif
+%if 0%{?suse_version} > 1320
+%global with_system_sctp 1
+%else
+%global with_system_sctp 0
+%endif
 %ifarch x86_64
 %global archinstall amd64
 %endif
@@ -246,6 +261,9 @@
 Provides:       jre1.7.x
 Provides:       jre1.8.x
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+%if %{with_system_kerberos}
+BuildRequires:  krb5-devel
+%endif
 # Zero-assembler build requirement.
 %if %{with zero}
 BuildRequires:  libffi-devel
@@ -279,14 +297,20 @@
 BuildRequires:  libpulse-devel >= 0.9.11
 BuildRequires:  pulseaudio >= 0.9.11
 %endif
+%if %{with_system_pcsc}
+BuildRequires:  pcsc-lite-devel
+%endif
+%if %{with_system_sctp}
+BuildRequires:  lksctp-tools-devel
+%endif
 
 %description
 The OpenJDK 8 runtime environment.
 
 %package headless
 Summary:        OpenJDK 8 Runtime Environment
-Group:          Development/Languages/Java
 # Require jpackage-utils for ownership of /usr/lib/jvm/
+Group:          Development/Languages/Java
 Requires:       jpackage-utils
 # Post requires update-alternatives to install tool update-alternatives.
 Requires(post): update-alternatives
@@ -321,8 +345,8 @@
 
 %package devel
 Summary:        OpenJDK 8 Development Environment
-Group:          Development/Languages/Java
 # Require base package.
+Group:          Development/Languages/Java
 Requires:       %{name} = %{version}-%{release}
 # Post requires update-alternatives to install tool update-alternatives.
 Requires(post): update-alternatives
@@ -472,6 +496,21 @@
 %else
         --disable-system-lcms \
 %endif
+%if %{with_system_pcsc}
+        --enable-system-pcsc \
+%else
+        --disable-system-pcsc \
+%endif
+%if %{with_system_sctp}
+        --enable-system-sctp \
+%else
+        --disable-system-sctp \
+%endif
+%if %{with_system_kerberos}
+        --enable-system-kerberos \
+%else
+        --disable-system-kerberos \
+%endif
         --with-openjdk-src-zip=%{SOURCE2} \
         --with-corba-src-zip=%{SOURCE3} \
         --with-jaxp-src-zip=%{SOURCE4} \

++++++ corba.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/corba-7ea39ff8c227/.hgtags 
new/corba-9d3757e6da35/.hgtags
--- old/corba-7ea39ff8c227/.hgtags      2016-07-25 07:40:28.000000000 +0200
+++ new/corba-9d3757e6da35/.hgtags      2016-11-03 19:13:03.000000000 +0100
@@ -591,6 +591,10 @@
 4ea02753e66e348ee4639e157061bcbdef1d7ff3 jdk8u91-b13
 f8d0cfaa9900ebda679fa9df8319fb753858f283 jdk8u91-b14
 9f89788050d38ba4e19e24894eb8b3dd24c1a9d0 jdk8u91-b15
+7b719c1dec62535c34030cf3457abe6f478f13a0 jdk8u77-b00
+cafc1648f432eff2c392040af2db4505c3d290b6 jdk8u77-b01
+0f0077ee5e53365562ff77a01aa97d0c7374f447 jdk8u77-b02
+e8dc6eb11c761f20b44d8c4b8acb0846268872f1 jdk8u77-b03
 7deeb4f70404e4f52306f9d0bcfc482fc5f16fb3 jdk8u76-b00
 5786892e7c7d512ef9104a469ff7eafeaac12c38 jdk8u76-b01
 239155e48af89968b62e695a3233d42bed1a3282 jdk8u76-b02
@@ -608,6 +612,9 @@
 8f0466c0dce60b1df3bc01785b01a7f09fa7b564 jdk8u92-b13
 5617f9bec354fb2c60bbb816d175f4cee7d2c56e jdk8u92-b14
 fe88377e18b0c5f3da8e6741e0d5b9bfd45d2648 jdk8u92-b31
+11e4e7e901bc86d14163afbc5d28345e36737344 jdk8u92-b32
+9ed665d319590e0b9997b3703314c6b0341d4362 jdk8u92-b33
+5b5f76caf6e4ffa51f25e64d0d79a3f0913c633e jdk8u92-b34
 073b951904b3ee7c54fb79a169478fa66d925320 jdk8u75-b00
 5b48f7defe40eab668fe554df0afd87d84d60722 jdk8u75-b01
 0015f4a7f0d02a9bb79b7a0c737590f01feaabd4 jdk8u75-b02
@@ -659,3 +666,39 @@
 7c90acc432738bdc1506d510daeadf9376279dfa jdk8u101-b10
 4942432b3da1afbc2c2c87bdf896b112800e537c jdk8u101-b11
 f8511bfb19c35d8d396dc53245c06cc3710657b1 jdk8u101-b12
+7ea39ff8c227ada9e3cdb1560ff27128afb16f50 icedtea-3.1.0
+48dbf4a68dc770ef17eee71a5bdfcb46a477157c icedtea-3.2.0pre01
+2bb2aec4b3e51aab96e9c25603c7c92fcbac46de jdk8u101-b13
+223d0e48a55b92255f5a613743a99e7deacaf455 jdk8u102-b00
+223d0e48a55b92255f5a613743a99e7deacaf455 jdk8u82-b00
+9d09a2f1395561fe71b1a83f53907ddc52e699d6 jdk8u102-b01
+564fbe28cbb0ff2e6f55623807ea816042de00ff jdk8u102-b02
+ab7dbd58a766fb01c6643f3a80c9e96ac1278a06 jdk8u102-b03
+626d8fa7a1bfd9e65b94117a526ba57b25ec3d14 jdk8u102-b04
+3c35b66b5345f615a3ff626111587c452c8c3893 jdk8u102-b05
+2a265ab91dd234348630dab92f622a616ab76a0e jdk8u102-b06
+8d44271dd11dd4bdc88ef647fd144e544791ecc4 jdk8u102-b07
+329501e6cc220884f005afc7cd330e227931fb21 jdk8u102-b08
+e108e30edcca932832e4e5edf1a15349d3be2fed jdk8u102-b09
+e0d70741f35cd16289de3fd6049834879725dae5 jdk8u102-b10
+360a2772486dd1aa818132222ea0b7fcfa5707ef jdk8u102-b11
+57546b5b575dec9ecfbb1e9a77d87c391a44ab96 jdk8u102-b12
+a7c292080d5ed76ea5e3b123c0dee4c340aa174f jdk8u102-b13
+f85c4b0c0469a20118675c7eb210d1dee05576d8 icedtea-3.2.0pre02
+459f130b3f85a53d487f9d02b5d379a9eaaab400 icedtea-3.2.0pre03
+56b133772ec1aa4f44f2eee2c4103c645f764935 jdk8u102-b14
+8ba5a41487af9fe72aeb92e790327d12dce0de8c jdk8u102-b31
+52cca1ce8b473ecd751da2350d4b3ef111b5676e jdk8u111-b00
+d123c31c3bc21ccf02ac7368f5476dd9975e15e3 jdk8u111-b01
+981c4d9dab16b3fa7333e5baa5497c299acd5172 jdk8u111-b02
+893adc105044c14abfb54de32a79f2f21981cafa jdk8u111-b03
+ec7b9aafd7e1e9763925e8b794834612bbe0e19b jdk8u111-b04
+3a25f8a752524bad7e78800158c485b890be3982 jdk8u111-b05
+d5dabec41733e59f00dd456f88fb00b3803bed8b jdk8u111-b06
+d8a1e50ce110d18b3ad01ee5c997425bfe90b2a1 jdk8u111-b07
+560812b6d1948df7794f22840e4e3976258b034e jdk8u111-b08
+dbbb2551c63687d9c4a2bb38c42864503cf06465 jdk8u111-b09
+36ccdd95d018368c8a1d70fd40cc8ca3a2c0590f jdk8u111-b10
+dad7b1a59da60d68ff26bf7414b87995fecaaba6 jdk8u111-b11
+a42cdfaa1218a636d2cd0b89a233362cdf32dd4b jdk8u111-b12
+2214875a44e52789acf404b56543f613516ee498 jdk8u111-b13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java
 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java
--- 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java
 2016-07-25 07:40:28.000000000 +0200
+++ 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java
 2016-11-03 19:13:03.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2013 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
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/CorbaInboundConnectionCacheImpl.java
 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/CorbaInboundConnectionCacheImpl.java
--- 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/CorbaInboundConnectionCacheImpl.java
       2016-07-25 07:40:28.000000000 +0200
+++ 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/CorbaInboundConnectionCacheImpl.java
       2016-11-03 19:13:03.000000000 +0100
@@ -54,11 +54,17 @@
 {
     protected Collection connectionCache;
 
+    private Acceptor acceptor;
+
     public CorbaInboundConnectionCacheImpl(ORB orb, Acceptor acceptor)
     {
         super(orb, acceptor.getConnectionCacheType(),
               ((CorbaAcceptor)acceptor).getMonitoringName());
         this.connectionCache = new ArrayList();
+        this.acceptor = acceptor;
+        if (orb.transportDebugFlag) {
+            dprint(": " + acceptor );
+        }
     }
 
     ////////////////////////////////////////////////////
@@ -66,11 +72,25 @@
     // pept.transport.InboundConnectionCache
     //
 
+    public void close () {
+
+        super.close();
+        if (orb.transportDebugFlag) {
+            dprint(".close: " + acceptor );
+        }
+        this.acceptor.close();
+
+    }
+
     public Connection get(Acceptor acceptor)
     {
         throw wrapper.methodShouldNotBeCalled();
     }
 
+    public Acceptor getAcceptor () {
+        return acceptor;
+    }
+
     public void put(Acceptor acceptor, Connection connection)
     {
         if (orb.transportDebugFlag) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java
 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java
--- 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java
     2016-07-25 07:40:28.000000000 +0200
+++ 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/CorbaTransportManagerImpl.java
     2016-11-03 19:13:03.000000000 +0100
@@ -188,8 +188,9 @@
             for (Object cc : outboundConnectionCaches.values()) {
                 ((ConnectionCache)cc).close() ;
             }
-            for (Object cc : inboundConnectionCaches.values()) {
-                ((ConnectionCache)cc).close() ;
+            for (Object icc : inboundConnectionCaches.values()) {
+                ((ConnectionCache)icc).close() ;
+                
unregisterAcceptor(((InboundConnectionCache)icc).getAcceptor());
             }
             getSelector(0).close();
         } finally {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java
 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java
--- 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java
  2016-07-25 07:40:28.000000000 +0200
+++ 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/SelectorImpl.java
  2016-11-03 19:13:03.000000000 +0100
@@ -26,16 +26,20 @@
 package com.sun.corba.se.impl.transport;
 
 import java.io.IOException;
+import java.net.ServerSocket;
 import java.nio.channels.ClosedChannelException;
 import java.nio.channels.SelectableChannel;
+import java.nio.channels.ServerSocketChannel;
 import java.nio.channels.SelectionKey;
 import java.nio.channels.Selector;
+import java.nio.channels.ClosedSelectorException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Iterator;
 import java.util.List;
 
+
 import com.sun.corba.se.pept.broker.Broker;
 import com.sun.corba.se.pept.transport.Acceptor;
 import com.sun.corba.se.pept.transport.Connection;
@@ -111,7 +115,16 @@
                 interestOpsList.add(keyAndOp);
             }
             // tell Selector Thread there's an update to a SelectorKey's Ops
-            selector.wakeup();
+            try {
+                if (selector != null) {
+                    // wakeup Selector thread to process close request
+                    selector.wakeup();
+                }
+            } catch (Throwable t) {
+                if (orb.transportDebugFlag) {
+                    dprint(".registerInterestOps: selector.wakeup: ", t);
+                }
+            }
         }
         else {
             wrapper.selectionKeyInvalid(eventHandler.toString());
@@ -186,7 +199,9 @@
             if (selectionKey != null) {
                 selectionKey.cancel();
             }
-            selector.wakeup();
+            if (selector != null) {
+                selector.wakeup();
+            }
             return;
         }
 
@@ -239,6 +254,8 @@
             readerThread.close();
         }
 
+       clearDeferredRegistrations();
+
         // Selector
 
         try {
@@ -248,7 +265,7 @@
             }
         } catch (Throwable t) {
             if (orb.transportDebugFlag) {
-                dprint(".close: selector.close: " + t);
+                dprint(".close: selector.wakeup: ", t);
             }
         }
     }
@@ -273,15 +290,16 @@
                     n = selector.select(timeout);
                 } catch (IOException  e) {
                     if (orb.transportDebugFlag) {
-                        dprint(".run: selector.select: " + e);
+                        dprint(".run: selector.select: ", e);
                     }
-                }
-                if (closed) {
-                    selector.close();
+                } catch (ClosedSelectorException csEx) {
                     if (orb.transportDebugFlag) {
-                        dprint(".run: closed - .run return");
+                        dprint(".run: selector.select: ", csEx);
                     }
-                    return;
+                    break;
+                }
+                if (closed) {
+                    break;
                 }
                 /*
                   if (timeout == 0 && orb.transportDebugFlag) {
@@ -321,6 +339,18 @@
                 }
             }
         }
+        try {
+            if (selector != null) {
+                if (orb.transportDebugFlag) {
+                    dprint(".run: selector.close ");
+                }
+                selector.close();
+            }
+        } catch (Throwable t) {
+            if (orb.transportDebugFlag) {
+                dprint(".run: selector.close: ", t);
+            }
+        }
     }
 
     /////////////////////////////////////////////////////
@@ -328,6 +358,44 @@
     // Implementation.
     //
 
+    private void clearDeferredRegistrations() {
+        synchronized (deferredRegistrations) {
+            int deferredListSize = deferredRegistrations.size();
+            if (orb.transportDebugFlag) {
+                dprint(".clearDeferredRegistrations:deferred list size == " + 
deferredListSize);
+            }
+            for (int i = 0; i < deferredListSize; i++) {
+                EventHandler eventHandler =
+                    (EventHandler)deferredRegistrations.get(i);
+                if (orb.transportDebugFlag) {
+                    dprint(".clearDeferredRegistrations: " + eventHandler);
+                }
+                SelectableChannel channel = eventHandler.getChannel();
+                SelectionKey selectionKey = null;
+
+                try {
+                    if (orb.transportDebugFlag) {
+                        dprint(".clearDeferredRegistrations:close channel == "
+                                + channel);
+                        dprint(".clearDeferredRegistrations:close channel 
class == "
+                                + channel.getClass().getName());
+                    }
+                    channel.close();
+                    selectionKey = eventHandler.getSelectionKey();
+                    if (selectionKey != null) {
+                        selectionKey.cancel();
+                        selectionKey.attach(null);
+                    }
+                } catch (IOException ioEx) {
+                    if (orb.transportDebugFlag) {
+                        dprint(".clearDeferredRegistrations: ", ioEx);
+                    }
+                }
+            }
+            deferredRegistrations.clear();
+        }
+    }
+
     private synchronized boolean isClosed ()
     {
         return closed;
@@ -344,7 +412,7 @@
             selector = Selector.open();
         } catch (IOException e) {
             if (orb.transportDebugFlag) {
-                dprint(".startSelector: Selector.open: IOException: " + e);
+                dprint(".startSelector: Selector.open: IOException: ", e);
             }
             // REVISIT - better handling/reporting
             RuntimeException rte =
@@ -379,7 +447,7 @@
                                          (Object)eventHandler);
                 } catch (ClosedChannelException e) {
                     if (orb.transportDebugFlag) {
-                        dprint(".handleDeferredRegistrations: " + e);
+                        dprint(".handleDeferredRegistrations: ", e);
                     }
                 }
                 eventHandler.setSelectionKey(selectionKey);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java
 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java
--- 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java
   2016-07-25 07:40:28.000000000 +0200
+++ 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java
   2016-11-03 19:13:03.000000000 +0100
@@ -264,7 +264,12 @@
 
             if (connection.shouldRegisterServerReadEvent()) {
                 Selector selector = orb.getTransportManager().getSelector(0);
-                selector.registerForEvent(connection.getEventHandler());
+                if (selector != null) {
+                    if (orb.transportDebugFlag) {
+                        dprint(".accept: registerForEvent: " + connection);
+                    }
+                    selector.registerForEvent(connection.getEventHandler());
+                }
             }
 
             getConnectionCache().reclaim();
@@ -273,12 +278,15 @@
             if (orb.transportDebugFlag) {
                 dprint(".accept:", e);
             }
-            orb.getTransportManager().getSelector(0).unregisterForEvent(this);
-            // REVISIT - need to close - recreate - then register new one.
-            orb.getTransportManager().getSelector(0).registerForEvent(this);
-            // NOTE: if register cycling we do not want to shut down ORB
-            // since local beans will still work.  Instead one will see
-            // a growing log file to alert admin of problem.
+            Selector selector = orb.getTransportManager().getSelector(0);
+            if (selector != null) {
+                selector.unregisterForEvent(this);
+                // REVISIT - need to close - recreate - then register new one.
+                selector.registerForEvent(this);
+                // NOTE: if register cycling we do not want to shut down ORB
+                // since local beans will still work.  Instead one will see
+                // a growing log file to alert admin of problem.
+            }
         }
     }
 
@@ -289,7 +297,9 @@
                 dprint(".close->:");
             }
             Selector selector = orb.getTransportManager().getSelector(0);
-            selector.unregisterForEvent(this);
+            if (selector != null) {
+                selector.unregisterForEvent(this);
+            }
             if (serverSocketChannel != null) {
                 serverSocketChannel.close();
             }
@@ -480,7 +490,9 @@
             // of calling SelectionKey.interestOps(<interest op>).
 
             Selector selector = orb.getTransportManager().getSelector(0);
-            selector.registerInterestOps(this);
+            if (selector != null) {
+                selector.registerInterestOps(this);
+            }
 
             if (orb.transportDebugFlag) {
                 dprint(".doWork<-:" + this);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java
 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java
--- 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java
 2016-07-25 07:40:28.000000000 +0200
+++ 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java
 2016-11-03 19:13:03.000000000 +0100
@@ -367,7 +367,10 @@
                 }
             }
             // REVISIT - make sure reader thread is killed.
-            orb.getTransportManager().getSelector(0).unregisterForEvent(this);
+            Selector selector = orb.getTransportManager().getSelector(0);
+            if (selector != null) {
+                selector.unregisterForEvent(this);
+            }
             // Notify anyone waiting.
             purgeCalls(wrapper.connectionAbort(ex), true, false);
             // REVISIT
@@ -801,7 +804,9 @@
             }
             try {
                 Selector selector = orb.getTransportManager().getSelector(0);
-                selector.unregisterForEvent(this);
+                if (selector != null) {
+                    selector.unregisterForEvent(this);
+                }
                 if (socketChannel != null) {
                     socketChannel.close();
                 }
@@ -824,7 +829,9 @@
                dprint(".closeConnectionResources->: " + this);
            }
            Selector selector = orb.getTransportManager().getSelector(0);
-           selector.unregisterForEvent(this);
+           if (selector != null) {
+               selector.unregisterForEvent(this);
+           }
            try {
              if (socketChannel != null)
               socketChannel.close() ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/pept/transport/InboundConnectionCache.java
 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/pept/transport/InboundConnectionCache.java
--- 
old/corba-7ea39ff8c227/src/share/classes/com/sun/corba/se/pept/transport/InboundConnectionCache.java
        2016-07-25 07:40:28.000000000 +0200
+++ 
new/corba-9d3757e6da35/src/share/classes/com/sun/corba/se/pept/transport/InboundConnectionCache.java
        2016-11-03 19:13:03.000000000 +0100
@@ -36,6 +36,8 @@
     public void put(Acceptor acceptor, Connection connection);
 
     public void remove(Connection connection);
+
+    public Acceptor getAcceptor();
 }
 
 // End of file.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/corba-7ea39ff8c227/src/share/classes/javax/rmi/CORBA/Util.java 
new/corba-9d3757e6da35/src/share/classes/javax/rmi/CORBA/Util.java
--- old/corba-7ea39ff8c227/src/share/classes/javax/rmi/CORBA/Util.java  
2016-07-25 07:40:28.000000000 +0200
+++ new/corba-9d3757e6da35/src/share/classes/javax/rmi/CORBA/Util.java  
2016-11-03 19:13:03.000000000 +0100
@@ -413,18 +413,8 @@
                 // check that a serialization permission has been
                 // set to allow the loading of the Util delegate
                 // which provides access to custom ValueHandler
-                try {
-                    sm.checkPermission(new SerializablePermission(
+                sm.checkPermission(new SerializablePermission(
                         "enableCustomValueHandler"));
-                } catch (SecurityException ex1) {
-                    // Fallback: See if the permission is mis-spelt
-                    try {
-                        sm.checkPermission(new SerializablePermission(
-                            "enableCustomValueHanlder"));
-                    } catch (SecurityException ex2) {
-                        throw ex1; // Throw original exception
-                    }
-                }
             }
         }
     }

++++++ hotspot.tar.xz ++++++
/work/SRC/openSUSE:Factory/java-1_8_0-openjdk/hotspot.tar.xz 
/work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new/hotspot.tar.xz differ: char 
26, line 1

++++++ icedtea-3.1.0.tar.xz -> icedtea-3.2.0.tar.xz ++++++
++++ 4724 lines of diff (skipped)

++++++ java-1_8_0-openjdk-gcc6.patch ++++++
++++ 1013 lines (skipped)
++++ between 
/work/SRC/openSUSE:Factory/java-1_8_0-openjdk/java-1_8_0-openjdk-gcc6.patch
++++ and 
/work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new/java-1_8_0-openjdk-gcc6.patch

++++++ jaxp.tar.xz ++++++
++++ 2489 lines of diff (skipped)

++++++ jaxws.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/jaxws-534ca1b701d1/.hgtags 
new/jaxws-f57f3ddddff6/.hgtags
--- old/jaxws-534ca1b701d1/.hgtags      2016-07-25 07:38:22.000000000 +0200
+++ new/jaxws-f57f3ddddff6/.hgtags      2016-11-03 19:13:07.000000000 +0100
@@ -604,6 +604,9 @@
 9812eb7e305e064e8efe831fad1e9481b9e91009 icedtea-3.1.0pre04
 759ba92444a9e85434cb381f437aba65e3c9f780 jdk8u92-b14
 38c6262b86559ff589f65f5bcc744b1763e20311 jdk8u92-b31
+b762186ac713fbb0fc759110a1c88bca4b4818cd jdk8u92-b32
+ff694a4e9cae136032855516e5f0cd7f1a0e6957 jdk8u92-b33
+283147c5fcc5027b39ca577250edaec4b4b87c0f jdk8u92-b34
 6580edbc4511d5a2281138c476700b8ab12165af jdk8u81-b00
 0bff22fbd91f48c37f7c5a4544929231b92bd9bf jdk8u101-b01
 31e437ae0354e628a675bc4eb6b9ca67af552fc2 jdk8u101-b02
@@ -617,3 +620,44 @@
 ea422e4481f6edfb77bb3a4cd74a73e463143ff3 jdk8u101-b10
 5f3dcb815b9715215d086ba0d48a59b23d01d0a4 jdk8u101-b11
 6a0347504d4c4171fcc24bc17749c0559518d862 jdk8u101-b12
+534ca1b701d1e58af14577fc8b466023f44b4bdf icedtea-3.1.0
+cfba1219c991d38b5c31e5034a2aa855f8038887 icedtea-3.2.0pre01
+287f9e9d45cc05b902925346bb6f6ee34a5d5813 jdk8u101-b13
+6aba0f814a15966e47aeab61b466894b82c03c70 jdk8u76-b00
+60789eebd1fe440255fd3f504221dc8b5553b8c2 jdk8u76-b01
+8c7d476c446940edd913ba5a3ca36975febdac28 jdk8u76-b02
+4b728dce9390e63f60d9ea445c229430ed059174 jdk8u76-b03
+4dfb56754487262e72d2e76900ddb6db51974f2d jdk8u76-b04
+a0c077b39c7a331bda9764a173a2b02d0725f28f jdk8u102-b00
+a0c077b39c7a331bda9764a173a2b02d0725f28f jdk8u82-b00
+c0ad0fa38df0841eaaf81ab40e8b07b42372c5d5 jdk8u102-b01
+face9bd6bac2d43d4c423be4fe733689794c2f08 jdk8u102-b02
+4e12f131bb0dbe0478aecb7ebdfe24b10d3ece75 jdk8u102-b03
+5b1d73ea0eb68cef733eb9379ed71cfb008da72e jdk8u102-b04
+1f512419ae336ce17f1d16384e34669a81db27ae jdk8u102-b05
+c8f5925b8ec9491d95538d94803cf03b2d75d1b6 jdk8u102-b06
+d4bd96ee50976dc9e4cb308d8728e70ecb03a944 jdk8u102-b07
+ca64f5f827251b5c28046f79c3577fbc8991d3d7 jdk8u102-b08
+5b93dc7249127c6beae1a688b6cea204bac3fdd0 jdk8u102-b09
+7a11148c41b867305b153b6b82d75717accea119 jdk8u102-b10
+0305736a8580ad84733878623eda8f770ae04d60 jdk8u102-b11
+d02665ceefe5b12539bcd2bde95d4ada1a135cb0 jdk8u102-b12
+d84434eb3e4e991812a7b0c3c9e6bfdabae910d0 jdk8u102-b13
+e681ae17749480117cc407654ace09d6c0112932 icedtea-3.2.0pre02
+20d379a7883648ad90af8bf79e4d23ce58fcf94c icedtea-3.2.0pre03
+81f2d81a48d74d2d4882c11330366517b73ee064 jdk8u102-b14
+de23881ca76c9c69f4e47e9b15d09a91fbb17176 jdk8u102-b31
+d3b054313ed2d29f9dbbdfd71a7ab3c4ad4eb5b6 jdk8u111-b00
+6b861e233c89df49ba9b0357578f556f4953df57 jdk8u111-b01
+a896244473b934376ae7b48a281a0401774c9074 jdk8u111-b02
+d4b631c4844d23a30f11e37696e6f4ac1e9057dd jdk8u111-b03
+9ba3b9700df8b4fc0f5b94b3930d4ba85be3b749 jdk8u111-b04
+452662a83e5bc6dc7e9425ddd10f6c8fc98d50d8 jdk8u111-b05
+cc2f9d823c77cf8f8442a2246edf00f66c2dda8a jdk8u111-b06
+23aa5ab8a2c882d467b8a86d587050de7d523604 jdk8u111-b07
+0a3caaf419ccbf819624f1d438c9fc834682821c jdk8u111-b08
+68b99f65ae7599bc873d20ed150ed8277f2784ff jdk8u111-b09
+11d721e50941b0ba73252f8c8fa333eb1450a317 jdk8u111-b10
+730d8fc6bbfc5c642770b15e4787e1d0545c8f32 jdk8u111-b11
+6ccfdf9a9af5f2df5cbd5ecd5f17aecef289094b jdk8u111-b12
+914f31660407050cb04357f472d8365d5a781cd7 jdk8u111-b13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jaxws-534ca1b701d1/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java
 
new/jaxws-f57f3ddddff6/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java
--- 
old/jaxws-534ca1b701d1/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java
       2016-07-25 07:38:22.000000000 +0200
+++ 
new/jaxws-f57f3ddddff6/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/CTypeRef.java
       2016-11-03 19:13:07.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -100,10 +100,15 @@
      */
     private static QName resolveSimpleTypeName(XSType declType) {
         QName name = BGMBuilder.getName(declType);
-        if (name != null && 
!XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(name.getNamespaceURI()))
-            return resolveSimpleTypeName(declType.getBaseType());
-        else
-            return name;
+        QName result = null;
+        if (name != null && 
!XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(name.getNamespaceURI())) {
+            result = resolveSimpleTypeName(declType.getBaseType());
+        } else {
+            if ( !"anySimpleType".equals(declType.getName()) ) {
+                result = name;
+            }
+        }
+        return result;
     }
 
     public CTypeRef(CNonElement type, QName elementName, QName typeName, 
boolean nillable, XmlString defaultValue) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jaxws-534ca1b701d1/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java
 
new/jaxws-f57f3ddddff6/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java
--- 
old/jaxws-534ca1b701d1/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java
       2016-07-25 07:38:22.000000000 +0200
+++ 
new/jaxws-f57f3ddddff6/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java
       2016-11-03 19:13:07.000000000 +0100
@@ -231,22 +231,11 @@
     @Override
     public void childElement(UnmarshallingContext.State state, TagName arg) 
throws SAXException {
         ChildLoader child = childUnmarshallers.get(arg.uri,arg.local);
-        if(child==null) {
-            if ((beanInfo != null) && (beanInfo.getTypeNames() != null)) {
-                Iterator typeNamesIt = beanInfo.getTypeNames().iterator();
-                QName parentQName = null;
-                if ((typeNamesIt != null) && (typeNamesIt.hasNext()) && 
(catchAll == null)) {
-                    parentQName = (QName) typeNamesIt.next();
-                    String parentUri = parentQName.getNamespaceURI();
-                    child = childUnmarshallers.get(parentUri, arg.local);
-                }
-            }
-            if (child == null) {
-                child = catchAll;
-                if(child==null) {
-                    super.childElement(state,arg);
-                    return;
-                }
+        if (child == null) {
+            child = catchAll;
+            if (child==null) {
+                super.childElement(state,arg);
+                return;
             }
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/jaxws-534ca1b701d1/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java
 
new/jaxws-f57f3ddddff6/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java
--- 
old/jaxws-534ca1b701d1/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java
       2016-07-25 07:38:22.000000000 +0200
+++ 
new/jaxws-f57f3ddddff6/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/schemagen/XmlSchemaGenerator.java
       2016-11-03 19:13:07.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -110,6 +110,7 @@
 import com.sun.xml.internal.txw2.output.ResultFactory;
 import com.sun.xml.internal.txw2.output.XmlSerializer;
 import java.util.Collection;
+import java.util.HashSet;
 import org.xml.sax.SAXParseException;
 
 /**
@@ -436,7 +437,7 @@
 
         if(logger.isLoggable(Level.FINE)) {
             // debug logging to see what's going on.
-            logger.log(Level.FINE,"Wrigin XML Schema for "+toString(),new 
StackRecorder());
+            logger.log(Level.FINE,"Writing XML Schema for "+toString(),new 
StackRecorder());
         }
 
         // make it fool-proof
@@ -465,6 +466,8 @@
                     systemIds.put(n,output.getSystemId());
                 }
             }
+            //Clear the namespace specific set with already written classes
+            n.resetWritten();
         }
 
         // then write'em all
@@ -542,6 +545,11 @@
          */
         private boolean useMimeNs;
 
+        /**
+         * Container for already processed classes
+         */
+        private final Set<ClassInfo> written = new HashSet<ClassInfo>();
+
         public Namespace(String uri) {
             this.uri = uri;
             assert !XmlSchemaGenerator.this.namespaces.containsKey(uri);
@@ -549,6 +557,13 @@
         }
 
         /**
+         * Clear out the set of already processed classes for this namespace
+         */
+        void resetWritten() {
+            written.clear();
+        }
+
+        /**
          * Process the given PropertyInfo looking for references to namespaces 
that
          * are foreign to the given namespace.  Any foreign namespace 
references
          * found are added to the given namespaces dependency list and an 
&lt;import>
@@ -853,6 +868,10 @@
          * @param parent the writer of the parent element into which the type 
will be defined
          */
         private void writeClass(ClassInfo<T,C> c, TypeHost parent) {
+            if (written.contains(c)) { // to avoid cycles let's check if we 
haven't already processed the class
+                return;
+            }
+            written.add(c);
             // special handling for value properties
             if (containsValueProp(c)) {
                 if (c.getProperties().size() == 1) {

++++++ jdk.tar.xz ++++++
/work/SRC/openSUSE:Factory/java-1_8_0-openjdk/jdk.tar.xz 
/work/SRC/openSUSE:Factory/.java-1_8_0-openjdk.new/jdk.tar.xz differ: char 26, 
line 1

++++++ langtools.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/langtools-05822f2e947b/.hgtags 
new/langtools-a553c153d376/.hgtags
--- old/langtools-05822f2e947b/.hgtags  2016-07-25 07:38:23.000000000 +0200
+++ new/langtools-a553c153d376/.hgtags  2016-11-03 19:13:11.000000000 +0100
@@ -612,6 +612,9 @@
 fc69984700e156fe3290daea69e2d2ecc8acccaf icedtea-3.1.0pre04
 c99c71a68555038fdd1e86a10dab9c9007ec3745 jdk8u92-b14
 71176efa69475fc737d1245a28e739ddf105fd1c jdk8u92-b31
+4e8ce6c84e4ca9dd385012c10e059c15dbfcc468 jdk8u92-b32
+18568fe46895af6a7b562ffe6334a24fb5d9ee50 jdk8u92-b33
+3ca74ce54c351db2ac551e495a8b7ee65fb09e64 jdk8u92-b34
 580f87c4d91aa8cc493dbbd84a1be9671fd733f3 jdk8u81-b00
 a93c1e57407944362e05c79d756425e8c1274d9a jdk8u101-b01
 86a9d99ffadaf26b3d8417666a3600ea1ce7560f jdk8u101-b02
@@ -625,3 +628,44 @@
 20f3856902a522f01b28aa2aa38701606af83ab8 jdk8u101-b10
 5cc23fe55ff4c64838e2335644b674bdd0888340 jdk8u101-b11
 0cef544b9eee7042001a2b7f5f9e8a48ef20d779 jdk8u101-b12
+05822f2e947be716d90fa20335b57c9ce5ee62aa icedtea-3.1.0
+88f7b4f1b721ab67ca4cd72e691d2f6c7a72c64b icedtea-3.2.0pre01
+8dc8f71216bf40c259bb4127270922fb6a6ca293 jdk8u101-b13
+10ffafaf53404de7fd23784aa3ff6016d107b9c8 jdk8u76-b00
+0caab0d65a04d8cce71976a6bdc1ca0841bcbcf0 jdk8u76-b01
+78f0aa6199150e10f387989b9bd5997f72cdc4e1 jdk8u76-b02
+8969d6096fe123922bb3ac0c8f6f7b18c1c7668e jdk8u76-b03
+f8173fa5db9ba23e7cd935600f56a8a53157eb6e jdk8u76-b04
+dad1f3dd4a906542a656b3f07142f90c1630320e jdk8u102-b00
+dad1f3dd4a906542a656b3f07142f90c1630320e jdk8u82-b00
+6adcc437e39d4e16803ea2ec2f77c7b2b014512f jdk8u102-b01
+8a650e6924641eff6398fa8cda6e9fd6bd486e71 jdk8u102-b02
+8a8745bff8d5d6dbe64563e051cfd228d2e4d917 jdk8u102-b03
+614dc9771517839b3ed68b6b549bef1c370651c9 jdk8u102-b04
+7750594d9ceba010e36349bc20ee011edbb7c577 jdk8u102-b05
+12d34c63fb1f4191efee852148758c7af67659da jdk8u102-b06
+e6bb6f4d7b7d5179dbf902b6ada968a873b0c58b jdk8u102-b07
+87b26b3123355302fa8d16cbdcfcdfac60ba0275 jdk8u102-b08
+b0bfb7878d4aa8bedcd1c572449ed7c4109fc71b jdk8u102-b09
+0b35a6329ffb892ab8d99a67dcfda1dbc26be91c jdk8u102-b10
+592d155cc1332eba606900a7273863c74ef082a4 jdk8u102-b11
+16c58d7af5a4937e46bccd58114a56a7ffcd685c jdk8u102-b12
+56b0df415b570e31dc0b97d4a1c8f28b85240089 jdk8u102-b13
+19ea84ae4992037367f85aadb746279ab489422a icedtea-3.2.0pre02
+5665ca5e1896dcf47faa2c5c50d1130b8b783944 icedtea-3.2.0pre03
+0549bf2f507dae59bfcd7d11e038cdc62376fee7 jdk8u102-b14
+d86027f25a9aa960d69cf3a524588a873ae888f5 jdk8u102-b31
+90f493bfe1faca0573844fdd2497070c8b224d76 jdk8u111-b00
+085fd7e08f4855f134a8048251c4535ddde1feee jdk8u111-b01
+f66a535fb6b3b41419c987cc90407507a64712b2 jdk8u111-b02
+386c8bc6dd3ea0d49ea483cbbe95f4b12b66db23 jdk8u111-b03
+fd9b6417c521c5ec26224129d90b38d40c04c54d jdk8u111-b04
+5710d574a99aeff3600c49a4aed34fa1b373f7b8 jdk8u111-b05
+9ce3a6ba45751aaf57cb50609f3fd64c02d66f51 jdk8u111-b06
+405b1845ab3995b43efe0e770070b90f4c5c9080 jdk8u111-b07
+8a30511b2ea4714f5868b33be07b0562bb1edbfb jdk8u111-b08
+62cbd4997d4bf8433186d3fa30847577aa483ea3 jdk8u111-b09
+74b16a9a8eda03779e55ba145bdb6a08a1ebd780 jdk8u111-b10
+f51f1b8a7b58355c11392effdf0e4f738a79a8ad jdk8u111-b11
+8e5e70b9cff8f928d28db4890d4e5905a739d210 jdk8u111-b12
+ef3134b243da77d0aed9f3cef2b3855c3be2111a jdk8u111-b13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
--- 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
      2016-07-25 07:38:23.000000000 +0200
+++ 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/doclets/formats/html/markup/HtmlWriter.java
      2016-11-03 19:13:11.000000000 +0100
@@ -380,11 +380,12 @@
         HtmlTree script = new HtmlTree(HtmlTag.SCRIPT);
         script.addAttr(HtmlAttr.TYPE, "text/javascript");
         String scriptCode = DocletConstants.NL +
-                "    targetPage = \"\" + window.location.search;" + 
DocletConstants.NL +
-                "    if (targetPage != \"\" && targetPage != \"undefined\")" + 
DocletConstants.NL +
-                "        targetPage = targetPage.substring(1);" + 
DocletConstants.NL +
-                "    if (targetPage.indexOf(\":\") != -1 || (targetPage != 
\"\" && !validURL(targetPage)))" + DocletConstants.NL +
-                "        targetPage = \"undefined\";" + DocletConstants.NL +
+                "    tmpTargetPage = \"\" + window.location.search;" + 
DocletConstants.NL +
+                "    if (tmpTargetPage != \"\" && tmpTargetPage != 
\"undefined\")" + DocletConstants.NL +
+                "        tmpTargetPage = tmpTargetPage.substring(1);" + 
DocletConstants.NL +
+                "    if (tmpTargetPage.indexOf(\":\") != -1 || (tmpTargetPage 
!= \"\" && !validURL(tmpTargetPage)))" + DocletConstants.NL +
+                "        tmpTargetPage = \"undefined\";" + DocletConstants.NL +
+                "    targetPage = tmpTargetPage;" + DocletConstants.NL +
                 "    function validURL(url) {" + DocletConstants.NL +
                 "        try {" + DocletConstants.NL +
                 "            url = decodeURIComponent(url);" + 
DocletConstants.NL +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/comp/Attr.java 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/comp/Attr.java
--- 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/comp/Attr.java 
    2016-07-25 07:38:23.000000000 +0200
+++ 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/comp/Attr.java 
    2016-11-03 19:13:11.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -249,6 +249,7 @@
      *  are correct.
      *
      *  @param tree     The tree whose kind and type is checked
+     *  @param found    The computed type of the tree
      *  @param ownkind  The computed kind of the tree
      *  @param resultInfo  The expected result of the tree
      */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
--- 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
   2016-07-25 07:38:23.000000000 +0200
+++ 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java
   2016-11-03 19:13:11.000000000 +0100
@@ -860,7 +860,7 @@
         private JCExpression makeReceiver(VarSymbol rcvr) {
             if (rcvr == null) return null;
             JCExpression rcvrExpr = make.Ident(rcvr);
-            Type rcvrType = tree.sym.enclClass().type;
+            Type rcvrType = tree.ownerAccessible ? tree.sym.enclClass().type : 
tree.expr.type;
             if (rcvrType == syms.arrayClass.type) {
                 // Map the receiver type to the actually type, not just "array"
                 rcvrType = tree.getQualifierExpression().type;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/comp/Resolve.java
 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/comp/Resolve.java
--- 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/comp/Resolve.java
  2016-07-25 07:38:23.000000000 +0200
+++ 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/comp/Resolve.java
  2016-11-03 19:13:11.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1007,7 +1007,7 @@
                 DeferredType dt = (DeferredType)found;
                 return dt.check(this);
             } else {
-                Type uResult = U(found.baseType());
+                Type uResult = U(found);
                 Type capturedType = pos == null || pos.getTree() == null ?
                         types.capture(uResult) :
                         checkContext.inferenceContext()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties
 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties
--- 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties
      2016-07-25 07:38:23.000000000 +0200
+++ 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/resources/javac_ja.properties
      2016-11-03 19:13:11.000000000 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -34,7 +34,7 @@
 
javac.opt.classpath=\u30E6\u30FC\u30B6\u30FC\u30FB\u30AF\u30E9\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u304A\u3088\u3073\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
 
javac.opt.sourcepath=\u5165\u529B\u30BD\u30FC\u30B9\u30FB\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B
 
javac.opt.bootclasspath=\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B
-javac.opt.Xbootclasspath.p=\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306B\u4ED8\u52A0\u3059\u308B
+javac.opt.Xbootclasspath.p=\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306E\u5148\u982D\u306B\u4ED8\u52A0\u3059\u308B
 
javac.opt.Xbootclasspath.a=\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30FB\u30AF\u30E9\u30B9\u30FB\u30D1\u30B9\u306B\u8FFD\u52A0\u3059\u308B
 
javac.opt.endorseddirs=\u63A8\u5968\u898F\u683C\u30D1\u30B9\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B
 
javac.opt.extdirs=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u62E1\u5F35\u6A5F\u80FD\u306E\u5834\u6240\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/util/GraphUtils.java
 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/util/GraphUtils.java
--- 
old/langtools-05822f2e947b/src/share/classes/com/sun/tools/javac/util/GraphUtils.java
       2016-07-25 07:38:23.000000000 +0200
+++ 
new/langtools-a553c153d376/src/share/classes/com/sun/tools/javac/util/GraphUtils.java
       2016-11-03 19:13:11.000000000 +0100
@@ -103,34 +103,60 @@
      * directed graph in linear time. Works on TarjanNode.
      */
     public static <D, N extends TarjanNode<D>> List<? extends List<? extends 
N>> tarjan(Iterable<? extends N> nodes) {
-        ListBuffer<List<N>> cycles = new ListBuffer<>();
-        ListBuffer<N> stack = new ListBuffer<>();
+        Tarjan<D, N> tarjan = new Tarjan<>();
+        return tarjan.findSCC(nodes);
+    }
+
+    //where
+    private static class Tarjan<D, N extends TarjanNode<D>> {
+
+        /** Unique node identifier. */
         int index = 0;
-        for (N node: nodes) {
-            if (node.index == -1) {
-                index += tarjan(node, index, stack, cycles);
+
+        /** List of SCCs found so far. */
+        ListBuffer<List<N>> sccs = new ListBuffer<>();
+
+        /** Stack of all reacheable nodes from given root. */
+        ListBuffer<N> stack = new ListBuffer<>();
+
+        private List<? extends List<? extends N>> findSCC(Iterable<? extends 
N> nodes) {
+            for (N node : nodes) {
+                if (node.index == -1) {
+                    findSCC(node);
+                }
             }
+            return sccs.toList();
         }
-        return cycles.toList();
-    }
 
-    private static <D, N extends TarjanNode<D>> int tarjan(N v, int index, 
ListBuffer<N> stack, ListBuffer<List<N>> cycles) {
-        v.index = index;
-        v.lowlink = index;
-        index++;
-        stack.prepend(v);
-        v.active = true;
-        for (TarjanNode<D> nd: v.getAllDependencies()) {
-            @SuppressWarnings("unchecked")
-            N n = (N)nd;
-            if (n.index == -1) {
-                tarjan(n, index, stack, cycles);
-                v.lowlink = Math.min(v.lowlink, n.lowlink);
-            } else if (stack.contains(n)) {
-                v.lowlink = Math.min(v.lowlink, n.index);
+        private void findSCC(N v) {
+            visitNode(v);
+            for (TarjanNode<D> tn : v.getAllDependencies()) {
+                @SuppressWarnings("unchecked")
+                N n = (N)tn;
+                if (n.index == -1) {
+                    //it's the first time we see this node
+                    findSCC(n);
+                    v.lowlink = Math.min(v.lowlink, n.lowlink);
+                } else if (stack.contains(n)) {
+                    //this node is already reachable from current root
+                    v.lowlink = Math.min(v.lowlink, n.index);
+                }
+            }
+            if (v.lowlink == v.index) {
+                //v is the root of a SCC
+                addSCC(v);
             }
         }
-        if (v.lowlink == v.index) {
+
+        private void visitNode(N n) {
+            n.index = index;
+            n.lowlink = index;
+            index++;
+            stack.prepend(n);
+            n.active = true;
+        }
+
+        private void addSCC(N v) {
             N n;
             ListBuffer<N> cycle = new ListBuffer<>();
             do {
@@ -138,9 +164,8 @@
                 n.active = false;
                 cycle.add(n);
             } while (n != v);
-            cycles.add(cycle.toList());
+            sccs.add(cycle.toList());
         }
-        return index;
     }
 
     /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/test/com/sun/javadoc/testJavascript/TestJavascript.java
 
new/langtools-a553c153d376/test/com/sun/javadoc/testJavascript/TestJavascript.java
--- 
old/langtools-05822f2e947b/test/com/sun/javadoc/testJavascript/TestJavascript.java
  2016-07-25 07:38:23.000000000 +0200
+++ 
new/langtools-a553c153d376/test/com/sun/javadoc/testJavascript/TestJavascript.java
  2016-11-03 19:13:11.000000000 +0100
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug      4665566 4855876 7025314 8012375 8015997 8016328 8024756
+ * @bug      4665566 4855876 7025314 8012375 8015997 8016328 8024756 8151921
  * @summary  Verify that the output has the right javascript.
  * @author   jamieh
  * @library  ../lib/
@@ -50,11 +50,12 @@
             "<a href=\"index.html?TestJavascript.html\" 
target=\"_top\">Frames</a>"},
         {BUG_ID + FS + "index.html",
             "<script type=\"text/javascript\">" + NL +
-                        "    targetPage = \"\" + window.location.search;" + NL 
+
-            "    if (targetPage != \"\" && targetPage != \"undefined\")" + NL +
-            "        targetPage = targetPage.substring(1);" + NL +
-            "    if (targetPage.indexOf(\":\") != -1 || (targetPage != \"\" && 
!validURL(targetPage)))" + NL +
-            "        targetPage = \"undefined\";" + NL +
+            "    tmpTargetPage = \"\" + window.location.search;" + NL +
+            "    if (tmpTargetPage != \"\" && tmpTargetPage != \"undefined\")" 
+ NL +
+            "        tmpTargetPage = tmpTargetPage.substring(1);" + NL +
+            "    if (tmpTargetPage.indexOf(\":\") != -1 || (tmpTargetPage != 
\"\" && !validURL(tmpTargetPage)))" + NL +
+            "        tmpTargetPage = \"undefined\";" + NL +
+            "    targetPage = tmpTargetPage;" + NL +
             "    function validURL(url) {" + NL +
             "        try {" + NL +
             "            url = decodeURIComponent(url);" + NL +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/test/tools/javac/conditional/ConditionalWithFinalStrings.java
 
new/langtools-a553c153d376/test/tools/javac/conditional/ConditionalWithFinalStrings.java
--- 
old/langtools-05822f2e947b/test/tools/javac/conditional/ConditionalWithFinalStrings.java
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/langtools-a553c153d376/test/tools/javac/conditional/ConditionalWithFinalStrings.java
    2016-11-03 19:13:11.000000000 +0100
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please 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 8066871
+ * @summary java.lang.VerifyError: Bad local variable type - local final String
+ * @author Srikanth Sankaran
+ *
+ * @compile -g:none ConditionalWithFinalStrings.java
+ * @run main ConditionalWithFinalStrings
+ */
+
+public class ConditionalWithFinalStrings {
+
+        interface I {
+            String foo();
+        }
+
+        static class Tmp {
+                private String value;
+                public void setValue(String tmpStr) {
+                        this.value = tmpStr;
+                        if (!this.value.equals("YES"))
+                            throw new AssertionError();
+                }
+        }
+
+        void goo(I i) {
+            if (!i.foo().equals("YES"))
+                throw new AssertionError();
+        }
+
+        public void test() {
+                final String y = "YES";
+                final String n = "NO";
+                Tmp tmp = new Tmp();
+                tmp.setValue(true ? y : n);
+                goo (() -> y);
+
+        }
+        public static void main(String[] args) {
+                new ConditionalWithFinalStrings().test();
+                if (!id("Hello!").equals("Hello!"))
+                    throw new AssertionError();
+
+        }
+        static <Z> Z id(Z z) { return z; }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/test/tools/javac/generics/inference/8130304/T8130304.java
 
new/langtools-a553c153d376/test/tools/javac/generics/inference/8130304/T8130304.java
--- 
old/langtools-05822f2e947b/test/tools/javac/generics/inference/8130304/T8130304.java
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/langtools-a553c153d376/test/tools/javac/generics/inference/8130304/T8130304.java
        2016-11-03 19:13:11.000000000 +0100
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software 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 8130304
+ * @summary Inference: NodeNotFoundException thrown with deep generic method 
call chain
+ * @compile T8130304.java
+ */
+class T8130304 {
+
+    void test() {
+        outer(
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner(),
+            inner());
+    }
+
+    <T> void outer(T... ts) { }
+
+    <T,V,W extends V> T inner() {
+        return null;
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/test/tools/javac/generics/inference/8130304/T8130304b.java
 
new/langtools-a553c153d376/test/tools/javac/generics/inference/8130304/T8130304b.java
--- 
old/langtools-05822f2e947b/test/tools/javac/generics/inference/8130304/T8130304b.java
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/langtools-a553c153d376/test/tools/javac/generics/inference/8130304/T8130304b.java
       2016-11-03 19:13:11.000000000 +0100
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software 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 8130304
+ * @summary Inference: NodeNotFoundException thrown with deep generic method 
call chain
+ * @compile T8130304b.java
+ */
+class T8130304b {
+
+    void test() {
+        TestZ r = null;
+        Crazy<String, String> x = r.m3("X");
+        r.m1(r.m4(r.m2(x, r.m3("a")), t -> "x"), r.m3("a"));
+    }
+
+    interface Crazy<A, B> { }
+
+    interface TestZ {
+        public <A, B> Crazy<A, B> m1(Crazy<A, ? extends B>... d);
+        public <A, B, C> Crazy<A, Crazy<B, C>> m2(Crazy<A, B> e, Crazy<A, C> 
f);
+        public <A> Crazy<A, A> m3(A g);
+        public <A, B, C> Crazy<A, C> m4(Crazy<A, B> h, 
java.util.function.Function<B, C> i);
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/test/tools/javac/lambda/MethodReference75.java 
new/langtools-a553c153d376/test/tools/javac/lambda/MethodReference75.java
--- old/langtools-05822f2e947b/test/tools/javac/lambda/MethodReference75.java   
1970-01-01 01:00:00.000000000 +0100
+++ new/langtools-a553c153d376/test/tools/javac/lambda/MethodReference75.java   
2016-11-03 19:13:11.000000000 +0100
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * @test
+ * @bug 8143647
+ * @summary Javac compiles method reference that allows results in an 
IllegalAccessError
+ * @run main MethodReference75
+ */
+
+import pkg.PublicDerived8143647;
+
+public class MethodReference75 {
+    public static void main(String[] args) {
+        if (java.util.Arrays
+                .asList(new PublicDerived8143647())
+                .stream()
+                .map(PublicDerived8143647::getX)
+                .findFirst()
+                .get()
+                .equals("PackagePrivateBase"))
+            System.out.println("OK");
+        else
+            throw new AssertionError("Unexpected output");
+    }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/langtools-05822f2e947b/test/tools/javac/lambda/pkg/PublicDerived8143647.java
 
new/langtools-a553c153d376/test/tools/javac/lambda/pkg/PublicDerived8143647.java
--- 
old/langtools-05822f2e947b/test/tools/javac/lambda/pkg/PublicDerived8143647.java
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/langtools-a553c153d376/test/tools/javac/lambda/pkg/PublicDerived8143647.java
    2016-11-03 19:13:11.000000000 +0100
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package pkg;
+
+abstract class PackagePrivateBase8143647 {
+    public String getX() {
+        return "PackagePrivateBase";
+    }
+}
+
+public class PublicDerived8143647 extends PackagePrivateBase8143647 {
+}

++++++ nashorn.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nashorn-289b6e3c6e05/.hgignore 
new/nashorn-0fb33c8b64d1/.hgignore
--- old/nashorn-289b6e3c6e05/.hgignore  2016-07-25 07:38:27.000000000 +0200
+++ new/nashorn-0fb33c8b64d1/.hgignore  2016-11-03 19:13:25.000000000 +0100
@@ -22,6 +22,6 @@
 CC/*
 jcov2/*
 .idea/*
-test/lib/testng.jar
+test/lib/*.jar
 test/script/external/*
 .project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nashorn-289b6e3c6e05/.hgtags 
new/nashorn-0fb33c8b64d1/.hgtags
--- old/nashorn-289b6e3c6e05/.hgtags    2016-07-25 07:38:27.000000000 +0200
+++ new/nashorn-0fb33c8b64d1/.hgtags    2016-11-03 19:13:25.000000000 +0100
@@ -568,6 +568,10 @@
 22925b345dffe4ba96fe2f429c4185cda1b30239 jdk8u91-b13
 6296644a2c9c30db0062117fc776341e937ca1f9 jdk8u91-b14
 32b80df71ca2a6ae827ba7042cea868f40e0a0dd jdk8u91-b15
+7bce03d47545e6a5341a2722168cd6bf697c4132 jdk8u77-b00
+678b645aa10aaf27895c87872c399c15daa026a1 jdk8u77-b01
+09abd795d1d143933224bcb3f12f5d4686b65373 jdk8u77-b02
+b6ee21a35619ce4d3b46a9b825438a3bc9bb63cd jdk8u77-b03
 9ff5c21813330147bf08389b3992534780c93247 jdk8u76-b00
 b7bbed8b05dd50c27050c7e10e20d25329dcd32b jdk8u76-b01
 4c1aa7b8c43c6fd38f9c13a6df2264378dd6a873 jdk8u76-b02
@@ -589,6 +593,9 @@
 68145b690b187b31cf2814d892d8779e17e3aa4d icedtea-3.1.0pre04
 d2af8d0297223ff16d59ee64b7058cafef8f3bb8 jdk8u92-b14
 ff47e8b14690edada1d0a4386e63bb4bc2f38ab4 jdk8u92-b31
+895bb16c7f9fe0c74317afef671a0d5ccde58afa jdk8u92-b32
+6c3f8e359668ec22e9c577d875cdb5a918534498 jdk8u92-b33
+59d90c3cc2bfdfda7664877d0e2529ef6c558558 jdk8u92-b34
 16d657d6cb22e832139a1cbc2ec23a5cf9db8985 jdk8u81-b00
 793156da7cc9c74489ab5fa5f5598bba172846e2 jdk8u101-b01
 79fc469a68bbe03f69919f4cebe0381df1b1d2a3 jdk8u101-b02
@@ -602,3 +609,39 @@
 740d8d604c0ef2b12d9835d2842f60dcc08fee0d jdk8u101-b10
 de5fdc537134ec505958a66d79c0ff68282520d2 jdk8u101-b11
 2f506194a131597352bbe1a08492266a8aed13f8 jdk8u101-b12
+289b6e3c6e050f1a6f079c91a5f37c99889caed9 icedtea-3.1.0
+cd4ba667912c7cf2393bb290eb61528c55d96e72 icedtea-3.2.0pre01
+44e4e6cbe15bf1674cfd7a03acfb962dd4339767 jdk8u101-b13
+120c1b8b458170ed017d2ee60cc9d63896eeb4b9 jdk8u102-b00
+120c1b8b458170ed017d2ee60cc9d63896eeb4b9 jdk8u82-b00
+79dcbdb92a8c39de6d1417557af9e6c2c03f806d jdk8u102-b01
+17416ae62bd720ebb53d20bb24272991084633bd jdk8u102-b02
+75728277aeee30f31c9418f37faf8f4216c539d7 jdk8u102-b03
+8ebcaf17bc745aa581aa8eff807da97f2f74058e jdk8u102-b04
+676a870491e5934e88d40cf2c68bef646c63b4ea jdk8u102-b05
+114e7557d33ce9e5f1bf982f45977a630c44d8a5 jdk8u102-b06
+13a10967cff181a71933a4f1508691553f43304b jdk8u102-b07
+31c898437a15f4feef6c1502d3f1eaf8a3d9de48 jdk8u102-b08
+e4f74a337545a0283f9b7bb6a85ce1b2c4a5fdd6 jdk8u102-b09
+3b84415442d7b4eaa4a7da75b9d428e81e8be575 jdk8u102-b10
+7bd6f4f266f66d32e4ce743928d7c4021c23c477 jdk8u102-b11
+e3db6994bbbd654be3ebd677b2cc80469f7133a3 jdk8u102-b12
+a010893ca6ee93c1a4832d1c484be6a119ca7ae4 jdk8u102-b13
+0b84d2cb4e3a247b2ca0f6a7f882892da3627329 icedtea-3.2.0pre02
+83a084be209bf907f8929ed2361a68427dcd8b89 icedtea-3.2.0pre03
+0948e61a3722ea7519323dffcce4f26430fe2881 jdk8u102-b14
+908d77c3a01687e99fb426cff41cf000f3f28e68 jdk8u102-b31
+9bd5aadd8e739d4ad4bb2e30741cdbe9ae2bae66 jdk8u111-b00
+61e68e59fede0e4700e62b4899ef4553ecbe6bae jdk8u111-b01
+3c500f61258def21887e4026c37353745ce81ab5 jdk8u111-b02
+caf5e25a08571db612acd42b319f8e300e3aa0ee jdk8u111-b03
+b88377d4c4599c36d75352142086faa9ded042b8 jdk8u111-b04
+1a484cc1d2ed0540543b0af4ebb8ad83bcb1c667 jdk8u111-b05
+b70ae846275e5a237bdf4fe5a7299bf610374497 jdk8u111-b06
+7dae05ba63d4b98675d1e4488a714438d2afdf46 jdk8u111-b07
+56229b59fd80141f97e7af21ddfd7e59b4a5b445 jdk8u111-b08
+4465b272a90205f896378df45d8ae6c3d8671953 jdk8u111-b09
+9e3095f8930a8d8aa2c99f38a7d7507fb8fe7fb3 jdk8u111-b10
+c340ee5e5fd1d1a6ed57b3650ab46594dfccfc1d jdk8u111-b11
+76bf7299d622029f1a579667611deeccc405e81a jdk8u111-b12
+7ed1a5c5e45a1d576cc76dc96b3f0699bfe0a642 jdk8u111-b13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nashorn-289b6e3c6e05/make/build.xml 
new/nashorn-0fb33c8b64d1/make/build.xml
--- old/nashorn-289b6e3c6e05/make/build.xml     2016-07-25 07:38:27.000000000 
+0200
+++ new/nashorn-0fb33c8b64d1/make/build.xml     2016-11-03 19:13:25.000000000 
+0100
@@ -49,9 +49,17 @@
     <condition property="git.executable" value="/usr/local/bin/git" else="git">
       <available file="/usr/local/bin/git"/>
     </condition>
-    <!-- check if testng.jar is avaiable -->
-    <available property="testng.available" 
file="${file.reference.testng.jar}"/>
-    <!-- check if Jemmy ang testng.jar are avaiable -->
+    <!-- check if TestNG and dependencies are available, and download them if 
they aren't -->
+    <antcall target="get-testng"/>
+    <condition property="testng.available" value="true">
+      <and>
+        <available file="${file.reference.testng.jar}"/>
+        <available file="${file.reference.jcommander.jar}"/>
+        <available file="${file.reference.bsh.jar}"/>
+        <available file="${file.reference.snakeyaml.jar}"/>
+      </and>
+    </condition>
+    <!-- check if Jemmy ang TestNG are avaiable -->
     <condition property="jemmy.jfx.testng.available" value="true">
       <and>
         <available file="${file.reference.jemmyfx.jar}"/>
@@ -214,6 +222,7 @@
     <javadoc destdir="${dist.javadoc.dir}" use="yes" 
overview="${src.dir}/overview.html" 
         extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} 
${nashorn.version}"
         additionalparam="-quiet" failonerror="true" useexternalfile="true">
+      <arg value="${javadoc.option}"/>
       <classpath>
         <pathelement location="${build.classes.dir}"/>
       </classpath>
@@ -232,6 +241,7 @@
     <javadoc destdir="${dist.javadoc.dir}" use="yes" 
overview="${src.dir}/overview.html"
         extdirs="${nashorn.ext.path}" windowtitle="${nashorn.product.name} 
${nashorn.version}"
         additionalparam="-quiet" failonerror="true" useexternalfile="true">
+      <arg value="${javadoc.option}"/>
       <classpath>
         <pathelement location="${build.classes.dir}"/>
       </classpath>
@@ -244,6 +254,7 @@
   <target name="javadocapi" depends="jar">
     <javadoc destdir="${dist.javadoc.dir}" use="yes" 
extdirs="${nashorn.ext.path}" 
         windowtitle="${nashorn.product.name}" additionalparam="-quiet" 
failonerror="true" useexternalfile="true">
+      <arg value="${javadoc.option}"/>
       <classpath>
         <pathelement location="${build.classes.dir}"/>
       </classpath>
@@ -275,7 +286,7 @@
   <target name="compile-test" depends="compile, run-nasgen" 
if="testng.available">
     <!-- testng task -->
     <taskdef name="testng" classname="org.testng.TestNGAntTask"
-        classpath="${file.reference.testng.jar}"/>
+        classpath="${testng.ant.classpath}"/>
 
     <javac srcdir="${test.src.dir}"
            destdir="${build.test.classes.dir}"
@@ -331,6 +342,15 @@
 grant codeBase "file:/${basedir}/${file.reference.testng.jar}" {
     permission java.security.AllPermission;
 };
+grant codeBase "file:/${basedir}/${file.reference.jcommander.jar}" {
+    permission java.security.AllPermission;
+};
+grant codeBase "file:/${basedir}/${file.reference.bsh.jar}" {
+    permission java.security.AllPermission;
+};
+grant codeBase "file:/${basedir}/${file.reference.snakeyaml.jar}" {
+    permission java.security.AllPermission;
+};
 //// in case of absolute path:
 grant codeBase "file:/${nashorn.internal.tests.jar}" {
     permission java.security.AllPermission;
@@ -339,6 +359,16 @@
 grant codeBase "file:/${file.reference.testng.jar}" {
     permission java.security.AllPermission;
 };
+grant codeBase "file:/${file.reference.jcommander.jar}" {
+    permission java.security.AllPermission;
+};
+grant codeBase "file:/${file.reference.bsh.jar}" {
+    permission java.security.AllPermission;
+};
+grant codeBase "file:/${file.reference.snakeyaml.jar}" {
+    permission java.security.AllPermission;
+};
+
 
 grant codeBase "file:/${basedir}/test/script/trusted/*" {
     permission java.security.AllPermission;
@@ -408,7 +438,7 @@
   </target>
 
   <target name="check-testng" unless="testng.available">
-    <echo message="WARNING: TestNG not available, will not run tests. Please 
copy testng.jar under ${test.lib} directory."/>
+    <echo message="WARNING: TestNG not available, will not run tests. Please 
copy TestNG and dependency JARs to the ${test.lib} directory."/>
   </target>
 
   <!-- only to be invoked as dependency of "test" target -->
@@ -480,7 +510,7 @@
     </testng>
   </target>
 
-  <target name="test" depends="get-testng, javadocnh, test-pessimistic, 
test-optimistic"/>
+  <target name="test" depends="prepare, javadocnh, test-pessimistic, 
test-optimistic"/>
 
   <target name="test-optimistic" depends="jar, 
-test-classes-all,-test-classes-single, check-testng, check-external-tests, 
compile-test, generate-policy-file" if="testng.available">
     <echo message="Running test suite in OPTIMISTIC mode..."/>
@@ -507,7 +537,7 @@
   </target>
 
   <target name="check-jemmy.jfx.testng" unless="jemmy.jfx.testng.available">
-    <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not 
run tests. Please copy testng.jar, JemmyCore.jar, JemmyFX.jar, 
JemmyAWTInput.jar under test${file.separator}lib directory. And make sure you 
have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/>
+    <echo message="WARNING: Jemmy or JavaFX or TestNG not available, will not 
run tests. Please copy TestNG and dependency JARs, JemmyCore.jar, JemmyFX.jar, 
JemmyAWTInput.jar to the test${file.separator}lib directory. And make sure you 
have jfxrt.jar in ${java.home}${file.separator}lib${file.separator}ext dir."/>
   </target>
 
   <target name="testjfx" depends="jar, get-testng, check-jemmy.jfx.testng, 
compile-test" if="jemmy.jfx.testng.available">
@@ -742,15 +772,13 @@
   <target name="perf" depends="externals, update-externals, sunspider, 
octane"/>
 
   <!-- download and install testng.jar -->
-  <target name="get-testng" depends="prepare" unless="testng.available">
-    <get src="http://testng.org/testng-6.8.zip"; dest="${test.lib}" 
skipexisting="true" ignoreerrors="true"/>
-    <unzip src="${test.lib}${file.separator}testng-6.8.zip" dest="${test.lib}">
-      <patternset>
-        <include name="testng-6.8/testng-6.8.jar"/>
-      </patternset>
-    </unzip>
-    <move 
file="${test.lib}${file.separator}testng-6.8${file.separator}testng-6.8.jar" 
tofile="${test.lib}${file.separator}testng.jar"/>
-    <delete dir="${test.lib}${file.separator}testng-6.8"/>
+  <target name="get-testng">
+    <get dest="${test.lib}" skipexisting="true">
+      <url 
url="http://central.maven.org/maven2/org/testng/testng/6.8/testng-6.8.jar"/>
+      <url 
url="http://central.maven.org/maven2/com/beust/jcommander/1.27/jcommander-1.27.jar"/>
+      <url 
url="http://central.maven.org/maven2/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
+      <url 
url="http://central.maven.org/maven2/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar"/>
+    </get>
   </target>
 
   <!-- run all tests -->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nashorn-289b6e3c6e05/make/project.properties 
new/nashorn-0fb33c8b64d1/make/project.properties
--- old/nashorn-289b6e3c6e05/make/project.properties    2016-07-25 
07:38:27.000000000 +0200
+++ new/nashorn-0fb33c8b64d1/make/project.properties    2016-11-03 
19:13:25.000000000 +0100
@@ -33,6 +33,8 @@
 test.javac.source=1.8
 test.javac.target=1.8
 
+javadoc.option=-tag "implSpec:a:Implementation Requirements:"
+
 # nashorn version information
 nashorn.version=0.1
 nashorn.fullversion=0.1
@@ -83,7 +85,17 @@
 test.lib=${basedir}${file.separator}test${file.separator}lib
 
 # jars refererred
-file.reference.testng.jar=${test.lib}${file.separator}testng.jar
+file.reference.testng.jar=${test.lib}${file.separator}testng-6.8.jar
+file.reference.jcommander.jar=${test.lib}${file.separator}jcommander-1.27.jar
+file.reference.bsh.jar=${test.lib}${file.separator}bsh-2.0b4.jar
+file.reference.snakeyaml.jar=${test.lib}${file.separator}snakeyaml-1.6.jar
+
+# TestNG ant task classpath
+testng.ant.classpath=\
+    ${file.reference.testng.jar}${path.separator}\
+    ${file.reference.jcommander.jar}${path.separator}\
+    ${file.reference.bsh.jar}${path.separator}\
+    ${file.reference.snakeyaml.jar}${path.separator}
 
 # Set testng verbose level
 # From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed) 
@@ -112,7 +124,10 @@
 javac.test.classpath=\
     ${build.classes.dir}${path.separator}\
     ${build.test.classes.dir}${path.separator}\
-    ${file.reference.testng.jar}
+    ${file.reference.testng.jar}${path.separator}\
+    ${file.reference.jcommander.jar}${path.separator}\
+    ${file.reference.bsh.jar}${path.separator}\
+    ${file.reference.snakeyaml.jar}
 
 meta.inf.dir=${src.dir}/META-INF
 
@@ -251,6 +266,9 @@
     ${file.reference.jemmycore.jar}${path.separator}\
     ${file.reference.jemmyawtinput.jar}${path.separator}\
     ${file.reference.testng.jar}${path.separator}\
+    ${file.reference.jcommander.jar}${path.separator}\
+    ${file.reference.bsh.jar}${path.separator}\
+    ${file.reference.snakeyaml.jar}${path.separator}\
     ${nashorn.internal.tests.jar}${path.separator}\
     ${nashorn.api.tests.jar}
 
@@ -259,6 +277,9 @@
 
 run.test.classpath=\
     ${file.reference.testng.jar}${path.separator}\
+    ${file.reference.jcommander.jar}${path.separator}\
+    ${file.reference.bsh.jar}${path.separator}\
+    ${file.reference.snakeyaml.jar}${path.separator}\
     ${nashorn.internal.tests.jar}${path.separator}\
     ${nashorn.api.tests.jar}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/nashorn-289b6e3c6e05/samples/lines.js 
new/nashorn-0fb33c8b64d1/samples/lines.js
--- old/nashorn-289b6e3c6e05/samples/lines.js   1970-01-01 01:00:00.000000000 
+0100
+++ new/nashorn-0fb33c8b64d1/samples/lines.js   2016-11-03 19:13:25.000000000 
+0100
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ *   - Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ *
+ *   - Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ *   - Neither the name of Oracle nor the names of its
+ *     contributors may be used to endorse or promote products derived
+ *     from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+var Files = java.nio.file.Files;
+var File = java.io.File;
+var d = arguments.length == 0? "." : arguments[0];
+
+// print total number of lines in all .java files under a
+// given directory (recursively)
+
+print(Files.walk(new File(d).toPath()).
+  filter(function(p) p.toString().endsWith(".java")).
+  mapToInt(function(p) Files.lines(p).count()).sum())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/AbstractJSObject.java 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/AbstractJSObject.java
--- 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/AbstractJSObject.java    
    2016-07-25 07:38:27.000000000 +0200
+++ 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/AbstractJSObject.java    
    2016-11-03 19:13:25.000000000 +0100
@@ -27,6 +27,7 @@
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Objects;
 import java.util.Set;
 import jdk.nashorn.internal.runtime.JSONListAdapter;
 import jdk.nashorn.internal.runtime.JSType;
@@ -36,7 +37,7 @@
  *
  * This class can also be subclassed by an arbitrary Java class. Nashorn will
  * treat objects of such classes just like nashorn script objects. Usual 
nashorn
- * operations like obj[i], obj.foo, obj.func(), delete obj.foo will be glued
+ * operations like obj[i], obj.foo, obj.func(), delete obj.foo will be 
delegated
  * to appropriate method call of this class.
  *
  * @since 1.8u40
@@ -44,12 +45,12 @@
 @jdk.Exported
 public abstract class AbstractJSObject implements JSObject {
     /**
-     * Call this object as a JavaScript function. This is equivalent to
-     * 'func.apply(thiz, args)' in JavaScript.
-     *
-     * @param thiz 'this' object to be passed to the function
-     * @param args arguments to method
-     * @return result of call
+     * The default constructor.
+     */
+    public AbstractJSObject() {}
+
+    /**
+     * @implSpec This implementation always throws 
UnsupportedOperationException
      */
     @Override
     public Object call(final Object thiz, final Object... args) {
@@ -57,11 +58,7 @@
     }
 
     /**
-     * Call this 'constructor' JavaScript function to create a new object.
-     * This is equivalent to 'new func(arg1, arg2...)' in JavaScript.
-     *
-     * @param args arguments to method
-     * @return result of constructor call
+     * @implSpec This implementation always throws 
UnsupportedOperationException
      */
     @Override
     public Object newObject(final Object... args) {
@@ -69,10 +66,7 @@
     }
 
     /**
-     * Evaluate a JavaScript expression.
-     *
-     * @param s JavaScript expression to evaluate
-     * @return evaluation result
+     * @implSpec This imlementation always throws UnsupportedOperationException
      */
     @Override
     public Object eval(final String s) {
@@ -80,21 +74,16 @@
     }
 
     /**
-     * Retrieves a named member of this JavaScript object.
-     *
-     * @param name of member
-     * @return member
+     * @implSpec This implementation always returns null
      */
     @Override
     public Object getMember(final String name) {
+        Objects.requireNonNull(name);
         return null;
     }
 
     /**
-     * Retrieves an indexed member of this JavaScript object.
-     *
-     * @param index index slot to retrieve
-     * @return member
+     * @implSpec This implementation always returns null
      */
     @Override
     public Object getSlot(final int index) {
@@ -102,21 +91,16 @@
     }
 
     /**
-     * Does this object have a named member?
-     *
-     * @param name name of member
-     * @return true if this object has a member of the given name
+     * @implSpec This implementation always returns false
      */
     @Override
     public boolean hasMember(final String name) {
+        Objects.requireNonNull(name);
         return false;
     }
 
     /**
-     * Does this object have a indexed property?
-     *
-     * @param slot index to check
-     * @return true if this object has a slot
+     * @implSpec This implementation always returns false
      */
     @Override
     public boolean hasSlot(final int slot) {
@@ -124,31 +108,25 @@
     }
 
     /**
-     * Remove a named member from this JavaScript object
-     *
-     * @param name name of the member
+     * @implSpec This implementation is a no-op
      */
     @Override
     public void removeMember(final String name) {
+        Objects.requireNonNull(name);
         //empty
     }
 
     /**
-     * Set a named member in this JavaScript object
-     *
-     * @param name  name of the member
-     * @param value value of the member
+     * @implSpec This implementation is a no-op
      */
     @Override
     public void setMember(final String name, final Object value) {
+        Objects.requireNonNull(name);
         //empty
     }
 
     /**
-     * Set an indexed member in this JavaScript object
-     *
-     * @param index index of the member slot
-     * @param value value of the member
+     * @implSpec This implementation is a no-op
      */
     @Override
     public void setSlot(final int index, final Object value) {
@@ -158,9 +136,7 @@
     // property and value iteration
 
     /**
-     * Returns the set of all property names of this object.
-     *
-     * @return set of property names
+     * @implSpec This implementation returns empty set
      */
     @Override
     public Set<String> keySet() {
@@ -168,9 +144,7 @@
     }
 
     /**
-     * Returns the set of all property values of this object.
-     *
-     * @return set of property values.
+     * @implSpec This implementation returns empty set
      */
     @Override
     public Collection<Object> values() {
@@ -180,22 +154,13 @@
     // JavaScript instanceof check
 
     /**
-     * Checking whether the given object is an instance of 'this' object.
-     *
-     * @param instance instance to check
-     * @return true if the given 'instance' is an instance of this 'function' 
object
+     * @implSpec This implementation always returns false
      */
     @Override
     public boolean isInstance(final Object instance) {
         return false;
     }
 
-    /**
-     * Checking whether this object is an instance of the given 'clazz' object.
-     *
-     * @param clazz clazz to check
-     * @return true if this object is an instance of the given 'clazz'
-     */
     @Override
     public boolean isInstanceOf(final Object clazz) {
         if (clazz instanceof JSObject) {
@@ -205,20 +170,13 @@
         return false;
     }
 
-    /**
-     * ECMA [[Class]] property
-     *
-     * @return ECMA [[Class]] property value of this object
-     */
     @Override
     public String getClassName() {
         return getClass().getName();
     }
 
     /**
-     * Is this a function object?
-     *
-     * @return if this mirror wraps a ECMAScript function instance
+     * @implSpec This implementation always returns false
      */
     @Override
     public boolean isFunction() {
@@ -226,9 +184,7 @@
     }
 
     /**
-     * Is this a 'use strict' function object?
-     *
-     * @return true if this mirror represents a ECMAScript 'use strict' 
function
+     * @implSpec This implementation always returns false
      */
     @Override
     public boolean isStrictFunction() {
@@ -236,9 +192,7 @@
     }
 
     /**
-     * Is this an array object?
-     *
-     * @return if this mirror wraps a ECMAScript array object
+     * @implSpec This implementation always returns false
      */
     @Override
     public boolean isArray() {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/JSObject.java 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/JSObject.java
--- old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/JSObject.java        
2016-07-25 07:38:27.000000000 +0200
+++ new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/JSObject.java        
2016-11-03 19:13:25.000000000 +0100
@@ -31,7 +31,7 @@
 /**
  * This interface can be implemented by an arbitrary Java class. Nashorn will
  * treat objects of such classes just like nashorn script objects. Usual 
nashorn
- * operations like obj[i], obj.foo, obj.func(), delete obj.foo will be glued
+ * operations like obj[i], obj.foo, obj.func(), delete obj.foo will be 
delegated
  * to appropriate method call of this interface.
  *
  * @since 1.8u40
@@ -42,7 +42,7 @@
      * Call this object as a JavaScript function. This is equivalent to
      * 'func.apply(thiz, args)' in JavaScript.
      *
-     * @param thiz 'this' object to be passed to the function
+     * @param thiz 'this' object to be passed to the function. This may be 
null.
      * @param args arguments to method
      * @return result of call
      */
@@ -70,6 +70,7 @@
      *
      * @param name of member
      * @return member
+     * @throws NullPointerException if name is null
      */
     public Object getMember(final String name);
 
@@ -101,6 +102,7 @@
      * Remove a named member from this JavaScript object
      *
      * @param name name of the member
+     * @throws NullPointerException if name is null
      */
     public void removeMember(final String name);
 
@@ -109,6 +111,7 @@
      *
      * @param name  name of the member
      * @param value value of the member
+     * @throws NullPointerException if name is null
      */
     public void setMember(final String name, final Object value);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/NashornException.java 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/NashornException.java
--- 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/NashornException.java    
    2016-07-25 07:38:27.000000000 +0200
+++ 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/NashornException.java    
    2016-11-03 19:13:25.000000000 +0100
@@ -47,6 +47,8 @@
 @jdk.Exported
 @SuppressWarnings("serial")
 public abstract class NashornException extends RuntimeException {
+    private static final long serialVersionUID = 1L;
+
     // script file name
     private String fileName;
     // script line number
@@ -59,7 +61,7 @@
     private Object ecmaError;
 
     /**
-     * Constructor
+     * Constructor to initialize error message, file name, line and column 
numbers.
      *
      * @param msg       exception message
      * @param fileName  file name
@@ -71,7 +73,7 @@
     }
 
     /**
-     * Constructor
+     * Constructor to initialize error message, cause exception, file name, 
line and column numbers.
      *
      * @param msg       exception message
      * @param cause     exception cause
@@ -87,7 +89,7 @@
     }
 
     /**
-     * Constructor
+     * Constructor to initialize error message and cause exception.
      *
      * @param msg       exception message
      * @param cause     exception cause
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java
 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java
--- 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java
      2016-07-25 07:38:27.000000000 +0200
+++ 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java
      2016-11-03 19:13:25.000000000 +0100
@@ -155,7 +155,7 @@
     }
 
     /**
-     * Create a new Script engine initialized by given class loader.
+     * Create a new Script engine initialized with the given class loader.
      *
      * @param appLoader class loader to be used as script "app" class loader.
      * @return newly created script engine.
@@ -168,7 +168,7 @@
     }
 
     /**
-     * Create a new Script engine initialized by given class filter.
+     * Create a new Script engine initialized with the given class filter.
      *
      * @param classFilter class filter to use.
      * @return newly created script engine.
@@ -182,7 +182,7 @@
     }
 
     /**
-     * Create a new Script engine initialized by given arguments.
+     * Create a new Script engine initialized with the given arguments.
      *
      * @param args arguments array passed to script engine.
      * @return newly created script engine.
@@ -196,7 +196,7 @@
     }
 
     /**
-     * Create a new Script engine initialized by given arguments.
+     * Create a new Script engine initialized with the given arguments and the 
given class loader.
      *
      * @param args arguments array passed to script engine.
      * @param appLoader class loader to be used as script "app" class loader.
@@ -211,7 +211,7 @@
     }
 
     /**
-     * Create a new Script engine initialized by given arguments.
+     * Create a new Script engine initialized with the given arguments, class 
loader and class filter.
      *
      * @param args arguments array passed to script engine.
      * @param appLoader class loader to be used as script "app" class loader.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java
--- 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java  
    2016-07-25 07:38:27.000000000 +0200
+++ 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java  
    2016-11-03 19:13:25.000000000 +0100
@@ -288,22 +288,21 @@
         });
     }
 
-
     @Override
-    public boolean isInstance(final Object obj) {
-        if (! (obj instanceof ScriptObjectMirror)) {
+    public boolean isInstance(final Object instance) {
+        if (! (instance instanceof ScriptObjectMirror)) {
             return false;
         }
 
-        final ScriptObjectMirror instance = (ScriptObjectMirror)obj;
+        final ScriptObjectMirror mirror = (ScriptObjectMirror)instance;
         // if not belongs to my global scope, return false
-        if (global != instance.global) {
+        if (global != mirror.global) {
             return false;
         }
 
         return inGlobal(new Callable<Boolean>() {
             @Override public Boolean call() {
-                return sobj.isInstance(instance.sobj);
+                return sobj.isInstance(mirror.sobj);
             }
         });
     }
@@ -654,10 +653,10 @@
     }
 
     /**
-     * Make a script object mirror on given object if needed. Also converts 
ConsString instances to Strings.
+     * Make a script object mirror on given object if needed.
      *
      * @param obj object to be wrapped/converted
-     * @param homeGlobal global to which this object belongs. Not used for 
ConsStrings.
+     * @param homeGlobal global to which this object belongs.
      * @return wrapped/converted object
      */
     public static Object wrap(final Object obj, final Object homeGlobal) {
@@ -665,13 +664,13 @@
     }
 
     /**
-     * Make a script object mirror on given object if needed. Also converts 
ConsString instances to Strings. The
-     * created wrapper will implement the Java {@code List} interface if 
{@code obj} is a JavaScript
-     * {@code Array} object; this is compatible with Java JSON libraries 
expectations. Arrays retrieved through its
+     * Make a script object mirror on given object if needed. The created 
wrapper will implement
+     * the Java {@code List} interface if {@code obj} is a JavaScript {@code 
Array} object;
+     * this is compatible with Java JSON libraries expectations. Arrays 
retrieved through its
      * properties (transitively) will also implement the list interface.
      *
      * @param obj object to be wrapped/converted
-     * @param homeGlobal global to which this object belongs. Not used for 
ConsStrings.
+     * @param homeGlobal global to which this object belongs.
      * @return wrapped/converted object
      */
     public static Object wrapAsJSONCompatible(final Object obj, final Object 
homeGlobal) {
@@ -679,10 +678,10 @@
     }
 
     /**
-     * Make a script object mirror on given object if needed. Also converts 
ConsString instances to Strings.
+     * Make a script object mirror on given object if needed.
      *
      * @param obj object to be wrapped/converted
-     * @param homeGlobal global to which this object belongs. Not used for 
ConsStrings.
+     * @param homeGlobal global to which this object belongs.
      * @param jsonCompatible if true, the created wrapper will implement the 
Java {@code List} interface if
      * {@code obj} is a JavaScript {@code Array} object. Arrays retrieved 
through its properties (transitively)
      * will also implement the list interface.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/ScriptUtils.java 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/ScriptUtils.java
--- old/nashorn-289b6e3c6e05/src/jdk/nashorn/api/scripting/ScriptUtils.java     
2016-07-25 07:38:27.000000000 +0200
+++ new/nashorn-0fb33c8b64d1/src/jdk/nashorn/api/scripting/ScriptUtils.java     
2016-11-03 19:13:25.000000000 +0100
@@ -77,9 +77,15 @@
      * @param func the function to wrap
      * @param sync the object to synchronize on
      * @return a synchronizing wrapper function
+     * @throws IllegalArgumentException if func does not represent a script 
function
      */
-    public static Object makeSynchronizedFunction(final ScriptFunction func, 
final Object sync) {
-        return func.createSynchronized(unwrap(sync));
+    public static Object makeSynchronizedFunction(final Object func, final 
Object sync) {
+        final Object unwrapped = unwrap(func);
+        if (unwrapped instanceof ScriptFunction) {
+            return 
((ScriptFunction)unwrapped).createSynchronized(unwrap(sync));
+        }
+
+        throw new IllegalArgumentException();
     }
 
     /**
@@ -87,9 +93,19 @@
      *
      * @param obj object to be wrapped
      * @return wrapped object
+     * @throws IllegalArgumentException if obj cannot be wrapped
      */
-    public static ScriptObjectMirror wrap(final ScriptObject obj) {
-        return (ScriptObjectMirror) ScriptObjectMirror.wrap(obj, 
Context.getGlobal());
+    public static ScriptObjectMirror wrap(final Object obj) {
+        if (obj instanceof ScriptObjectMirror) {
+            return (ScriptObjectMirror)obj;
+        }
+
+        if (obj instanceof ScriptObject) {
+            final ScriptObject sobj = (ScriptObject)obj;
+            return (ScriptObjectMirror) ScriptObjectMirror.wrap(sobj, 
Context.getGlobal());
+        }
+
+        throw new IllegalArgumentException();
     }
 
     /**
@@ -138,7 +154,8 @@
      * Convert the given object to the given type.
      *
      * @param obj object to be converted
-     * @param type destination type to convert to
+     * @param type destination type to convert to. type is either a Class
+     * or nashorn representation of a Java type returned by Java.type() call 
in script.
      * @return converted object
      */
     public static Object convert(final Object obj, final Object type) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/internal/runtime/PropertyListeners.java
 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/internal/runtime/PropertyListeners.java
--- 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/internal/runtime/PropertyListeners.java
    2016-07-25 07:38:27.000000000 +0200
+++ 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/internal/runtime/PropertyListeners.java
    2016-11-03 19:13:25.000000000 +0100
@@ -54,7 +54,13 @@
      */
     PropertyListeners(final PropertyListeners listener) {
         if (listener != null && listener.listeners != null) {
-            this.listeners = new WeakHashMap<>(listener.listeners);
+            this.listeners = new WeakHashMap<>();
+            // We need to copy the nested weak sets in order to avoid 
concurrent modification issues, see JDK-8146274
+            synchronized (listener) {
+                for (final Map.Entry<String, WeakPropertyMapSet> entry : 
listener.listeners.entrySet()) {
+                    this.listeners.put(entry.getKey(), new 
WeakPropertyMapSet(entry.getValue()));
+                }
+            }
         }
     }
 
@@ -228,7 +234,15 @@
 
     private static class WeakPropertyMapSet {
 
-        private final WeakHashMap<PropertyMap, Boolean> map = new 
WeakHashMap<>();
+        private final WeakHashMap<PropertyMap, Boolean> map;
+
+        WeakPropertyMapSet() {
+            this.map = new WeakHashMap<>();
+        }
+
+        WeakPropertyMapSet(final WeakPropertyMapSet set) {
+            this.map = new WeakHashMap<>(set.map);
+        }
 
         void add(final PropertyMap propertyMap) {
             map.put(propertyMap, Boolean.TRUE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java
--- 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java 
    2016-07-25 07:38:27.000000000 +0200
+++ 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/internal/runtime/arrays/ArrayData.java 
    2016-11-03 19:13:25.000000000 +0100
@@ -81,14 +81,11 @@
         }
 
         private ArrayData toRealArrayData() {
-            return toRealArrayData(0);
+            return new IntArrayData(0);
         }
 
         private ArrayData toRealArrayData(final int index) {
             final IntArrayData newData = new IntArrayData(index + 1);
-            if (index == 0) {
-                return newData;
-            }
             return new DeletedRangeArrayFilter(newData, 0, index);
         }
 
@@ -122,7 +119,7 @@
 
         @Override
         public ArrayData convert(final Class<?> type) {
-            return toRealArrayData(0).convert(type);
+            return toRealArrayData().convert(type);
         }
 
         @Override
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java
 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java
--- 
old/nashorn-289b6e3c6e05/src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java
        2016-07-25 07:38:27.000000000 +0200
+++ 
new/nashorn-0fb33c8b64d1/src/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java
        2016-11-03 19:13:25.000000000 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -238,8 +238,18 @@
         public void setTarget(final MethodHandle newTarget) {
             final MethodType type   = type();
             final boolean    isVoid = type.returnType() == void.class;
+            final Class<?> newSelfType = newTarget.type().parameterType(0);
 
-            MethodHandle methodHandle = MH.filterArguments(newTarget, 0, 
MH.bindTo(PROFILEENTRY, this));
+            MethodHandle selfFilter = MH.bindTo(PROFILEENTRY, this);
+            if (newSelfType != Object.class) {
+                // new target uses a more precise 'self' type than 
Object.class. We need to
+                // convert the filter type. Note that the profileEntry method 
returns "self"
+                // argument "as is" and so the cast introduced will succeed 
for any type.
+                MethodType selfFilterType = MethodType.methodType(newSelfType, 
newSelfType);
+                selfFilter = selfFilter.asType(selfFilterType);
+            }
+
+            MethodHandle methodHandle = MH.filterArguments(newTarget, 0, 
selfFilter);
 
             if (isVoid) {
                 methodHandle = MH.filterReturnValue(methodHandle, 
MH.bindTo(PROFILEVOIDEXIT, this));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/test/script/basic/JDK-8026367.js 
new/nashorn-0fb33c8b64d1/test/script/basic/JDK-8026367.js
--- old/nashorn-289b6e3c6e05/test/script/basic/JDK-8026367.js   2016-07-25 
07:38:27.000000000 +0200
+++ new/nashorn-0fb33c8b64d1/test/script/basic/JDK-8026367.js   2016-11-03 
19:13:25.000000000 +0100
@@ -37,10 +37,12 @@
     // Sync called with one argument will synchronize on this-object of 
invocation
     inc: sync(function(d) {
         this.count += d;
+        Assert.assertTrue(java.lang.Thread.holdsLock(this));
     }),
     // Pass explicit object to synchronize on as second argument
     dec: sync(function(d) {
         this.count -= d;
+        Assert.assertTrue(java.lang.Thread.holdsLock(obj));
     }, obj)
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/test/script/nosecurity/JDK-8148926.js 
new/nashorn-0fb33c8b64d1/test/script/nosecurity/JDK-8148926.js
--- old/nashorn-289b6e3c6e05/test/script/nosecurity/JDK-8148926.js      
1970-01-01 01:00:00.000000000 +0100
+++ new/nashorn-0fb33c8b64d1/test/script/nosecurity/JDK-8148926.js      
2016-11-03 19:13:25.000000000 +0100
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please 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-8148926: Call site profiling fails on braces-wrapped anonymous function
+ *
+ * @test
+ * @option -pcs
+ * @run
+ */
+
+(function() {})() 
+
+var i = (function() { return 2 })()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/test/script/nosecurity/JDK-8149334.js 
new/nashorn-0fb33c8b64d1/test/script/nosecurity/JDK-8149334.js
--- old/nashorn-289b6e3c6e05/test/script/nosecurity/JDK-8149334.js      
1970-01-01 01:00:00.000000000 +0100
+++ new/nashorn-0fb33c8b64d1/test/script/nosecurity/JDK-8149334.js      
2016-11-03 19:13:25.000000000 +0100
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please 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-8149334: JSON.parse(JSON.stringify([])).push(10) creates an array 
containing two elements
+ *
+ * @test
+ * @run
+ */
+
+var a = JSON.parse(JSON.stringify([]))
+print(a.length)
+a.push(10)
+print(a.length)
+print(a)
+
+var b = JSON.parse(JSON.stringify([]))
+print(b.length)
+b.push('ieps')
+print(b.length)
+print(b)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/nashorn-289b6e3c6e05/test/script/nosecurity/JDK-8149334.js.EXPECTED 
new/nashorn-0fb33c8b64d1/test/script/nosecurity/JDK-8149334.js.EXPECTED
--- old/nashorn-289b6e3c6e05/test/script/nosecurity/JDK-8149334.js.EXPECTED     
1970-01-01 01:00:00.000000000 +0100
+++ new/nashorn-0fb33c8b64d1/test/script/nosecurity/JDK-8149334.js.EXPECTED     
2016-11-03 19:13:25.000000000 +0100
@@ -0,0 +1,6 @@
+0
+1
+10
+0
+1
+ieps

++++++ openjdk.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icedtea8-forest-453780834f92/.hgtags 
new/icedtea8-forest-200203ccf4bb/.hgtags
--- old/icedtea8-forest-453780834f92/.hgtags    2016-07-25 07:38:20.000000000 
+0200
+++ new/icedtea8-forest-200203ccf4bb/.hgtags    2016-11-03 19:13:01.000000000 
+0100
@@ -610,6 +610,9 @@
 6517c9e186c5b0f190b054c89dfd84f9b094b1df icedtea-3.1.0pre04
 51f64c980bcdef152a6eb043aaa5d04cc08c6624 jdk8u92-b14
 9005b6faa5f616a8b403ea3aa660b963a7cdde24 jdk8u92-b31
+7e728e8e6120e276d05f82c1a01c3d8fe4a63584 jdk8u92-b32
+5e69844e2c69d21e6f139845451ad8c5acdef709 jdk8u92-b33
+f8ea719757e3bee133e59c7fd69589e190785292 jdk8u92-b34
 722fc7e276ff8b4b6460b399e4eb65da518435f0 jdk8u81-b00
 534d4e07c81fc8656cdb0856e22aafbdc54e474a jdk8u101-b01
 18e1f0ee965b0565514027543546348ed99bf4a4 jdk8u101-b02
@@ -623,3 +626,44 @@
 1db5081d8ee77caffa0f534496af5fb908e9b61f jdk8u101-b10
 81cdb3e279f8f245f740e7d3e79a1629b6599325 jdk8u101-b11
 d6f920823feb4d44e67cec383d8c6e4a5dba9d76 jdk8u101-b12
+453780834f92edcc8ed02e72c266667ea1c82194 icedtea-3.1.0
+55ebb0016ba5942de09b6925ca33a4d55417cacd icedtea-3.2.0pre01
+e983a19c64390d18004d1d0c7907394714e697b3 jdk8u101-b13
+e8bed1496ff254d91d52c8da7c6d8d361862d773 jdk8u76-b00
+832508a6165c877aa1de03ca9b6520c7bfe5a28e jdk8u76-b01
+0861105394355ad24c07cb2ff58a731ef91502a8 jdk8u76-b02
+4db8c011697524c7ba76fb317763940d85af0c12 jdk8u76-b03
+120282f77af0321604f51edcbcd368aff23b42b7 jdk8u76-b04
+f6d50bd27913fe801a6ec445437d7503b458a422 jdk8u102-b00
+f6d50bd27913fe801a6ec445437d7503b458a422 jdk8u82-b00
+c0b0fb35c047fe3a654c5899e7204e9c68de532a jdk8u102-b01
+914eb7d20df00012875ddd3a26c2452671c6134c jdk8u102-b02
+c3596cd9b5c8a3774e6f200ac8d055b031a5e25b jdk8u102-b03
+067570c5c0b2604ff422d2eee6f07dfc4953e44a jdk8u102-b04
+9c5541aa49f4a6bd7206085be175bf4d6a5294e9 jdk8u102-b05
+b1de940771d47cbc7b9702fea16efda94b7fa654 jdk8u102-b06
+f428f6a9060b1ac1dad41ee8a3850efdeb564bc4 jdk8u102-b07
+6bef5f85b095d712cbab5c8cbaf8330036e8593b jdk8u102-b08
+3489cf2e35b743ab5d122136e7af46895bb9739c jdk8u102-b09
+96dac192aa74ccefa6fe7a7984ac3f8acabe5dc2 jdk8u102-b10
+5839c5f4292a8755a4c102cb0f983536f5bfe8be jdk8u102-b11
+163dc486915300b020f203e89fdf1985cc3c4814 jdk8u102-b12
+04471bfd1cc2e8f4d8d198e79b21e64dd4499db8 jdk8u102-b13
+64e0fb010639918077b4264a45b3afdd03e58c58 icedtea-3.2.0pre02
+66db642828d473d3b824d4d0228468ec8a4ebac5 icedtea-3.2.0pre03
+daafd7d3a76a0c448e4982afd7c4e9471ab1c916 jdk8u102-b14
+3a3064f9363c79f70a0d9b2201342acc880e1e76 jdk8u102-b31
+fe901996777f50198be2c785cd7e3b8198692bbe jdk8u111-b00
+38fc232c37019c1e3fdf87495ca9b6e689a08a34 jdk8u111-b01
+b363f4507ef46d86951d7d00eff4fb6624ebb728 jdk8u111-b02
+193aed1bc403b1960fbced8630ac0104f03eb480 jdk8u111-b03
+e64a88d7d60f1756fe816f3e996b45433df25434 jdk8u111-b04
+58ac6fce1d10c1fba366ad58950a6a54b27a5bcb jdk8u111-b05
+8a2538bb35f96ff56a5877fa77119146ad8c11b3 jdk8u111-b06
+b4dbbfe1b5fe3e095dc62a25e14688820336a968 jdk8u111-b07
+85cd32cbf2c8a66e1ab5470f5d47c8210d9e7c94 jdk8u111-b08
+e96502b0b33aedfa4ad62a80d358b042fb9cfca4 jdk8u111-b09
+c715ad822dda1ff956bb7210814ad4f23d561f29 jdk8u111-b10
+fc69426e3eeb88652a433088ddf715ca100606d2 jdk8u111-b11
+5b64df33d63a60d21edd5094173a21b1f2431b0a jdk8u111-b12
+7b105a10b1a3e656939e47e87fcf9e8066fa78f0 jdk8u111-b13
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icedtea8-forest-453780834f92/common/autoconf/generated-configure.sh 
new/icedtea8-forest-200203ccf4bb/common/autoconf/generated-configure.sh
--- old/icedtea8-forest-453780834f92/common/autoconf/generated-configure.sh     
2016-07-25 07:38:20.000000000 +0200
+++ new/icedtea8-forest-200203ccf4bb/common/autoconf/generated-configure.sh     
2016-11-03 19:13:01.000000000 +0100
@@ -642,6 +642,15 @@
 LIBFFI_LIBS
 LIBFFI_CFLAGS
 STATIC_CXX_SETTING
+USE_EXTERNAL_SCTP
+SCTP_LIBS
+SCTP_CFLAGS
+USE_EXTERNAL_PCSC
+PCSC_LIBS
+PCSC_CFLAGS
+USE_EXTERNAL_KRB5
+KRB5_LIBS
+KRB5_CFLAGS
 INFINALITY_SUPPORT
 FONTCONFIG_LIBS
 FONTCONFIG_CFLAGS
@@ -1093,6 +1102,9 @@
 with_zlib
 enable_system_nss
 enable_infinality
+enable_system_kerberos
+enable_system_pcsc
+enable_system_sctp
 with_stdc__lib
 with_num_cores
 with_memory_size
@@ -1132,6 +1144,12 @@
 NSS_LIBS
 FONTCONFIG_CFLAGS
 FONTCONFIG_LIBS
+KRB5_CFLAGS
+KRB5_LIBS
+PCSC_CFLAGS
+PCSC_LIBS
+SCTP_CFLAGS
+SCTP_LIBS
 LIBFFI_CFLAGS
 LIBFFI_LIBS'
 
@@ -1778,6 +1796,11 @@
                           libraries [disabled]
   --enable-infinality     build with fontconfig-enhanced font rendering
                           [disabled]
+  --enable-system-kerberos
+                          use the system Kerberos to get the cache location
+                          [disabled]
+  --enable-system-pcsc    use the system libpcsclite [disabled]
+  --enable-system-sctp    use the system SCTP library [disabled]
   --enable-sjavac         use sjavac to do fast incremental compiles
                           [disabled]
   --disable-precompiled-headers
@@ -1940,6 +1963,12 @@
               C compiler flags for FONTCONFIG, overriding pkg-config
   FONTCONFIG_LIBS
               linker flags for FONTCONFIG, overriding pkg-config
+  KRB5_CFLAGS C compiler flags for KRB5, overriding pkg-config
+  KRB5_LIBS   linker flags for KRB5, overriding pkg-config
+  PCSC_CFLAGS C compiler flags for PCSC, overriding pkg-config
+  PCSC_LIBS   linker flags for PCSC, overriding pkg-config
+  SCTP_CFLAGS C compiler flags for the SCTP library
+  SCTP_LIBS   linker flags for the SCTP library, overriding -lsctp
   LIBFFI_CFLAGS
               C compiler flags for LIBFFI, overriding pkg-config
   LIBFFI_LIBS linker flags for LIBFFI, overriding pkg-config
@@ -4014,7 +4043,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency 
checks:
-DATE_WHEN_GENERATED=1468812976
+DATE_WHEN_GENERATED=1478057962
 
 ###############################################################################
 #
@@ -35507,8 +35536,10 @@
     #include <ft2build.h>
     #include FT_FREETYPE_H
     #ifndef FT_CONFIG_OPTION_INFINALITY_PATCHSET
+    #if TT_CONFIG_OPTION_SUBPIXEL_HINTING < 1
     #error Infinality not supported
     #endif
+    #endif
 
 int
 main ()
@@ -35539,6 +35570,327 @@
   fi
 
 
+  
###############################################################################
+  #
+  # Check for the Kerberos libraries
+  #
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the system 
Kerberos installation to obtain the cache location" >&5
+$as_echo_n "checking whether to use the system Kerberos installation to obtain 
the cache location... " >&6; }
+
+  # default is bundled
+  DEFAULT_SYSTEM_KRB5=no
+
+  # Check whether --enable-system-kerberos was given.
+if test "${enable_system_kerberos+set}" = set; then :
+  enableval=$enable_system_kerberos;
+    case "${enableval}" in
+      yes)
+        system_krb5=yes
+        ;;
+      *)
+        system_krb5=no
+        ;;
+    esac
+
+else
+
+    system_krb5=${DEFAULT_SYSTEM_KRB5}
+
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $system_krb5" >&5
+$as_echo "$system_krb5" >&6; }
+
+  if test "x${system_krb5}" = "xyes"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for KRB5" >&5
+$as_echo_n "checking for KRB5... " >&6; }
+
+if test -n "$KRB5_CFLAGS"; then
+    pkg_cv_KRB5_CFLAGS="$KRB5_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"krb5\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "krb5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_KRB5_CFLAGS=`$PKG_CONFIG --cflags "krb5" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$KRB5_LIBS"; then
+    pkg_cv_KRB5_LIBS="$KRB5_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"krb5\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "krb5") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_KRB5_LIBS=`$PKG_CONFIG --libs "krb5" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               KRB5_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
"krb5" 2>&1`
+        else
+               KRB5_PKG_ERRORS=`$PKG_CONFIG --print-errors "krb5" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$KRB5_PKG_ERRORS" >&5
+
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+                KRB5_FOUND=no
+elif test $pkg_failed = untried; then
+       KRB5_FOUND=no
+else
+       KRB5_CFLAGS=$pkg_cv_KRB5_CFLAGS
+       KRB5_LIBS=$pkg_cv_KRB5_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       KRB5_FOUND=yes
+fi
+      if test "x${KRB5_FOUND}" = "xyes"; then
+         USE_EXTERNAL_KRB5=true
+      else
+         as_fn_error $? "--enable-system-kerberos specified, but Kerberos not 
found." "$LINENO" 5
+      fi
+  else
+      USE_EXTERNAL_KRB5=false
+  fi
+
+
+  
###############################################################################
+  #
+  # Check for the PCSC libraries
+  #
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the system 
libpcsclite installation" >&5
+$as_echo_n "checking whether to use the system libpcsclite installation... " 
>&6; }
+
+  # default is bundled
+  DEFAULT_SYSTEM_PCSC=no
+
+  # Check whether --enable-system-pcsc was given.
+if test "${enable_system_pcsc+set}" = set; then :
+  enableval=$enable_system_pcsc;
+    case "${enableval}" in
+      yes)
+        system_pcsc=yes
+        ;;
+      *)
+        system_pcsc=no
+        ;;
+    esac
+
+else
+
+    system_pcsc=${DEFAULT_SYSTEM_PCSC}
+
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $system_pcsc" >&5
+$as_echo "$system_pcsc" >&6; }
+
+  if test "x${system_pcsc}" = "xyes"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PCSC" >&5
+$as_echo_n "checking for PCSC... " >&6; }
+
+if test -n "$PCSC_CFLAGS"; then
+    pkg_cv_PCSC_CFLAGS="$PCSC_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"libpcsclite\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpcsclite") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PCSC_CFLAGS=`$PKG_CONFIG --cflags "libpcsclite" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$PCSC_LIBS"; then
+    pkg_cv_PCSC_LIBS="$PCSC_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists 
--print-errors \"libpcsclite\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpcsclite") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PCSC_LIBS=`$PKG_CONFIG --libs "libpcsclite" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               PCSC_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
"libpcsclite" 2>&1`
+        else
+               PCSC_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpcsclite" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$PCSC_PKG_ERRORS" >&5
+
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+                PCSC_FOUND=no
+elif test $pkg_failed = untried; then
+       PCSC_FOUND=no
+else
+       PCSC_CFLAGS=$pkg_cv_PCSC_CFLAGS
+       PCSC_LIBS=$pkg_cv_PCSC_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       PCSC_FOUND=yes
+fi
+      if test "x${PCSC_FOUND}" = "xyes"; then
+         USE_EXTERNAL_PCSC=true
+      else
+         as_fn_error $? "--enable-system-pcsc specified, but libpcsclite not 
found." "$LINENO" 5
+      fi
+  else
+      USE_EXTERNAL_PCSC=false
+  fi
+
+
+  
###############################################################################
+  #
+  # Check for the SCTP libraries
+  #
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use the system 
libsctp installation" >&5
+$as_echo_n "checking whether to use the system libsctp installation... " >&6; }
+
+  # default is bundled
+  DEFAULT_SYSTEM_SCTP=no
+
+  # Check whether --enable-system-sctp was given.
+if test "${enable_system_sctp+set}" = set; then :
+  enableval=$enable_system_sctp;
+    case "${enableval}" in
+      yes)
+        system_sctp=yes
+        ;;
+      *)
+        system_sctp=no
+        ;;
+    esac
+
+else
+
+    system_sctp=${DEFAULT_SYSTEM_SCTP}
+
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $system_sctp" >&5
+$as_echo "$system_sctp" >&6; }
+
+  if test "x${system_sctp}" = "xyes"; then
+            if test "x${SCTP_CFLAGS}" = "x"; then
+          ac_fn_cxx_check_header_mongrel "$LINENO" "netinet/sctp.h" 
"ac_cv_header_netinet_sctp_h" "$ac_includes_default"
+if test "x$ac_cv_header_netinet_sctp_h" = xyes; then :
+
+else
+  as_fn_error $? "Could not find SCTP header; install SCTP or build with 
--disable-system-sctp to use the in-tree copy." "$LINENO" 5
+fi
+
+
+      fi
+      if test "x${SCTP_LIBS}" = "x"; then
+          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sctp_bindx in 
-lsctp" >&5
+$as_echo_n "checking for sctp_bindx in -lsctp... " >&6; }
+if ${ac_cv_lib_sctp_sctp_bindx+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsctp  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char sctp_bindx ();
+int
+main ()
+{
+return sctp_bindx ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  ac_cv_lib_sctp_sctp_bindx=yes
+else
+  ac_cv_lib_sctp_sctp_bindx=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sctp_sctp_bindx" 
>&5
+$as_echo "$ac_cv_lib_sctp_sctp_bindx" >&6; }
+if test "x$ac_cv_lib_sctp_sctp_bindx" = xyes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBSCTP 1
+_ACEOF
+
+  LIBS="-lsctp $LIBS"
+
+else
+  as_fn_error $? "Could not find SCTP library; install SCTP or build with 
--disable-system-sctp to use the in-tree copy." "$LINENO" 5
+fi
+
+          SCTP_LIBS="-lsctp"
+      fi
+      USE_EXTERNAL_SCTP=true
+  else
+      USE_EXTERNAL_SCTP=false
+  fi
+
+
+
+
 
   
###############################################################################
   #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icedtea8-forest-453780834f92/common/autoconf/libraries.m4 
new/icedtea8-forest-200203ccf4bb/common/autoconf/libraries.m4
--- old/icedtea8-forest-453780834f92/common/autoconf/libraries.m4       
2016-07-25 07:38:20.000000000 +0200
+++ new/icedtea8-forest-200203ccf4bb/common/autoconf/libraries.m4       
2016-11-03 19:13:01.000000000 +0100
@@ -914,8 +914,10 @@
     #include <ft2build.h>
     #include FT_FREETYPE_H
     #ifndef FT_CONFIG_OPTION_INFINALITY_PATCHSET
+    #if TT_CONFIG_OPTION_SUBPIXEL_HINTING < 1
     #error Infinality not supported
     #endif
+    #endif
     ]])], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); \
       AC_MSG_ERROR([Infinality support requires infinality support in 
FreeType.])])
     CFLAGS=$CFLAGS_SAVED
@@ -923,6 +925,130 @@
     INFINALITY_SUPPORT=true
   fi
   AC_SUBST(INFINALITY_SUPPORT)
+
+  
###############################################################################
+  #
+  # Check for the Kerberos libraries
+  #
+
+  AC_MSG_CHECKING([whether to use the system Kerberos installation to obtain 
the cache location])
+
+  # default is bundled
+  DEFAULT_SYSTEM_KRB5=no
+
+  AC_ARG_ENABLE([system-kerberos], [AS_HELP_STRING([--enable-system-kerberos],
+     [use the system Kerberos to get the cache location @<:@disabled@:>@])],
+  [
+    case "${enableval}" in
+      yes)
+        system_krb5=yes
+        ;;
+      *)
+        system_krb5=no
+        ;;
+    esac
+  ],
+  [
+    system_krb5=${DEFAULT_SYSTEM_KRB5}
+  ])
+  AC_MSG_RESULT([$system_krb5])
+
+  if test "x${system_krb5}" = "xyes"; then
+      PKG_CHECK_MODULES(KRB5, krb5, [KRB5_FOUND=yes], [KRB5_FOUND=no])
+      if test "x${KRB5_FOUND}" = "xyes"; then
+         USE_EXTERNAL_KRB5=true
+      else
+         AC_MSG_ERROR([--enable-system-kerberos specified, but Kerberos not 
found.])
+      fi
+  else
+      USE_EXTERNAL_KRB5=false
+  fi
+  AC_SUBST(USE_EXTERNAL_KRB5)
+
+  
###############################################################################
+  #
+  # Check for the PCSC libraries
+  #
+
+  AC_MSG_CHECKING([whether to use the system libpcsclite installation])
+
+  # default is bundled
+  DEFAULT_SYSTEM_PCSC=no
+
+  AC_ARG_ENABLE([system-pcsc], [AS_HELP_STRING([--enable-system-pcsc],
+     [use the system libpcsclite @<:@disabled@:>@])],
+  [
+    case "${enableval}" in
+      yes)
+        system_pcsc=yes
+        ;;
+      *)
+        system_pcsc=no
+        ;;
+    esac
+  ],
+  [
+    system_pcsc=${DEFAULT_SYSTEM_PCSC}
+  ])
+  AC_MSG_RESULT([$system_pcsc])
+
+  if test "x${system_pcsc}" = "xyes"; then
+      PKG_CHECK_MODULES(PCSC, libpcsclite, [PCSC_FOUND=yes], [PCSC_FOUND=no])
+      if test "x${PCSC_FOUND}" = "xyes"; then
+         USE_EXTERNAL_PCSC=true
+      else
+         AC_MSG_ERROR([--enable-system-pcsc specified, but libpcsclite not 
found.])
+      fi
+  else
+      USE_EXTERNAL_PCSC=false
+  fi
+  AC_SUBST(USE_EXTERNAL_PCSC)
+
+  
###############################################################################
+  #
+  # Check for the SCTP libraries
+  #
+
+  AC_MSG_CHECKING([whether to use the system libsctp installation])
+
+  # default is bundled
+  DEFAULT_SYSTEM_SCTP=no
+
+  AC_ARG_ENABLE([system-sctp], [AS_HELP_STRING([--enable-system-sctp],
+     [use the system SCTP library @<:@disabled@:>@])],
+  [
+    case "${enableval}" in
+      yes)
+        system_sctp=yes
+        ;;
+      *)
+        system_sctp=no
+        ;;
+    esac
+  ],
+  [
+    system_sctp=${DEFAULT_SYSTEM_SCTP}
+  ])
+  AC_MSG_RESULT([$system_sctp])
+
+  if test "x${system_sctp}" = "xyes"; then
+      dnl Check for SCTP headers and libraries.
+      if test "x${SCTP_CFLAGS}" = "x"; then
+          AC_CHECK_HEADER([netinet/sctp.h],
+            , [AC_MSG_ERROR([Could not find SCTP header; install SCTP or build 
with --disable-system-sctp to use the in-tree copy.])])
+      fi
+      if test "x${SCTP_LIBS}" = "x"; then
+          AC_CHECK_LIB([sctp], [sctp_bindx],
+            , [AC_MSG_ERROR([Could not find SCTP library; install SCTP or 
build with --disable-system-sctp to use the in-tree copy.])])
+          SCTP_LIBS="-lsctp"
+      fi
+      USE_EXTERNAL_SCTP=true
+  else
+      USE_EXTERNAL_SCTP=false
+  fi
+  AC_ARG_VAR(SCTP_CFLAGS, [C compiler flags for the SCTP library])
+  AC_ARG_VAR(SCTP_LIBS, [linker flags for the SCTP library, overriding -lsctp])
+  AC_SUBST(USE_EXTERNAL_SCTP)
 ])
 
 AC_DEFUN_ONCE([LIB_SETUP_STATIC_LINK_LIBSTDCPP],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/icedtea8-forest-453780834f92/common/autoconf/spec.gmk.in 
new/icedtea8-forest-200203ccf4bb/common/autoconf/spec.gmk.in
--- old/icedtea8-forest-453780834f92/common/autoconf/spec.gmk.in        
2016-07-25 07:38:20.000000000 +0200
+++ new/icedtea8-forest-200203ccf4bb/common/autoconf/spec.gmk.in        
2016-11-03 19:13:01.000000000 +0100
@@ -680,6 +680,18 @@
 NSS_LIBS:=@NSS_LIBS@
 NSS_CFLAGS:=@NSS_CFLAGS@
 
+USE_EXTERNAL_KRB5:=@USE_EXTERNAL_KRB5@
+KRB5_LIBS:=@KRB5_LIBS@
+KRB5_CFLAGS:=@KRB5_CFLAGS@
+
+USE_EXTERNAL_PCSC:=@USE_EXTERNAL_PCSC@
+PCSC_LIBS:=@PCSC_LIBS@
+PCSC_CFLAGS:=@PCSC_CFLAGS@
+
+USE_EXTERNAL_SCTP:=@USE_EXTERNAL_SCTP@
+SCTP_LIBS:=@SCTP_LIBS@
+SCTP_CFLAGS:=@SCTP_CFLAGS@
+
 INFINALITY_SUPPORT:=@INFINALITY_SUPPORT@
 FONTCONFIG_LIBS:=@FONTCONFIG_LIBS@
 FONTCONFIG_CFLAGS:=@FONTCONFIG_CFLAGS@


Reply via email to