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