diff options
-rw-r--r-- | openjdk/allsources.lst | 60 | ||||
-rw-r--r-- | openjdk/java/lang/LangHelper.java | 3 | ||||
-rw-r--r-- | openjdk/java/lang/StringHelper.java | 277 | ||||
-rw-r--r-- | openjdk/java/lang/invoke/MethodHandles.java | 31 | ||||
-rw-r--r-- | openjdk/openjdk.build | 4 | ||||
-rw-r--r-- | openjdk/response.txt | 38 | ||||
-rw-r--r-- | openjdk/sun/nio/ch/DatagramChannelImpl.java | 12 |
7 files changed, 230 insertions, 195 deletions
diff --git a/openjdk/allsources.lst b/openjdk/allsources.lst index aded6d7b..93960527 100644 --- a/openjdk/allsources.lst +++ b/openjdk/allsources.lst @@ -2214,9 +2214,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/lib/Extensions.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/lib/NodeInfo.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/lib/ObjectFactory.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/lib/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/lib/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/res/XSLMessages.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/res/XSLTErrorResources.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_de.java @@ -2238,18 +2235,12 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/Version.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/XalanConstants.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xslt/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xslt/Process.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xslt/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xslt/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/Compile.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/GetOpt.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/GetOptsException.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/IllegalArgumentException.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/getopt/MissingOptArgException.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/ObjectFactory.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/cmdline/Transform.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/CollatorFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/AbsoluteLocationPath.java @@ -2325,7 +2316,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/NotCall.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/Number.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/NumberCall.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/Otherwise.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/Output.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/Param.java @@ -2344,8 +2334,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/RelativeLocationPath.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/RelativePathPattern.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/RoundCall.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/SimpleAttributeValue.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/SourceLoader.java @@ -2403,7 +2391,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeSortRecordGenerator.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NodeType.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/NumberType.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ObjectType.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/OutlineableChunkEnd.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/OutlineableChunkStart.java @@ -2411,8 +2398,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ReferenceType.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ResultTreeType.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/RtMethodGenerator.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/SlotAllocator.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/StringStack.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/compiler/util/StringType.java @@ -2467,10 +2452,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecord.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/NodeSortRecordFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/NthIterator.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/SAXImpl.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/SimpleResultTreeImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/SingleNodeCounter.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/dom/SingletonIterator.java @@ -2506,29 +2488,23 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/InternalRuntimeError.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/MessageHandler.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/Node.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/Operators.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/output/OutputBuffer.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/output/StringOutputBuffer.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/output/TransletOutputHandlerFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/output/WriterOutputBuffer.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/Parameter.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/runtime/StringValueHandler.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/StripFilter.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/Translet.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/TransletException.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2SAX.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/DOM2TO.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/OutputSettings.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2DOM.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXBaseWriter.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXEventWriter.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/SAX2StAXStreamWriter.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/SmartTransformerFactoryImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/StAXEvent2SAX.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/xsltc/trax/StAXStream2SAX.java @@ -2595,7 +2571,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/NodeIteratorImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/NodeListCache.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/NotationImpl.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/ParentNode.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/ProcessingInstructionImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/PSVIAttrNSImpl.java @@ -2604,7 +2579,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/PSVIElementNSImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/RangeExceptionImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/RangeImpl.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/SecuritySupport.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/TextImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/dom/TreeWalkerImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/Constants.java @@ -2654,9 +2628,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/DVFactoryException.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/InvalidDatatypeFacetException.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/InvalidDatatypeValueException.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/SchemaDVFactory.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/SecuritySupport.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/util/Base64.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/util/ByteListImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/impl/dv/util/HexBin.java @@ -2898,10 +2870,8 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/DTDParser.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/IntegratedParserConfiguration.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/NonValidatingConfiguration.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/SAXParser.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/SecurityConfiguration.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/SecuritySupport.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/StandardParserConfiguration.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/XIncludeAwareParserConfiguration.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xerces/internal/parsers/XIncludeParserConfiguration.java @@ -3077,7 +3047,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/DTMIterator.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/DTMManager.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/DTMWSFilter.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/ChunkedIntArray.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/CoroutineManager.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/CoroutineParser.java @@ -3107,14 +3076,9 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource_Filter.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/IncrementalSAXSource_Xerces.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/NodeLocator.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2DTM2.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/sax2dtm/SAX2RTFDTM.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/ref/SecuritySupport12.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/dtm/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/res/XMLErrorResources.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/res/XMLErrorResources_ca.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/res/XMLErrorResources_cs.java @@ -3192,11 +3156,8 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/ExtendedLexicalHandler.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/Method.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/NamespaceMappings.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/OutputPropertiesFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/OutputPropertyUtils.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/SerializationHandler.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/Serializer.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/serializer/SerializerBase.java @@ -3266,7 +3227,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/NodeConsumer.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/NodeVector.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/NSInfo.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/ObjectPool.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/ObjectStack.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/ObjectVector.java @@ -3294,8 +3254,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/res/XResources_zh_CN.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/res/XResources_zh_TW.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/SAXSourceLocator.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/SerializableLocatorImpl.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/StopParseException.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xml/internal/utils/StringBufferPool.java @@ -3358,13 +3316,10 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/FunctionTable.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/Keywords.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/Lexer.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/ObjectFactory.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/OpCodes.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/OpMap.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/OpMapVector.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/PsuedoNames.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/XPathDumper.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/compiler/XPathParser.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/domapi/XPathEvaluatorImpl.java @@ -3419,9 +3374,6 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/functions/FuncTranslate.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/functions/FuncTrue.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/functions/FuncUnparsedEntityURI.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/functions/ObjectFactory.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/functions/SecuritySupport.java -@OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/functions/SecuritySupport12.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/functions/WrongNumberArgsException.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/jaxp/JAXPExtensionsProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xpath/internal/jaxp/JAXPPrefixResolver.java @@ -4687,6 +4639,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/bind/v2/schemagen/episode/Bindings.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/bind/v2/schemagen/episode/Klass.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/bind/v2/schemagen/episode/package-info.java +@OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/bind/v2/schemagen/episode/Package.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/bind/v2/schemagen/episode/SchemaBindings.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/bind/v2/schemagen/FoolProofResolver.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/bind/v2/schemagen/Form.java @@ -4979,6 +4932,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/messaging/saaj/util/ParserPool.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/messaging/saaj/util/ParseUtil.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/messaging/saaj/util/RejectDoctypeSaxFilter.java +@OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/messaging/saaj/util/SAAJUtil.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/messaging/saaj/util/TeeInputStream.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/messaging/saaj/util/transform/EfficientStreamingTransformer.java @OPENJDK7@/build/linux-amd64/impsrc/com/sun/xml/internal/messaging/saaj/util/XMLDeclarationParser.java @@ -11490,12 +11444,14 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/jdk/src/share/classes/sun/awt/WindowClosingSupport.java @OPENJDK7@/jdk/src/share/classes/sun/awt/WindowIDProvider.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/BooleanEditor.java +@OPENJDK7@/jdk/src/share/classes/sun/beans/editors/BoolEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/ByteEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/ColorEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/DoubleEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/EnumEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/FloatEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/FontEditor.java +@OPENJDK7@/jdk/src/share/classes/sun/beans/editors/IntEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/IntegerEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/LongEditor.java @OPENJDK7@/jdk/src/share/classes/sun/beans/editors/NumberEditor.java @@ -12006,6 +11962,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/jdk/src/share/classes/sun/misc/FormattedFloatingDecimal.java @OPENJDK7@/jdk/src/share/classes/sun/misc/FpUtils.java @OPENJDK7@/jdk/src/share/classes/sun/misc/GC.java +@OPENJDK7@/jdk/src/share/classes/sun/misc/Hashing.java @OPENJDK7@/jdk/src/share/classes/sun/misc/HexDumpEncoder.java @OPENJDK7@/jdk/src/share/classes/sun/misc/InvalidJarIndexException.java @OPENJDK7@/jdk/src/share/classes/sun/misc/IOUtils.java @@ -13882,6 +13839,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageTreeWriter.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageUseWriter.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PackageWriterImpl.java +@OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/formats/html/PropertyWriterImpl.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SerializedFormWriterImpl.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SingleIndexWriter.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/formats/html/SourceToHTMLConverter.java @@ -13910,6 +13868,7 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MemberSummaryBuilder.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/MethodBuilder.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PackageSummaryBuilder.java +@OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/PropertyBuilder.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/SerializedFormBuilder.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/builders/XMLNode.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/ClassWriter.java @@ -13923,18 +13882,23 @@ sun/security/jgss/wrapper/SunNativeProvider.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/MethodWriter.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/NestedClassWriter.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/PackageSummaryWriter.java +@OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/PropertyWriter.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/SerializedFormWriter.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseExecutableMemberTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseInlineTaglet.java +@OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BasePropertyTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/BaseTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/CodeTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DeprecatedTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/DocRootTaglet.java +@OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ExpertTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritableTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/InheritDocTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LegacyTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/LiteralTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ParamTaglet.java +@OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertyGetterTaglet.java +@OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/PropertySetterTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/ReturnTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SeeTaglet.java @OPENJDK7@/langtools/src/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/SimpleTaglet.java diff --git a/openjdk/java/lang/LangHelper.java b/openjdk/java/lang/LangHelper.java index 320a3bb3..0b2a5703 100644 --- a/openjdk/java/lang/LangHelper.java +++ b/openjdk/java/lang/LangHelper.java @@ -127,6 +127,9 @@ public class LangHelper public StackTraceElement getStackTraceElement(Throwable t, int i) { return t.getStackTraceElement(i); } + public int getStringHash32(String string) { + return StringHelper.hash32(string); + } }; } } diff --git a/openjdk/java/lang/StringHelper.java b/openjdk/java/lang/StringHelper.java index 8f397b01..98f7816c 100644 --- a/openjdk/java/lang/StringHelper.java +++ b/openjdk/java/lang/StringHelper.java @@ -24,7 +24,6 @@ */ package java.lang; -import java.io.ObjectStreamClass; import java.io.ObjectStreamField; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; @@ -806,13 +805,10 @@ final class StringHelper * @since JDK1.1 */ static byte[] getBytes(String _this, String charsetName) - throws UnsupportedEncodingException - { + throws UnsupportedEncodingException { if (charsetName == null) throw new NullPointerException(); char[] value = _this.toCharArray(); - int offset = 0; - int count = value.length; - return StringCoding.encode(charsetName, value, offset, count); + return StringCoding.encode(charsetName, value, 0, value.length); } /** @@ -836,9 +832,7 @@ final class StringHelper static byte[] getBytes(String _this, Charset charset) { if (charset == null) throw new NullPointerException(); char[] value = _this.toCharArray(); - int offset = 0; - int count = value.length; - return StringCoding.encode(charset, value, offset, count); + return StringCoding.encode(charset, value, 0, value.length); } /** @@ -856,9 +850,7 @@ final class StringHelper */ static byte[] getBytes(String _this) { char[] value = _this.toCharArray(); - int offset = 0; - int count = value.length; - return StringCoding.encode(value, offset, count); + return StringCoding.encode(value, 0, value.length); } /** @@ -876,8 +868,8 @@ final class StringHelper * @since 1.4 */ static boolean contentEquals(String _this, StringBuffer sb) { - synchronized(sb) { - return contentEquals(_this, (CharSequence)sb); + synchronized (sb) { + return contentEquals(_this, (CharSequence) sb); } } @@ -896,18 +888,17 @@ final class StringHelper * @since 1.5 */ static boolean contentEquals(String _this, CharSequence cs) { - int count = _this.length(); - if (count != cs.length()) + if (_this.length() != cs.length()) return false; // Argument is a StringBuffer, StringBuilder if (cs instanceof AbstractStringBuilder) { char v2[] = ((AbstractStringBuilder) cs).getValue(); int i = 0; - int j = 0; - int n = count; + int n = _this.length(); while (n-- != 0) { - if (_this.charAt(i++) != v2[j++]) + if (_this.charAt(i) != v2[i]) return false; + i++; } return true; } @@ -916,11 +907,11 @@ final class StringHelper return true; // Argument is a generic CharSequence int i = 0; - int j = 0; - int n = count; + int n = _this.length(); while (n-- != 0) { - if (_this.charAt(i++) != cs.charAt(j++)) + if (_this.charAt(i) != cs.charAt(i)) return false; + i++; } return true; } @@ -954,9 +945,10 @@ final class StringHelper * @see #equals(Object) */ static boolean equalsIgnoreCase(String _this, String anotherString) { - return (_this == anotherString) ? true : - (anotherString != null) && (anotherString.length() == _this.length()) && - regionMatches(_this, true, 0, anotherString, 0, _this.length()); + return (_this == anotherString) ? true + : (anotherString != null) + && (anotherString.length() == _this.length()) + && regionMatches(_this, true, 0, anotherString, 0, _this.length()); } /** @@ -1069,11 +1061,12 @@ final class StringHelper * <code>false</code> otherwise. */ static boolean regionMatches(String _this, int toffset, String other, int ooffset, - int len) { + int len) { int to = toffset; int po = ooffset; // Note: toffset, ooffset, or len might be near -1>>>1. - if ((ooffset < 0) || (toffset < 0) || (toffset > (long)_this.length() - len) + if ((ooffset < 0) || (toffset < 0) + || (toffset > (long)_this.length() - len) || (ooffset > (long)other.length() - len)) { return false; } @@ -1112,7 +1105,7 @@ final class StringHelper * integer <i>k</i> less than <tt>len</tt> such that: * <blockquote><pre> * Character.toLowerCase(this.charAt(toffset+k)) != - Character.toLowerCase(other.charAt(ooffset+k)) + Character.toLowerCase(other.charAt(ooffset+k)) * </pre></blockquote> * and: * <blockquote><pre> @@ -1136,12 +1129,13 @@ final class StringHelper * argument. */ static boolean regionMatches(String _this, boolean ignoreCase, int toffset, - String other, int ooffset, int len) { + String other, int ooffset, int len) { int to = toffset; int po = ooffset; // Note: toffset, ooffset, or len might be near -1>>>1. - if ((ooffset < 0) || (toffset < 0) || (toffset > (long)_this.length() - len) || - (ooffset > (long)other.length() - len)) { + if ((ooffset < 0) || (toffset < 0) + || (toffset > (long)_this.length() - len) + || (ooffset > (long)other.length() - len)) { return false; } while (len-- > 0) { @@ -1294,13 +1288,12 @@ final class StringHelper */ private static int indexOfSupplementary(cli.System.String _this, int ch, int fromIndex) { if (Character.isValidCodePoint(ch)) { - final int offset = 0; final char hi = Character.highSurrogate(ch); final char lo = Character.lowSurrogate(ch); - final int max = offset + _this.get_Length() - 1; - for (int i = offset + fromIndex; i < max; i++) { + final int max = _this.get_Length() - 1; + for (int i = fromIndex; i < max; i++) { if (_this.get_Chars(i) == hi && _this.get_Chars(i+1) == lo) { - return i - offset; + return i; } } } @@ -1372,10 +1365,8 @@ final class StringHelper if (ch < Character.MIN_SUPPLEMENTARY_CODE_POINT) { // handle most cases here (ch is a BMP code point or a // negative value (invalid code point)) - final int count = _this.get_Length(); - final int offset = 0; - int i = offset + Math.min(fromIndex, count - 1); - for (; i >= offset ; i--) { + int i = Math.min(fromIndex, _this.get_Length() - 1); + for (; i >= 0; i--) { if (_this.get_Chars(i) == ch) { return i; } @@ -1391,14 +1382,12 @@ final class StringHelper */ private static int lastIndexOfSupplementary(cli.System.String _this, int ch, int fromIndex) { if (Character.isValidCodePoint(ch)) { - final int count = _this.get_Length(); - final int offset = 0; char hi = Character.highSurrogate(ch); char lo = Character.lowSurrogate(ch); - int i = offset + Math.min(fromIndex, count - 2); - for (; i >= offset; i--) { + int i = Math.min(fromIndex, _this.get_Length() - 2); + for (; i >= 0; i--) { if (_this.get_Chars(i) == hi && _this.get_Chars(i+1) == lo) { - return i - offset; + return i; } } } @@ -1665,18 +1654,18 @@ final class StringHelper * <code>endIndex</code>. */ static String substring(cli.System.String _this, int beginIndex, int endIndex) { - int count = _this.get_Length(); if (beginIndex < 0) { throw new StringIndexOutOfBoundsException(beginIndex); } - if (endIndex > count) { + if (endIndex > _this.get_Length()) { throw new StringIndexOutOfBoundsException(endIndex); } - if (beginIndex > endIndex) { - throw new StringIndexOutOfBoundsException(endIndex - beginIndex); + int subLen = endIndex - beginIndex; + if (subLen < 0) { + throw new StringIndexOutOfBoundsException(subLen); } - return ((beginIndex == 0) && (endIndex == count)) ? (String)(Object)_this : - _this.Substring(beginIndex, endIndex - beginIndex); + return ((beginIndex == 0) && (endIndex == _this.get_Length())) ? (String)(Object)_this + : _this.Substring(beginIndex, subLen); } /** @@ -1756,7 +1745,7 @@ final class StringHelper buf[i] = (c == oldChar) ? newChar : c; i++; } - return new String(0, len, buf); + return new String(buf, true); } } return _this; @@ -1876,11 +1865,11 @@ final class StringHelper */ static String[] split(String _this, String regex, int limit) { /* fastpath if the regex is a - (1)one-char String and this character is not one of the - RegEx's meta characters ".$|()[{^?*+\\", or - (2)two-char String and the first char is the backslash and - the second is not the ascii digit or ascii letter. - */ + (1)one-char String and this character is not one of the + RegEx's meta characters ".$|()[{^?*+\\", or + (2)two-char String and the first char is the backslash and + the second is not the ascii digit or ascii letter. + */ char ch = 0; if (((regex.length() == 1 && ".$|()[{^?*+\\".indexOf(ch = regex.charAt(0)) == -1) || @@ -1892,7 +1881,6 @@ final class StringHelper (ch < Character.MIN_HIGH_SURROGATE || ch > Character.MAX_LOW_SURROGATE)) { - int count = _this.length(); int off = 0; int next = 0; boolean limited = limit > 0; @@ -1903,23 +1891,23 @@ final class StringHelper off = next + 1; } else { // last one //assert (list.size() == limit - 1); - list.add(_this.substring(off, count)); - off = count; + list.add(_this.substring(off, _this.length())); + off = _this.length(); break; } } // If no match was found, return this if (off == 0) - return new String[] { _this }; + return new String[]{_this}; // Add remaining segment if (!limited || list.size() < limit) - list.add(_this.substring(off, count)); + list.add(_this.substring(off, _this.length())); // Construct result int resultSize = list.size(); if (limit == 0) - while (resultSize > 0 && list.get(resultSize-1).length() == 0) + while (resultSize > 0 && list.get(resultSize - 1).length() == 0) resultSize--; String[] result = new String[resultSize]; return list.subList(0, resultSize).toArray(result); @@ -1984,15 +1972,15 @@ final class StringHelper throw new NullPointerException(); } - final int count = _this.length(); - int firstUpper; + int firstUpper; + final int len = _this.length(); /* Now check if there are any characters that need to be changed. */ scan: { - for (firstUpper = 0 ; firstUpper < count; ) { + for (firstUpper = 0 ; firstUpper < len; ) { char c = _this.charAt(firstUpper); - if ((c >= Character.MIN_HIGH_SURROGATE) && - (c <= Character.MAX_HIGH_SURROGATE)) { + if ((c >= Character.MIN_HIGH_SURROGATE) + && (c <= Character.MAX_HIGH_SURROGATE)) { int supplChar = _this.codePointAt(firstUpper); if (supplChar != Character.toLowerCase(supplChar)) { break scan; @@ -2008,24 +1996,24 @@ final class StringHelper return _this; } - char[] result = new char[count]; - int resultOffset = 0; /* result may grow, so i+resultOffset - * is the write location in result */ + char[] result = new char[len]; + int resultOffset = 0; /* result may grow, so i+resultOffset + * is the write location in result */ /* Just copy the first few lowerCase characters. */ _this.getChars(0, firstUpper, result, 0); String lang = locale.getLanguage(); boolean localeDependent = - (lang == "tr" || lang == "az" || lang == "lt"); + (lang == "tr" || lang == "az" || lang == "lt"); char[] lowerCharArray; int lowerChar; int srcChar; int srcCount; - for (int i = firstUpper; i < count; i += srcCount) { + for (int i = firstUpper; i < len; i += srcCount) { srcChar = (int)_this.charAt(i); - if ((char)srcChar >= Character.MIN_HIGH_SURROGATE && - (char)srcChar <= Character.MAX_HIGH_SURROGATE) { + if ((char)srcChar >= Character.MIN_HIGH_SURROGATE + && (char)srcChar <= Character.MAX_HIGH_SURROGATE) { srcChar = _this.codePointAt(i); srcCount = Character.charCount(srcChar); } else { @@ -2038,16 +2026,16 @@ final class StringHelper } else { lowerChar = Character.toLowerCase(srcChar); } - if ((lowerChar == Character.ERROR) || - (lowerChar >= Character.MIN_SUPPLEMENTARY_CODE_POINT)) { + if ((lowerChar == Character.ERROR) + || (lowerChar >= Character.MIN_SUPPLEMENTARY_CODE_POINT)) { if (lowerChar == Character.ERROR) { - if (!localeDependent && srcChar == '\u0130') { - lowerCharArray = - ConditionalSpecialCasing.toLowerCaseCharArray(_this, i, Locale.ENGLISH); - } else { + if (!localeDependent && srcChar == '\u0130') { lowerCharArray = - ConditionalSpecialCasing.toLowerCaseCharArray(_this, i, locale); - } + ConditionalSpecialCasing.toLowerCaseCharArray(_this, i, Locale.ENGLISH); + } else { + lowerCharArray = + ConditionalSpecialCasing.toLowerCaseCharArray(_this, i, locale); + } } else if (srcCount == 2) { resultOffset += Character.toChars(lowerChar, result, i + resultOffset) - srcCount; continue; @@ -2059,19 +2047,18 @@ final class StringHelper int mapLen = lowerCharArray.length; if (mapLen > srcCount) { char[] result2 = new char[result.length + mapLen - srcCount]; - System.arraycopy(result, 0, result2, 0, - i + resultOffset); + System.arraycopy(result, 0, result2, 0, i + resultOffset); result = result2; } - for (int x=0; x<mapLen; ++x) { - result[i+resultOffset+x] = lowerCharArray[x]; + for (int x = 0; x < mapLen; ++x) { + result[i + resultOffset + x] = lowerCharArray[x]; } resultOffset += (mapLen - srcCount); } else { - result[i+resultOffset] = (char)lowerChar; + result[i + resultOffset] = (char)lowerChar; } } - return new String(0, count+resultOffset, result); + return new String(result, 0, len + resultOffset); } /** @@ -2150,24 +2137,24 @@ final class StringHelper throw new NullPointerException(); } - final int count = _this.length(); - int firstLower; + int firstLower; + final int len = _this.length(); /* Now check if there are any characters that need to be changed. */ scan: { - for (firstLower = 0 ; firstLower < count; ) { + for (firstLower = 0 ; firstLower < len; ) { int c = (int)_this.charAt(firstLower); int srcCount; - if ((c >= Character.MIN_HIGH_SURROGATE) && - (c <= Character.MAX_HIGH_SURROGATE)) { + if ((c >= Character.MIN_HIGH_SURROGATE) + && (c <= Character.MAX_HIGH_SURROGATE)) { c = _this.codePointAt(firstLower); srcCount = Character.charCount(c); } else { srcCount = 1; } int upperCaseChar = Character.toUpperCaseEx(c); - if ((upperCaseChar == Character.ERROR) || - (c != upperCaseChar)) { + if ((upperCaseChar == Character.ERROR) + || (c != upperCaseChar)) { break scan; } firstLower += srcCount; @@ -2175,21 +2162,21 @@ final class StringHelper return _this; } - char[] result = new char[count]; /* may grow */ - int resultOffset = 0; /* result may grow, so i+resultOffset - * is the write location in result */ + char[] result = new char[len]; /* may grow */ + int resultOffset = 0; /* result may grow, so i+resultOffset + * is the write location in result */ /* Just copy the first few upperCase characters. */ _this.getChars(0, firstLower, result, 0); String lang = locale.getLanguage(); boolean localeDependent = - (lang == "tr" || lang == "az" || lang == "lt"); + (lang == "tr" || lang == "az" || lang == "lt"); char[] upperCharArray; int upperChar; int srcChar; int srcCount; - for (int i = firstLower; i < count; i += srcCount) { + for (int i = firstLower; i < len; i += srcCount) { srcChar = (int)_this.charAt(i); if ((char)srcChar >= Character.MIN_HIGH_SURROGATE && (char)srcChar <= Character.MAX_HIGH_SURROGATE) { @@ -2203,12 +2190,12 @@ final class StringHelper } else { upperChar = Character.toUpperCaseEx(srcChar); } - if ((upperChar == Character.ERROR) || - (upperChar >= Character.MIN_SUPPLEMENTARY_CODE_POINT)) { + if ((upperChar == Character.ERROR) + || (upperChar >= Character.MIN_SUPPLEMENTARY_CODE_POINT)) { if (upperChar == Character.ERROR) { if (localeDependent) { upperCharArray = - ConditionalSpecialCasing.toUpperCaseCharArray(_this, i, locale); + ConditionalSpecialCasing.toUpperCaseCharArray(_this, i, locale); } else { upperCharArray = Character.toUpperCaseCharArray(srcChar); } @@ -2223,19 +2210,18 @@ final class StringHelper int mapLen = upperCharArray.length; if (mapLen > srcCount) { char[] result2 = new char[result.length + mapLen - srcCount]; - System.arraycopy(result, 0, result2, 0, - i + resultOffset); + System.arraycopy(result, 0, result2, 0, i + resultOffset); result = result2; } - for (int x=0; x<mapLen; ++x) { - result[i+resultOffset+x] = upperCharArray[x]; + for (int x = 0; x < mapLen; ++x) { + result[i + resultOffset + x] = upperCharArray[x]; } resultOffset += (mapLen - srcCount); } else { - result[i+resultOffset] = (char)upperChar; + result[i + resultOffset] = (char)upperChar; } } - return new String(0, count+resultOffset, result); + return new String(result, 0, len + resultOffset); } /** @@ -2293,8 +2279,7 @@ final class StringHelper * trailing white space. */ static String trim(String _this) { - int count = _this.length(); - int len = count; + int len = _this.length(); int st = 0; while ((st < len) && (_this.charAt(st) <= ' ')) { @@ -2303,7 +2288,7 @@ final class StringHelper while ((st < len) && (_this.charAt(len - 1) <= ' ')) { len--; } - return ((st > 0) || (len < count)) ? _this.substring(st, len) : _this; + return ((st > 0) || (len < _this.length())) ? _this.substring(st, len) : _this; } /** @@ -2468,7 +2453,7 @@ final class StringHelper * character array. */ public static String copyValueOf(char data[]) { - return copyValueOf(data, 0, data.length); + return new String(data); } /** @@ -2538,4 +2523,70 @@ final class StringHelper public static String valueOf(double d) { return Double.toString(d); } + + /** + * Seed value used for each alternative hash calculated. + */ + private static final int HASHING_SEED; + + static { + long nanos = System.nanoTime(); + long now = System.currentTimeMillis(); + int SEED_MATERIAL[] = { + System.identityHashCode(String.class), + System.identityHashCode(System.class), + (int) (nanos >>> 32), + (int) nanos, + (int) (now >>> 32), + (int) now, + (int) (System.nanoTime() >>> 2) + }; + + // Use murmur3 to scramble the seeding material. + // Inline implementation to avoid loading classes + int h1 = 0; + + // body + for (int k1 : SEED_MATERIAL) { + k1 *= 0xcc9e2d51; + k1 = (k1 << 15) | (k1 >>> 17); + k1 *= 0x1b873593; + + h1 ^= k1; + h1 = (h1 << 13) | (h1 >>> 19); + h1 = h1 * 5 + 0xe6546b64; + } + + // tail (always empty, as body is always 32-bit chunks) + + // finalization + + h1 ^= SEED_MATERIAL.length * 4; + + // finalization mix force all bits of a hash block to avalanche + h1 ^= h1 >>> 16; + h1 *= 0x85ebca6b; + h1 ^= h1 >>> 13; + h1 *= 0xc2b2ae35; + h1 ^= h1 >>> 16; + + HASHING_SEED = h1; + } + + /** + * Calculates a 32-bit hash value for this string. + * + * @return a 32-bit hash value for this string. + */ + static int hash32(String _this) { + // [IKVM] We don't bother with murmur32 and just use the .NET hash code + // and hope that it is good enough. We xor with HASHING_SEED to avoid + // returning predictable values (this does not help against DoS attacks, + // but it will surface constant hash code dependencies). + // If truly randomized string hashes are required (to protect against + // DoS) the .NET 4.5 <UseRandomizedStringHashAlgorithm enabled="1" /> + // app.config setting can be used. + return HASHING_SEED ^ ((cli.System.String)(Object)_this).GetHashCode(); + } + } diff --git a/openjdk/java/lang/invoke/MethodHandles.java b/openjdk/java/lang/invoke/MethodHandles.java index 632bb3e9..ac57f5e1 100644 --- a/openjdk/java/lang/invoke/MethodHandles.java +++ b/openjdk/java/lang/invoke/MethodHandles.java @@ -464,8 +464,8 @@ public class MethodHandles { && !VerifyAccess.isSamePackageMember(this.lookupClass, requestedLookupClass)) { newModes &= ~PRIVATE; } - if (newModes == PUBLIC - && !VerifyAccess.isClassAccessible(requestedLookupClass, this.lookupClass)) { + if ((newModes & PUBLIC) != 0 + && !VerifyAccess.isClassAccessible(requestedLookupClass, this.lookupClass, allowedModes)) { // The requested class it not accessible from the lookup class. // No permissions. newModes = 0; @@ -543,13 +543,17 @@ public class MethodHandles { } } - // call this from an entry point method in Lookup with extraFrames=0. - private static Class<?> getCallerClassAtEntryPoint() { + /* Obtain the external caller class, when called from Lookup.<init> or a first-level subroutine. */ + private static Class<?> getCallerClassAtEntryPoint(boolean inSubroutine) { final int CALLER_DEPTH = 4; + // Stack for the constructor entry point (inSubroutine=false): // 0: Reflection.getCC, 1: getCallerClassAtEntryPoint, // 2: Lookup.<init>, 3: MethodHandles.*, 4: caller + // The stack is slightly different for a subroutine of a Lookup.find* method: + // 2: Lookup.*, 3: Lookup.find*.*, 4: caller // Note: This should be the only use of getCallerClass in this file. - assert(Reflection.getCallerClass(CALLER_DEPTH-1) == MethodHandles.class); + assert(Reflection.getCallerClass(CALLER_DEPTH-2) == Lookup.class); + assert(Reflection.getCallerClass(CALLER_DEPTH-1) == (inSubroutine ? Lookup.class : MethodHandles.class)); return Reflection.getCallerClass(CALLER_DEPTH); } @@ -1089,7 +1093,7 @@ return mh1; void checkSymbolicClass(Class<?> refc) throws IllegalAccessException { Class<?> caller = lookupClassOrNull(); - if (caller != null && !VerifyAccess.isClassAccessible(refc, caller)) + if (caller != null && !VerifyAccess.isClassAccessible(refc, caller, allowedModes)) throw new MemberName(refc).makeAccessException("symbolic reference class is not public", this); } @@ -1104,7 +1108,13 @@ return mh1; // Step 1: smgr.checkMemberAccess(refc, Member.PUBLIC); // Step 2: - if (!VerifyAccess.classLoaderIsAncestor(lookupClass, refc)) + Class<?> callerClass = ((allowedModes & PRIVATE) != 0 + ? lookupClass // for strong access modes, no extra check + // next line does stack walk magic; do not refactor: + : getCallerClassAtEntryPoint(true)); + if (!VerifyAccess.classLoaderIsAncestor(lookupClass, refc) || + (callerClass != lookupClass && + !VerifyAccess.classLoaderIsAncestor(callerClass, refc))) smgr.checkPackageAccess(VerifyAccess.getPackageName(refc)); // Step 3: if (m.isPublic()) return; @@ -1155,9 +1165,10 @@ return mh1; int requestedModes = fixmods(mods); // adjust 0 => PACKAGE if ((requestedModes & allowedModes) != 0 && VerifyAccess.isMemberAccessible(refc, m.getDeclaringClass(), - mods, lookupClass())) + mods, lookupClass(), allowedModes)) return; if (((requestedModes & ~allowedModes) & PROTECTED) != 0 + && (allowedModes & PACKAGE) != 0 && VerifyAccess.isSamePackage(m.getDeclaringClass(), lookupClass())) // Protected members can also be checked as if they were package-private. return; @@ -1172,9 +1183,9 @@ return mh1; (defc == refc || Modifier.isPublic(refc.getModifiers()))); if (!classOK && (allowedModes & PACKAGE) != 0) { - classOK = (VerifyAccess.isClassAccessible(defc, lookupClass()) && + classOK = (VerifyAccess.isClassAccessible(defc, lookupClass(), ALL_MODES) && (defc == refc || - VerifyAccess.isClassAccessible(refc, lookupClass()))); + VerifyAccess.isClassAccessible(refc, lookupClass(), ALL_MODES))); } if (!classOK) return "class is not public"; diff --git a/openjdk/openjdk.build b/openjdk/openjdk.build index 8167283d..28606277 100644 --- a/openjdk/openjdk.build +++ b/openjdk/openjdk.build @@ -3,8 +3,8 @@ <include buildfile="../ikvm.include" /> <property name="pathsep" value=":" /> <property overwrite="false" name="signoption" value="" /> - <property name="OPENJDK_VERSION" value="OpenJDK 7u4 b22" /> - <property name="OpenJDK7.dir" value="${project::get-base-directory()}/../../openjdk-7u4-b22" /> + <property name="OPENJDK_VERSION" value="OpenJDK 7u6 b24" /> + <property name="OpenJDK7.dir" value="${project::get-base-directory()}/../../openjdk-7u6-b24" /> <if test="${platform::is-win32()}"> <property name="pathsep" value=";" /> </if> diff --git a/openjdk/response.txt b/openjdk/response.txt index 5dfed333..1cd94262 100644 --- a/openjdk/response.txt +++ b/openjdk/response.txt @@ -171,7 +171,7 @@ assembly.class } { -out:IKVM.OpenJDK.Corba.dll - -baseaddress:0x56C60000 + -baseaddress:0x56C90000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/corba/* -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/jndi/cosnaming/jndiprovider.properties @OPENJDK7@/build/linux-amd64/impsrc/com/sun/corba/se/impl/activation/*.class @@ -289,7 +289,7 @@ assembly.class } { -out:IKVM.OpenJDK.XML.API.dll - -baseaddress:0x572C0000 + -baseaddress:0x572F0000 @OPENJDK7@/build/linux-amd64/impsrc/javax/xml/*.class @OPENJDK7@/build/linux-amd64/impsrc/javax/xml/datatype/*.class @OPENJDK7@/build/linux-amd64/impsrc/javax/xml/namespace/*.class @@ -322,7 +322,7 @@ assembly.class } { -out:IKVM.OpenJDK.XML.XPath.dll - -baseaddress:0x57380000 + -baseaddress:0x573B0000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/org/apache/xalan/internal/res/* @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/extensions/*.class @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/xalan/internal/res/*.class @@ -408,7 +408,7 @@ assembly.class } { -out:IKVM.OpenJDK.XML.Transform.dll - -baseaddress:0x57EF0000 + -baseaddress:0x57EC0000 @OPENJDK7@/build/linux-amd64/impsrc/com/sun/java_cup/internal/runtime/*.class @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/bcel/internal/*.class @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/apache/bcel/internal/classfile/*.class @@ -432,7 +432,7 @@ assembly.class } { -out:IKVM.OpenJDK.XML.Bind.dll - -baseaddress:0x58370000 + -baseaddress:0x58310000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/javax/xml/bind/* -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/xml/internal/bind/* -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/xml/internal/fastinfoset/* @@ -491,7 +491,7 @@ assembly.class } { -out:IKVM.OpenJDK.XML.WebServices.dll - -baseaddress:0x58700000 + -baseaddress:0x586A0000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/xml/internal/messaging/* -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/xml/internal/ws/* @OPENJDK7@/build/linux-amd64/impsrc/com/sun/org/glassfish/external/amx/*.class @@ -611,7 +611,7 @@ assembly.class } { -out:IKVM.OpenJDK.XML.Crypto.dll - -baseaddress:0x58C70000 + -baseaddress:0x58C10000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/org/apache/xml/internal/security/* @OPENJDK7@/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/*.class @OPENJDK7@/jdk/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/*.class @@ -647,7 +647,7 @@ assembly.class } { -out:IKVM.OpenJDK.SwingAWT.dll - -baseaddress:0x58DC0000 + -baseaddress:0x58D60000 -remap:swingawt.xml -resource:META-INF/services/sun.java2d.pipe.RenderingEngine=resources/META-INF/services/sun.java2d.pipe.RenderingEngine -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/META-INF/services/sun.java2d.cmm.PCMM @@ -747,7 +747,7 @@ assembly.class } { -out:IKVM.OpenJDK.Charsets.dll - -baseaddress:0x59FC0000 + -baseaddress:0x59F60000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/charsets.jar/sun/nio/cs/ext/sjis0213.dat -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/charsets.jar/META-INF/services/java.nio.charset.spi.CharsetProvider @OPENJDK7@/build/linux-amd64/gensrc/sun/nio/cs/ext/*.class @@ -756,7 +756,7 @@ assembly.class } { -out:IKVM.OpenJDK.Util.dll - -baseaddress:0x5A650000 + -baseaddress:0x5A5F0000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/java/util/jar/pack/intrinsic.properties -resource:META-INF/services/java.nio.file.spi.FileSystemProvider=@OPENJDK7@/jdk/src/share/demo/nio/zipfs/src/META-INF/services/java.nio.file.spi.FileSystemProvider java/util/zip/*.class @@ -777,7 +777,7 @@ assembly.class } { -out:IKVM.OpenJDK.Text.dll - -baseaddress:0x5ABF0000 + -baseaddress:0x5AB90000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/sun/text/* @OPENJDK7@/build/linux-amd64/j2re-image/lib/ext/localedata.jar @OPENJDK7@/jdk/src/share/classes/java/text/*.class @@ -789,7 +789,7 @@ assembly.class } { -out:IKVM.OpenJDK.Security.dll - -baseaddress:0x5AE60000 + -baseaddress:0x5AE00000 -remap:security.xml sun/security/jgss/wrapper/*.class @OPENJDK7@/jdk/src/share/classes/com/sun/crypto/provider/*.class @@ -860,7 +860,7 @@ assembly.class } { -out:IKVM.OpenJDK.Management.dll - -baseaddress:0x5B670000 + -baseaddress:0x5B610000 com/sun/management/*.class java/lang/management/*.class sun/management/*.class @@ -894,7 +894,7 @@ assembly.class } { -out:IKVM.OpenJDK.Misc.dll - -baseaddress:0x5B9D0000 + -baseaddress:0x5B970000 -resource:com/sun/servicetag/resources/javase_5_swordfish.properties=@OPENJDK7@/jdk/src/share/classes/com/sun/servicetag/resources/javase_5_swordfish.properties -resource:com/sun/servicetag/resources/javase_6_swordfish.properties=@OPENJDK7@/jdk/src/share/classes/com/sun/servicetag/resources/javase_6_swordfish.properties -resource:com/sun/servicetag/resources/javase_7_swordfish.properties=@OPENJDK7@/jdk/src/share/classes/com/sun/servicetag/resources/javase_7_swordfish.properties @@ -995,7 +995,7 @@ assembly.class } { -out:IKVM.OpenJDK.Naming.dll - -baseaddress:0x5BAC0000 + -baseaddress:0x5BA60000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/jndi/ldap/jndiprovider.properties -resource:META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor=@OPENJDK7@/jdk/src/share/classes/sun/net/spi/nameservice/dns/META-INF/services/sun.net.spi.nameservice.NameServiceDescriptor sun/net/dns/*.class @@ -1021,7 +1021,7 @@ assembly.class } { -out:IKVM.OpenJDK.Jdbc.dll - -baseaddress:0x5BC10000 + -baseaddress:0x5BBB0000 -resource:META-INF/services/java.sql.Driver=resources/META-INF/services/java.sql.Driver -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/rowset/* -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/javax/sql/* @@ -1039,7 +1039,7 @@ assembly.class } { -out:IKVM.OpenJDK.Remoting.dll - -baseaddress:0x5BD60000 + -baseaddress:0x5BD00000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/sun/rmi/* @OPENJDK7@/build/linux-amd64/classes/sun/rmi/registry/*.class @OPENJDK7@/build/linux-amd64/classes/sun/rmi/server/*.class @@ -1065,7 +1065,7 @@ assembly.class } { -out:IKVM.OpenJDK.Beans.dll - -baseaddress:0x5BE80000 + -baseaddress:0x5BE20000 @OPENJDK7@/build/linux-amd64/impsrc/com/sun/activation/registries/*.class @OPENJDK7@/build/linux-amd64/impsrc/javax/activation/*.class @OPENJDK7@/jdk/src/share/classes/com/sun/beans/*.class @@ -1078,7 +1078,7 @@ assembly.class } { -out:IKVM.OpenJDK.Media.dll - -baseaddress:0x5BF40000 + -baseaddress:0x5BEE0000 -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/META-INF/services/javax.print.* -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/META-INF/services/javax.sound.* -recurse:@OPENJDK7@/build/linux-amd64/j2re-image/lib/resources.jar/com/sun/imageio/plugins/common/iio-plugin.properties diff --git a/openjdk/sun/nio/ch/DatagramChannelImpl.java b/openjdk/sun/nio/ch/DatagramChannelImpl.java index a987bbc4..b2631530 100644 --- a/openjdk/sun/nio/ch/DatagramChannelImpl.java +++ b/openjdk/sun/nio/ch/DatagramChannelImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -657,7 +657,12 @@ class DatagramChannelImpl throw new AlreadyBoundException(); InetSocketAddress isa; if (local == null) { - isa = new InetSocketAddress(0); + // only Inet4Address allowed with IPv4 socket + if (family == StandardProtocolFamily.INET) { + isa = new InetSocketAddress(InetAddress.getByName("0.0.0.0"), 0); + } else { + isa = new InetSocketAddress(0); + } } else { isa = Net.checkAddress(local); @@ -966,7 +971,8 @@ class DatagramChannelImpl protected void implCloseSelectableChannel() throws IOException { synchronized (stateLock) { - nd.preClose(fd); + if (state != ST_KILLED) + nd.preClose(fd); ResourceManager.afterUdpClose(); // if member of mulitcast group then invalidate all keys |