/hg/release/icedtea7-forest-2.1/jdk: 30 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Thu Apr 18 07:58:10 PDT 2013


changeset 37003fadbad8 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=37003fadbad8
author: anthony
date: Wed Jan 18 19:09:26 2012 +0400

	7130662: GTK file dialog crashes with a NPE
	Summary: Guard adding a back slash to the directory name with an if (!= null) check
	Reviewed-by: anthony, art
	Contributed-by: Matt <melkor at orangepalantir.org>


changeset b3c4cb100f47 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=b3c4cb100f47
author: andrew
date: Wed Apr 17 23:45:18 2013 +0100

	6657673: Issues with JAXP
	Reviewed-by: alanb, lancea, ahgross, mullan


changeset 127b6047cea5 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=127b6047cea5
author: malenkov
date: Fri Feb 08 18:06:56 2013 +0400

	7200507: Refactor Introspector internals
	Reviewed-by: ahgross, art


changeset 625e0cbac8e6 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=625e0cbac8e6
author: andrew
date: Wed Apr 17 23:47:37 2013 +0100

	8000724: Improve networking serialization
	Summary: delegate InetAddress fields to a holder object
	Reviewed-by: alanb, chegar


changeset c29c31915f78 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=c29c31915f78
author: andrew
date: Wed Apr 10 17:27:39 2013 +0100

	8004986: Better handling of glyph table
	8004987: Improve font layout
	8004994: Improve checking of glyph table
	Reviewed-by: bae, mschoene, jgodinez
	Contributed-by: steven.loomis at oracle.com


changeset cd1f77ec3f92 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=cd1f77ec3f92
author: andrew
date: Wed Apr 10 22:07:37 2013 +0100

	8001031: Better font processing.
	Reviewed-by: vadim, prr, mschoene


changeset 8d81b73d62cf in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=8d81b73d62cf
author: andrew
date: Wed Apr 10 23:02:46 2013 +0100

	8001040: Rework RMI model
	Reviewed-by: alanb, ahgross, coffeys, dmocek


changeset 419761887dd7 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=419761887dd7
author: dfuchs
date: Mon Mar 11 15:07:19 2013 +0100

	8001322: Refactor deserialization
	Reviewed-by: mchung, skoivu, smarks


changeset 396c04a8c465 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=396c04a8c465
author: dmocek
date: Tue Feb 05 16:38:25 2013 -0800

	8001329: Augment RMI logging
	Reviewed-by: smarks, hawtin, alanb


changeset bb41c7eaa674 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=bb41c7eaa674
author: chegar
date: Thu Dec 20 13:40:27 2012 +0000

	8003335: Better handling of Finalizer thread
	Reviewed-by: alanb, ahgross


changeset 7e6563f7851e in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=7e6563f7851e
author: andrew
date: Wed Apr 17 23:48:54 2013 +0100

	8003445: Adjust JAX-WS to focus on API
	Reviewed-by: vinnie, ahgross, mgrebac


changeset e71d4707dd4c in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=e71d4707dd4c
author: serb
date: Tue Feb 19 20:40:48 2013 +0400

	8004261: Improve input validation
	Reviewed-by: art, mschoene, amenkov


changeset 3b7d35921eec in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=3b7d35921eec
author: andrew
date: Wed Apr 17 23:49:28 2013 +0100

	8005432: Update access to JAX-WS
	Summary: newly restricted the whole package com.sun.xml.internal; fix reviewed also by Alexander Fomin
	Reviewed-by: mullan, skoivu


changeset e14abcc3c294 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=e14abcc3c294
author: uta
date: Tue Feb 26 15:58:40 2013 +0400

	8005943: (process) Improved Runtime.exec
	Reviewed-by: alanb, ahgross


changeset 13ddee59e6f8 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=13ddee59e6f8
author: dsamersoff
date: Mon Feb 25 20:06:22 2013 +0400

	8006435: Improvements in JMX
	Summary: Improvements in JMX
	Reviewed-by: dfuchs, skoivu


changeset cf788fcc3614 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=cf788fcc3614
author: andrew
date: Wed Apr 17 23:49:59 2013 +0100

	8006790: Improve checking for windows
	Reviewed-by: art, mschoene


changeset 54324eb2e0a9 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=54324eb2e0a9
author: prr
date: Thu Feb 07 12:14:31 2013 -0800

	8006795: Improve font warning messages
	Reviewed-by: bae, jgodinez, mschoene


changeset 022d446c4771 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=022d446c4771
author: raginip
date: Fri Mar 01 14:06:10 2013 +0000

	8007406: Improve accessibility of AccessBridge
	Reviewed-by: skoivu, mullan, ptbrunet


changeset 0b2dc7912f10 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=0b2dc7912f10
author: bae
date: Fri Feb 22 15:14:25 2013 +0400

	8007617: Better validation of images
	Reviewed-by: prr, jgodinez


changeset 39d2cd3250bd in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=39d2cd3250bd
author: bae
date: Tue Feb 26 00:15:17 2013 +0400

	8007667: Better image reading
	Reviewed-by: prr, jgodinez


changeset a4fe7a868b18 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=a4fe7a868b18
author: andrew
date: Wed Apr 10 23:35:45 2013 +0100

	8007918: Better image writing
	Reviewed-by: prr, jgodinez


changeset 78dfaa989a38 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=78dfaa989a38
author: vlivanov
date: Fri Mar 01 03:50:33 2013 +0400

	8008140: Better method handle resolution
	Reviewed-by: jrose, twisti, jdn


changeset ba3e07024008 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=ba3e07024008
author: vlivanov
date: Fri Mar 01 03:50:17 2013 +0400

	8009049: Better method handle binding
	Reviewed-by: jrose, twisti, jdn


changeset 5b067978a725 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=5b067978a725
author: andrew
date: Wed Apr 17 23:16:21 2013 +0100

	8009063: Improve reliability of ConcurrentHashMap
	Reviewed-by: alanb, ahgross


changeset 8abc50bce580 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=8abc50bce580
author: dfuchs
date: Thu Mar 14 17:27:32 2013 +0100

	8009305: Improve AWT data transfer
	Reviewed-by: art, skoivu, smarks, ant


changeset b836de51e07a in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=b836de51e07a
author: andrew
date: Wed Apr 17 23:54:20 2013 +0100

	8009677: Better setting of setters
	Reviewed-by: ahgross, jrose, twisti


changeset 29b45a693cf0 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=29b45a693cf0
author: lancea
date: Sat Mar 16 10:08:14 2013 -0400

	8009814: Better driver management
	Reviewed-by: alanb, skoivu


changeset 9edf8a6832d2 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=9edf8a6832d2
author: smarks
date: Mon Mar 18 18:05:31 2013 -0700

	8009857: Problem with plugin
	Reviewed-by: jdn, mchung


changeset acaa2de9f547 in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=acaa2de9f547
author: andrew
date: Mon Apr 15 23:39:14 2013 +0100

	Handle bad font in TCK


changeset 2d91409e8c5d in /hg/release/icedtea7-forest-2.1/jdk
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/jdk?cmd=changeset;node=2d91409e8c5d
author: andrew
date: Thu Apr 18 15:05:19 2013 +0100

	Added tag icedtea-2.1.8 for changeset acaa2de9f547


diffstat:

 .hgtags                                                                        |    1 +
 src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java            |  293 ++++-
 src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java            |  147 ++-
 src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java               |    6 +-
 src/share/classes/com/sun/media/sound/AbstractMidiDevice.java                  |   25 +-
 src/share/classes/com/sun/media/sound/FastShortMessage.java                    |    2 +-
 src/share/classes/com/sun/media/sound/FastSysexMessage.java                    |    2 +-
 src/share/classes/com/sun/media/sound/MidiOutDevice.java                       |   16 +-
 src/share/classes/com/sun/media/sound/RealTimeSequencer.java                   |    2 +-
 src/share/classes/java/awt/Window.java                                         |    4 +-
 src/share/classes/java/awt/peer/WindowPeer.java                                |   13 +-
 src/share/classes/java/beans/ThreadGroupContext.java                           |    7 +-
 src/share/classes/java/beans/WeakIdentityMap.java                              |  181 +++
 src/share/classes/java/io/ObjectInputStream.java                               |   19 +
 src/share/classes/java/lang/ProcessBuilder.java                                |   19 +-
 src/share/classes/java/lang/invoke/MethodHandles.java                          |   36 +-
 src/share/classes/java/lang/ref/Finalizer.java                                 |   18 +-
 src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java                |    2 +-
 src/share/classes/java/net/Inet4Address.java                                   |   39 +-
 src/share/classes/java/net/Inet4AddressImpl.java                               |    2 +-
 src/share/classes/java/net/Inet6Address.java                                   |   19 +-
 src/share/classes/java/net/Inet6AddressImpl.java                               |    2 +-
 src/share/classes/java/net/InetAddress.java                                    |  120 +-
 src/share/classes/java/net/InetSocketAddress.java                              |    4 +-
 src/share/classes/java/rmi/server/LogStream.java                               |    9 +-
 src/share/classes/java/sql/DriverManager.java                                  |    4 +-
 src/share/classes/java/util/concurrent/ConcurrentHashMap.java                  |   28 +-
 src/share/classes/sun/awt/EmbeddedFrame.java                                   |    4 +-
 src/share/classes/sun/awt/datatransfer/TransferableProxy.java                  |   20 +-
 src/share/classes/sun/awt/image/ImageRepresentation.java                       |   19 +-
 src/share/classes/sun/font/CMap.java                                           |    3 -
 src/share/classes/sun/invoke/util/Wrapper.java                                 |    3 +
 src/share/classes/sun/reflect/misc/MethodUtil.java                             |   40 +-
 src/share/classes/sun/reflect/misc/ReflectUtil.java                            |   10 +-
 src/share/classes/sun/rmi/server/MarshalInputStream.java                       |   14 +-
 src/share/lib/security/java.security                                           |   40 +-
 src/share/lib/security/java.security-solaris                                   |   40 +-
 src/share/lib/security/java.security-windows                                   |   42 +-
 src/share/native/java/net/InetAddress.c                                        |   23 +-
 src/share/native/java/net/net_util.c                                           |   70 +-
 src/share/native/java/net/net_util.h                                           |   12 +-
 src/share/native/sun/awt/image/awt_ImageRep.c                                  |  173 ++-
 src/share/native/sun/awt/image/jpeg/imageioJPEG.c                              |   45 +-
 src/share/native/sun/font/FontInstanceAdapter.cpp                              |   47 +-
 src/share/native/sun/font/FontInstanceAdapter.h                                |    1 +
 src/share/native/sun/font/fontscalerdefs.h                                     |   21 +-
 src/share/native/sun/font/layout/AlternateSubstSubtables.cpp                   |   11 +-
 src/share/native/sun/font/layout/AlternateSubstSubtables.h                     |    6 +-
 src/share/native/sun/font/layout/ArabicLayoutEngine.cpp                        |   36 +-
 src/share/native/sun/font/layout/ArabicLayoutEngine.h                          |    2 +-
 src/share/native/sun/font/layout/ArabicShaping.cpp                             |   14 +-
 src/share/native/sun/font/layout/ArabicShaping.h                               |    2 +
 src/share/native/sun/font/layout/AttachmentPosnSubtables.h                     |    6 +-
 src/share/native/sun/font/layout/CanonData.cpp                                 |    5 +
 src/share/native/sun/font/layout/CanonShaping.cpp                              |   10 +-
 src/share/native/sun/font/layout/CanonShaping.h                                |    2 +
 src/share/native/sun/font/layout/ClassDefinitionTables.cpp                     |  104 +-
 src/share/native/sun/font/layout/ClassDefinitionTables.h                       |   27 +-
 src/share/native/sun/font/layout/ContextualGlyphSubstProc.cpp                  |   48 +-
 src/share/native/sun/font/layout/ContextualGlyphSubstProc.h                    |    8 +-
 src/share/native/sun/font/layout/ContextualSubstSubtables.cpp                  |    8 +-
 src/share/native/sun/font/layout/ContextualSubstSubtables.h                    |   22 +
 src/share/native/sun/font/layout/CoverageTables.h                              |    3 +
 src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp                |    6 +-
 src/share/native/sun/font/layout/CursiveAttachmentSubtables.h                  |    3 +-
 src/share/native/sun/font/layout/DeviceTables.h                                |    1 +
 src/share/native/sun/font/layout/ExtensionSubtables.cpp                        |    8 +-
 src/share/native/sun/font/layout/Features.cpp                                  |   12 +-
 src/share/native/sun/font/layout/GDEFMarkFilter.cpp                            |    7 +-
 src/share/native/sun/font/layout/GDEFMarkFilter.h                              |    4 +-
 src/share/native/sun/font/layout/GXLayoutEngine.cpp                            |    5 +-
 src/share/native/sun/font/layout/GXLayoutEngine.h                              |    4 +-
 src/share/native/sun/font/layout/GlyphDefinitionTables.cpp                     |   28 +-
 src/share/native/sun/font/layout/GlyphDefinitionTables.h                       |   20 +-
 src/share/native/sun/font/layout/GlyphIterator.cpp                             |   27 +-
 src/share/native/sun/font/layout/GlyphIterator.h                               |    6 +-
 src/share/native/sun/font/layout/GlyphLookupTables.cpp                         |   15 +-
 src/share/native/sun/font/layout/GlyphLookupTables.h                           |    4 +-
 src/share/native/sun/font/layout/GlyphPositioningTables.cpp                    |    6 +-
 src/share/native/sun/font/layout/GlyphPositioningTables.h                      |    5 +-
 src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp                       |   36 +-
 src/share/native/sun/font/layout/GlyphPosnLookupProc.h                         |    4 +-
 src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp                      |   28 +-
 src/share/native/sun/font/layout/GlyphSubstLookupProc.h                        |    4 +-
 src/share/native/sun/font/layout/GlyphSubstitutionTables.cpp                   |    7 +-
 src/share/native/sun/font/layout/GlyphSubstitutionTables.h                     |    5 +-
 src/share/native/sun/font/layout/HanLayoutEngine.cpp                           |    2 +-
 src/share/native/sun/font/layout/HanLayoutEngine.h                             |    2 +-
 src/share/native/sun/font/layout/HangulLayoutEngine.cpp                        |    2 +-
 src/share/native/sun/font/layout/HangulLayoutEngine.h                          |    2 +-
 src/share/native/sun/font/layout/ICUFeatures.h                                 |    9 +-
 src/share/native/sun/font/layout/IndicLayoutEngine.cpp                         |    2 +-
 src/share/native/sun/font/layout/IndicLayoutEngine.h                           |    2 +-
 src/share/native/sun/font/layout/IndicRearrangementProcessor.cpp               |   14 +-
 src/share/native/sun/font/layout/IndicRearrangementProcessor.h                 |    7 +-
 src/share/native/sun/font/layout/IndicReordering.cpp                           |    5 +
 src/share/native/sun/font/layout/KernTable.cpp                                 |   55 +-
 src/share/native/sun/font/layout/KernTable.h                                   |   12 +-
 src/share/native/sun/font/layout/KhmerLayoutEngine.cpp                         |    2 +-
 src/share/native/sun/font/layout/KhmerLayoutEngine.h                           |    2 +-
 src/share/native/sun/font/layout/LEFontInstance.h                              |   19 +
 src/share/native/sun/font/layout/LEScripts.h                                   |   22 +-
 src/share/native/sun/font/layout/LETableReference.h                            |  497 ++++++++++
 src/share/native/sun/font/layout/LETypes.h                                     |   45 +-
 src/share/native/sun/font/layout/LayoutEngine.cpp                              |  103 +-
 src/share/native/sun/font/layout/LayoutEngine.h                                |    8 +-
 src/share/native/sun/font/layout/LigatureSubstProc.cpp                         |   68 +-
 src/share/native/sun/font/layout/LigatureSubstProc.h                           |    6 +-
 src/share/native/sun/font/layout/LigatureSubstSubtables.cpp                    |    4 +-
 src/share/native/sun/font/layout/LigatureSubstSubtables.h                      |    5 +-
 src/share/native/sun/font/layout/LookupProcessor.cpp                           |  127 +-
 src/share/native/sun/font/layout/LookupProcessor.h                             |   19 +-
 src/share/native/sun/font/layout/LookupTables.cpp                              |   29 +-
 src/share/native/sun/font/layout/LookupTables.h                                |   10 +-
 src/share/native/sun/font/layout/Lookups.cpp                                   |   36 +-
 src/share/native/sun/font/layout/Lookups.h                                     |   29 +-
 src/share/native/sun/font/layout/MarkArrays.h                                  |    1 +
 src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp                   |    6 +-
 src/share/native/sun/font/layout/MarkToBasePosnSubtables.h                     |    4 +-
 src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp               |    6 +-
 src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.h                 |    5 +-
 src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp                   |    6 +-
 src/share/native/sun/font/layout/MarkToMarkPosnSubtables.h                     |    4 +-
 src/share/native/sun/font/layout/MorphTables.cpp                               |   40 +-
 src/share/native/sun/font/layout/MorphTables.h                                 |    7 +-
 src/share/native/sun/font/layout/MultipleSubstSubtables.cpp                    |    4 +-
 src/share/native/sun/font/layout/MultipleSubstSubtables.h                      |    4 +-
 src/share/native/sun/font/layout/NonContextualGlyphSubstProc.cpp               |   23 +-
 src/share/native/sun/font/layout/NonContextualGlyphSubstProc.h                 |    6 +-
 src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp                      |   81 +-
 src/share/native/sun/font/layout/OpenTypeLayoutEngine.h                        |   16 +-
 src/share/native/sun/font/layout/OpenTypeTables.h                              |    3 +-
 src/share/native/sun/font/layout/OpenTypeUtilities.cpp                         |   98 +-
 src/share/native/sun/font/layout/OpenTypeUtilities.h                           |   13 +-
 src/share/native/sun/font/layout/PairPositioningSubtables.cpp                  |   27 +-
 src/share/native/sun/font/layout/PairPositioningSubtables.h                    |   10 +-
 src/share/native/sun/font/layout/ScriptAndLanguage.cpp                         |   65 +-
 src/share/native/sun/font/layout/ScriptAndLanguage.h                           |    9 +-
 src/share/native/sun/font/layout/SegmentArrayProcessor.cpp                     |   20 +-
 src/share/native/sun/font/layout/SegmentArrayProcessor.h                       |    6 +-
 src/share/native/sun/font/layout/SegmentSingleProcessor.cpp                    |   17 +-
 src/share/native/sun/font/layout/SegmentSingleProcessor.h                      |    6 +-
 src/share/native/sun/font/layout/ShapingTypeData.cpp                           |    2 +
 src/share/native/sun/font/layout/SimpleArrayProcessor.cpp                      |   20 +-
 src/share/native/sun/font/layout/SimpleArrayProcessor.h                        |    6 +-
 src/share/native/sun/font/layout/SinglePositioningSubtables.cpp                |   18 +-
 src/share/native/sun/font/layout/SinglePositioningSubtables.h                  |    7 +-
 src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp               |   18 +-
 src/share/native/sun/font/layout/SingleSubstitutionSubtables.h                 |    7 +-
 src/share/native/sun/font/layout/SingleTableProcessor.cpp                      |   13 +-
 src/share/native/sun/font/layout/SingleTableProcessor.h                        |    6 +-
 src/share/native/sun/font/layout/StateTableProcessor.cpp                       |   24 +-
 src/share/native/sun/font/layout/StateTableProcessor.h                         |    9 +-
 src/share/native/sun/font/layout/StateTables.h                                 |   36 +
 src/share/native/sun/font/layout/SubtableProcessor.cpp                         |    6 +-
 src/share/native/sun/font/layout/SubtableProcessor.h                           |    6 +-
 src/share/native/sun/font/layout/ThaiLayoutEngine.cpp                          |    9 +-
 src/share/native/sun/font/layout/TibetanLayoutEngine.cpp                       |    2 +-
 src/share/native/sun/font/layout/TibetanLayoutEngine.h                         |    2 +-
 src/share/native/sun/font/layout/TrimmedArrayProcessor.cpp                     |   20 +-
 src/share/native/sun/font/layout/TrimmedArrayProcessor.h                       |    6 +-
 src/share/native/sun/font/layout/ValueRecords.h                                |    1 +
 src/share/native/sun/font/sunFont.c                                            |   18 +-
 src/solaris/classes/sun/awt/X11/GtkFileDialogPeer.java                         |    9 +-
 src/solaris/classes/sun/awt/X11/XWindowPeer.java                               |    6 +-
 src/solaris/native/java/net/Inet4AddressImpl.c                                 |   11 +-
 src/solaris/native/java/net/Inet6AddressImpl.c                                 |   13 +-
 src/solaris/native/java/net/NetworkInterface.c                                 |   13 +-
 src/solaris/native/java/net/PlainDatagramSocketImpl.c                          |   55 +-
 src/solaris/native/java/net/net_util_md.c                                      |    6 +-
 src/windows/classes/java/lang/ProcessImpl.java                                 |  125 ++-
 src/windows/classes/sun/awt/windows/WFileDialogPeer.java                       |    4 +-
 src/windows/classes/sun/awt/windows/WPrintDialogPeer.java                      |    4 +-
 src/windows/classes/sun/awt/windows/WWindowPeer.java                           |    6 +-
 src/windows/native/java/net/Inet4AddressImpl.c                                 |   14 +-
 src/windows/native/java/net/Inet6AddressImpl.c                                 |   13 +-
 src/windows/native/java/net/NetworkInterface.c                                 |    9 +-
 src/windows/native/java/net/NetworkInterface.h                                 |    1 -
 src/windows/native/java/net/NetworkInterface_winXP.c                           |    6 +-
 src/windows/native/java/net/TwoStacksPlainDatagramSocketImpl.c                 |   52 +-
 src/windows/native/java/net/TwoStacksPlainSocketImpl.c                         |    9 +-
 src/windows/native/java/net/net_util_md.c                                      |    6 +-
 test/Makefile                                                                  |    2 +-
 test/java/rmi/registry/classPathCodebase/ClassPathCodebase.java                |    3 +-
 test/java/rmi/registry/readTest/readTest.sh                                    |    3 +-
 test/java/rmi/server/RMIClassLoader/downloadArrayClass/DownloadArrayClass.java |    4 +
 test/java/rmi/server/RMIClassLoader/downloadArrayClass/security.policy         |    2 +
 test/java/rmi/server/RMIClassLoader/loadProxyClasses/LoadProxyClasses.java     |    3 +-
 test/java/rmi/testlibrary/RMID.java                                            |    3 +
 189 files changed, 3199 insertions(+), 1257 deletions(-)

diffs (truncated from 9850 to 500 lines):

diff -r 1040c44a496d -r 2d91409e8c5d .hgtags
--- a/.hgtags	Mon Mar 11 08:14:04 2013 +0000
+++ b/.hgtags	Thu Apr 18 15:05:19 2013 +0100
@@ -166,3 +166,4 @@
 0000000000000000000000000000000000000000 icedtea-2.1.6
 31e42bc321027abccb9fb8135f13d63bea0fa762 icedtea-2.1.6
 2989f7467d8345a2fc32416223fd6eafe96037f2 icedtea-2.1.7
+acaa2de9f547c4e6936e4297428599f0b0d4d64b icedtea-2.1.8
diff -r 1040c44a496d -r 2d91409e8c5d src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
--- a/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java	Mon Mar 11 08:14:04 2013 +0000
+++ b/src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java	Thu Apr 18 15:05:19 2013 +0100
@@ -238,12 +238,17 @@
      * sending warnings to listeners.
      */
     protected void warningOccurred(int code) {
-        if ((code < 0) || (code > MAX_WARNING)){
-            throw new InternalError("Invalid warning index");
+        cbLock.lock();
+        try {
+            if ((code < 0) || (code > MAX_WARNING)){
+                throw new InternalError("Invalid warning index");
+            }
+            processWarningOccurred
+                ("com.sun.imageio.plugins.jpeg.JPEGImageReaderResources",
+                 Integer.toString(code));
+        } finally {
+            cbLock.unlock();
         }
-        processWarningOccurred
-            ("com.sun.imageio.plugins.jpeg.JPEGImageReaderResources",
-             Integer.toString(code));
     }
 
     /**
@@ -260,7 +265,12 @@
      * library warnings from being printed to stderr.
      */
     protected void warningWithMessage(String msg) {
-        processWarningOccurred(msg);
+        cbLock.lock();
+        try {
+            processWarningOccurred(msg);
+        } finally {
+            cbLock.unlock();
+        }
     }
 
     public void setInput(Object input,
@@ -269,18 +279,55 @@
     {
         setThreadLock();
         try {
+            cbLock.check();
+
             super.setInput(input, seekForwardOnly, ignoreMetadata);
             this.ignoreMetadata = ignoreMetadata;
             resetInternalState();
             iis = (ImageInputStream) input; // Always works
-            setSource(structPointer, iis);
+            setSource(structPointer);
         } finally {
             clearThreadLock();
         }
     }
 
-    private native void setSource(long structPointer,
-                                  ImageInputStream source);
+    /**
+     * This method is called from native code in order to fill
+     * native input buffer.
+     *
+     * We block any attempt to change the reading state during this
+     * method, in order to prevent a corruption of the native decoder
+     * state.
+     *
+     * @return number of bytes read from the stream.
+     */
+    private int readInputData(byte[] buf, int off, int len) throws IOException {
+        cbLock.lock();
+        try {
+            return iis.read(buf, off, len);
+        } finally {
+            cbLock.unlock();
+        }
+    }
+
+    /**
+     * This method is called from the native code in order to
+     * skip requested number of bytes in the input stream.
+     *
+     * @param n
+     * @return
+     * @throws IOException
+     */
+    private long skipInputBytes(long n) throws IOException {
+        cbLock.lock();
+        try {
+            return iis.skipBytes(n);
+        } finally {
+            cbLock.unlock();
+        }
+    }
+
+    private native void setSource(long structPointer);
 
     private void checkTablesOnly() throws IOException {
         if (debug) {
@@ -332,6 +379,8 @@
     public int getNumImages(boolean allowSearch) throws IOException {
         setThreadLock();
         try { // locked thread
+            cbLock.check();
+
             return getNumImagesOnThread(allowSearch);
         } finally {
             clearThreadLock();
@@ -531,8 +580,13 @@
         if (debug) {
             System.out.println("pushing back " + num + " bytes");
         }
-        iis.seek(iis.getStreamPosition()-num);
-        // The buffer is clear after this, so no need to set haveSeeked.
+        cbLock.lock();
+        try {
+            iis.seek(iis.getStreamPosition()-num);
+            // The buffer is clear after this, so no need to set haveSeeked.
+        } finally {
+            cbLock.unlock();
+        }
     }
 
     /**
@@ -639,7 +693,12 @@
                  * Ignore this profile.
                  */
                 iccCS = null;
-                warningOccurred(WARNING_IGNORE_INVALID_ICC);
+                cbLock.lock();
+                try {
+                    warningOccurred(WARNING_IGNORE_INVALID_ICC);
+                } finally {
+                    cbLock.unlock();
+                }
             }
         }
     }
@@ -648,6 +707,7 @@
         setThreadLock();
         try {
             if (currentImage != imageIndex) {
+                cbLock.check();
                 readHeader(imageIndex, true);
             }
             return width;
@@ -660,6 +720,7 @@
         setThreadLock();
         try {
             if (currentImage != imageIndex) {
+                cbLock.check();
                 readHeader(imageIndex, true);
             }
             return height;
@@ -688,6 +749,8 @@
         setThreadLock();
         try {
             if (currentImage != imageIndex) {
+                cbLock.check();
+
                 readHeader(imageIndex, true);
             }
 
@@ -711,6 +774,7 @@
     private Iterator getImageTypesOnThread(int imageIndex)
         throws IOException {
         if (currentImage != imageIndex) {
+            cbLock.check();
             readHeader(imageIndex, true);
         }
 
@@ -926,6 +990,7 @@
         setThreadLock();
         try {
             if (!tablesOnlyChecked) {
+                cbLock.check();
                 checkTablesOnly();
             }
             return streamMetadata;
@@ -946,6 +1011,8 @@
                 return imageMetadata;
             }
 
+            cbLock.check();
+
             gotoImage(imageIndex);
 
             imageMetadata = new JPEGMetadata(false, false, iis, this);
@@ -962,6 +1029,7 @@
         throws IOException {
         setThreadLock();
         try {
+            cbLock.check();
             try {
                 readInternal(imageIndex, param, false);
             } catch (RuntimeException e) {
@@ -1191,58 +1259,63 @@
         }
         target.setRect(destROI.x, destROI.y + y, raster);
 
-        processImageUpdate(image,
-                           destROI.x, destROI.y+y,
-                           raster.getWidth(), 1,
-                           1, 1,
-                           destinationBands);
-        if ((y > 0) && (y%progInterval == 0)) {
-            int height = target.getHeight()-1;
-            float percentOfPass = ((float)y)/height;
-            if (progressive) {
-                if (knownPassCount != UNKNOWN) {
-                    processImageProgress((pass + percentOfPass)*100.0F
-                                         / knownPassCount);
-                } else if (maxProgressivePass != Integer.MAX_VALUE) {
-                    // Use the range of allowed progressive passes
-                    processImageProgress((pass + percentOfPass)*100.0F
-                        / (maxProgressivePass - minProgressivePass + 1));
+        cbLock.lock();
+        try {
+            processImageUpdate(image,
+                               destROI.x, destROI.y+y,
+                               raster.getWidth(), 1,
+                               1, 1,
+                               destinationBands);
+            if ((y > 0) && (y%progInterval == 0)) {
+                int height = target.getHeight()-1;
+                float percentOfPass = ((float)y)/height;
+                if (progressive) {
+                    if (knownPassCount != UNKNOWN) {
+                        processImageProgress((pass + percentOfPass)*100.0F
+                                             / knownPassCount);
+                    } else if (maxProgressivePass != Integer.MAX_VALUE) {
+                        // Use the range of allowed progressive passes
+                        processImageProgress((pass + percentOfPass)*100.0F
+                                             / (maxProgressivePass - minProgressivePass + 1));
+                    } else {
+                        // Assume there are a minimum of MIN_ESTIMATED_PASSES
+                        // and that there is always one more pass
+                        // Compute the percentage as the percentage at the end
+                        // of the previous pass, plus the percentage of this
+                        // pass scaled to be the percentage of the total remaining,
+                        // assuming a minimum of MIN_ESTIMATED_PASSES passes and
+                        // that there is always one more pass.  This is monotonic
+                        // and asymptotic to 1.0, which is what we need.
+                        int remainingPasses = // including this one
+                            Math.max(2, MIN_ESTIMATED_PASSES-pass);
+                        int totalPasses = pass + remainingPasses-1;
+                        progInterval = Math.max(height/20*totalPasses,
+                                                totalPasses);
+                        if (y%progInterval == 0) {
+                            percentToDate = previousPassPercentage +
+                                (1.0F - previousPassPercentage)
+                                * (percentOfPass)/remainingPasses;
+                            if (debug) {
+                                System.out.print("pass= " + pass);
+                                System.out.print(", y= " + y);
+                                System.out.print(", progInt= " + progInterval);
+                                System.out.print(", % of pass: " + percentOfPass);
+                                System.out.print(", rem. passes: "
+                                                 + remainingPasses);
+                                System.out.print(", prev%: "
+                                                 + previousPassPercentage);
+                                System.out.print(", %ToDate: " + percentToDate);
+                                System.out.print(" ");
+                            }
+                            processImageProgress(percentToDate*100.0F);
+                        }
+                    }
                 } else {
-                    // Assume there are a minimum of MIN_ESTIMATED_PASSES
-                    // and that there is always one more pass
-                    // Compute the percentage as the percentage at the end
-                    // of the previous pass, plus the percentage of this
-                    // pass scaled to be the percentage of the total remaining,
-                    // assuming a minimum of MIN_ESTIMATED_PASSES passes and
-                    // that there is always one more pass.  This is monotonic
-                    // and asymptotic to 1.0, which is what we need.
-                    int remainingPasses = // including this one
-                        Math.max(2, MIN_ESTIMATED_PASSES-pass);
-                    int totalPasses = pass + remainingPasses-1;
-                    progInterval = Math.max(height/20*totalPasses,
-                                            totalPasses);
-                    if (y%progInterval == 0) {
-                        percentToDate = previousPassPercentage +
-                            (1.0F - previousPassPercentage)
-                            * (percentOfPass)/remainingPasses;
-                        if (debug) {
-                            System.out.print("pass= " + pass);
-                            System.out.print(", y= " + y);
-                            System.out.print(", progInt= " + progInterval);
-                            System.out.print(", % of pass: " + percentOfPass);
-                            System.out.print(", rem. passes: "
-                                             + remainingPasses);
-                            System.out.print(", prev%: "
-                                             + previousPassPercentage);
-                            System.out.print(", %ToDate: " + percentToDate);
-                            System.out.print(" ");
-                        }
-                        processImageProgress(percentToDate*100.0F);
-                    }
+                    processImageProgress(percentOfPass * 100.0F);
                 }
-            } else {
-                processImageProgress(percentOfPass * 100.0F);
             }
+        } finally {
+            cbLock.unlock();
         }
     }
 
@@ -1255,33 +1328,58 @@
     }
 
     private void passStarted (int pass) {
-        this.pass = pass;
-        previousPassPercentage = percentToDate;
-        processPassStarted(image,
-                           pass,
-                           minProgressivePass,
-                           maxProgressivePass,
-                           0, 0,
-                           1,1,
-                           destinationBands);
+        cbLock.lock();
+        try {
+            this.pass = pass;
+            previousPassPercentage = percentToDate;
+            processPassStarted(image,
+                               pass,
+                               minProgressivePass,
+                               maxProgressivePass,
+                               0, 0,
+                               1,1,
+                               destinationBands);
+        } finally {
+            cbLock.unlock();
+        }
     }
 
     private void passComplete () {
-        processPassComplete(image);
+        cbLock.lock();
+        try {
+            processPassComplete(image);
+        } finally {
+            cbLock.unlock();
+        }
     }
 
     void thumbnailStarted(int thumbnailIndex) {
-        processThumbnailStarted(currentImage, thumbnailIndex);
+        cbLock.lock();
+        try {
+            processThumbnailStarted(currentImage, thumbnailIndex);
+        } finally {
+            cbLock.unlock();
+        }
     }
 
     // Provide access to protected superclass method
     void thumbnailProgress(float percentageDone) {
-        processThumbnailProgress(percentageDone);
+        cbLock.lock();
+        try {
+            processThumbnailProgress(percentageDone);
+        } finally {
+            cbLock.unlock();
+        }
     }
 
     // Provide access to protected superclass method
     void thumbnailComplete() {
-        processThumbnailComplete();
+        cbLock.lock();
+        try {
+            processThumbnailComplete();
+        } finally {
+            cbLock.unlock();
+        }
     }
 
     /**
@@ -1305,6 +1403,11 @@
     public void abort() {
         setThreadLock();
         try {
+            /**
+             * NB: we do not check the call back lock here,
+             * we allow to abort the reader any time.
+             */
+
             super.abort();
             abortRead(structPointer);
         } finally {
@@ -1327,6 +1430,7 @@
         setThreadLock();
         Raster retval = null;
         try {
+            cbLock.check();
             /*
              * This could be further optimized by not resetting the dest.
              * offset and creating a translated raster in readInternal()
@@ -1366,6 +1470,8 @@
     public int getNumThumbnails(int imageIndex) throws IOException {
         setThreadLock();
         try {
+            cbLock.check();
+
             getImageMetadata(imageIndex);  // checks iis state for us
             // Now check the jfif segments
             JFIFMarkerSegment jfif =
@@ -1386,6 +1492,8 @@
         throws IOException {
         setThreadLock();
         try {
+            cbLock.check();
+
             if ((thumbnailIndex < 0)
                 || (thumbnailIndex >= getNumThumbnails(imageIndex))) {
                 throw new IndexOutOfBoundsException("No such thumbnail");
@@ -1404,6 +1512,8 @@
         throws IOException {
         setThreadLock();
         try {
+            cbLock.check();
+
             if ((thumbnailIndex < 0)
                 || (thumbnailIndex >= getNumThumbnails(imageIndex))) {
                 throw new IndexOutOfBoundsException("No such thumbnail");
@@ -1423,6 +1533,8 @@
         throws IOException {
         setThreadLock();
         try {
+            cbLock.check();
+
             if ((thumbnailIndex < 0)
                 || (thumbnailIndex >= getNumThumbnails(imageIndex))) {
                 throw new IndexOutOfBoundsException("No such thumbnail");
@@ -1463,6 +1575,7 @@
     public void reset() {
         setThreadLock();
         try {
+            cbLock.check();
             super.reset();
         } finally {
             clearThreadLock();
@@ -1474,6 +1587,8 @@
     public void dispose() {
         setThreadLock();
         try {
+            cbLock.check();
+
             if (structPointer != 0) {
                 disposerRecord.dispose();
                 structPointer = 0;
@@ -1535,6 +1650,36 @@
             theThread = null;
         }
     }
+
+    private CallBackLock cbLock = new CallBackLock();
+
+    private static class CallBackLock {
+
+        private State lockState;
+
+        CallBackLock() {
+            lockState = State.Unlocked;
+        }
+
+        void check() {
+            if (lockState != State.Unlocked) {
+                throw new IllegalStateException("Access to the reader is not allowed");
+            }
+        }
+
+        private void lock() {
+            lockState = State.Locked;
+        }
+
+        private void unlock() {
+            lockState = State.Unlocked;
+        }
+
+        private static enum State {
+            Unlocked,
+            Locked
+        }
+    }
 }
 
 /**
diff -r 1040c44a496d -r 2d91409e8c5d src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java



More information about the distro-pkg-dev mailing list