Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
ebff1dcf
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ebff1dcf
编写于
9月 26, 2011
作者:
L
lana
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
18fe252c
fcf453a8
变更
217
展开全部
显示空白变更内容
内联
并排
Showing
217 changed file
with
2928 addition
and
1441 deletion
+2928
-1441
make/com/sun/net/httpserver/Makefile
make/com/sun/net/httpserver/Makefile
+3
-1
make/com/sun/net/ssl/Makefile
make/com/sun/net/ssl/Makefile
+3
-0
make/common/Defs-linux.gmk
make/common/Defs-linux.gmk
+52
-0
make/common/Defs-solaris.gmk
make/common/Defs-solaris.gmk
+64
-0
make/java/java/FILES_java.gmk
make/java/java/FILES_java.gmk
+0
-1
make/java/net/Makefile
make/java/net/Makefile
+3
-0
make/java/nio/Makefile
make/java/nio/Makefile
+0
-1
make/java/redist/Makefile
make/java/redist/Makefile
+131
-0
make/java/redist/sajdi/Makefile
make/java/redist/sajdi/Makefile
+11
-0
make/javax/Makefile
make/javax/Makefile
+1
-1
make/javax/others/Makefile
make/javax/others/Makefile
+0
-1
make/netbeans/README
make/netbeans/README
+18
-27
make/netbeans/common/closed-share-view.ent
make/netbeans/common/closed-share-view.ent
+2
-2
make/netbeans/common/java-data-native.ent
make/netbeans/common/java-data-native.ent
+6
-1
make/netbeans/common/java-data-no-native.ent
make/netbeans/common/java-data-no-native.ent
+6
-1
make/netbeans/common/jtreg-view.ent
make/netbeans/common/jtreg-view.ent
+1
-1
make/netbeans/common/sample-view.ent
make/netbeans/common/sample-view.ent
+1
-1
make/netbeans/common/share-view.ent
make/netbeans/common/share-view.ent
+1
-1
make/netbeans/common/unix-view.ent
make/netbeans/common/unix-view.ent
+1
-1
make/netbeans/common/windows-view.ent
make/netbeans/common/windows-view.ent
+1
-1
make/netbeans/j2se/nbproject/project.xml
make/netbeans/j2se/nbproject/project.xml
+5
-1
make/sun/Makefile
make/sun/Makefile
+1
-1
make/sun/javazic/tzdata/VERSION
make/sun/javazic/tzdata/VERSION
+1
-1
make/sun/javazic/tzdata/africa
make/sun/javazic/tzdata/africa
+9
-4
make/sun/javazic/tzdata/antarctica
make/sun/javazic/tzdata/antarctica
+0
-12
make/sun/javazic/tzdata/asia
make/sun/javazic/tzdata/asia
+4
-0
make/sun/javazic/tzdata/australasia
make/sun/javazic/tzdata/australasia
+67
-5
make/sun/javazic/tzdata/europe
make/sun/javazic/tzdata/europe
+52
-16
make/sun/javazic/tzdata/iso3166.tab
make/sun/javazic/tzdata/iso3166.tab
+7
-1
make/sun/javazic/tzdata/northamerica
make/sun/javazic/tzdata/northamerica
+104
-24
make/sun/javazic/tzdata/southamerica
make/sun/javazic/tzdata/southamerica
+8
-0
make/sun/javazic/tzdata/zone.tab
make/sun/javazic/tzdata/zone.tab
+5
-2
make/sun/net/Makefile
make/sun/net/Makefile
+3
-1
make/sun/net/spi/Makefile
make/sun/net/spi/Makefile
+2
-0
make/sun/net/spi/nameservice/dns/Makefile
make/sun/net/spi/nameservice/dns/Makefile
+2
-1
make/sun/util/Makefile
make/sun/util/Makefile
+40
-0
make/tools/src/build/tools/javazic/Mappings.java
make/tools/src/build/tools/javazic/Mappings.java
+3
-2
src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java
...re/classes/com/sun/net/httpserver/BasicAuthenticator.java
+4
-4
src/share/classes/com/sun/net/httpserver/Headers.java
src/share/classes/com/sun/net/httpserver/Headers.java
+2
-2
src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
...lasses/com/sun/net/httpserver/spi/HttpServerProvider.java
+9
-11
src/share/classes/com/sun/net/ssl/SSLSecurity.java
src/share/classes/com/sun/net/ssl/SSLSecurity.java
+5
-6
src/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java
...ternal/www/protocol/https/DelegateHttpsURLConnection.java
+3
-3
src/share/classes/java/io/FileInputStream.java
src/share/classes/java/io/FileInputStream.java
+2
-23
src/share/classes/java/io/FileOutputStream.java
src/share/classes/java/io/FileOutputStream.java
+3
-23
src/share/classes/java/io/RandomAccessFile.java
src/share/classes/java/io/RandomAccessFile.java
+10
-3
src/share/classes/java/lang/Boolean.java
src/share/classes/java/lang/Boolean.java
+8
-11
src/share/classes/java/lang/Double.java
src/share/classes/java/lang/Double.java
+19
-5
src/share/classes/java/lang/Float.java
src/share/classes/java/lang/Float.java
+21
-7
src/share/classes/java/lang/Integer.java
src/share/classes/java/lang/Integer.java
+6
-0
src/share/classes/java/lang/Long.java
src/share/classes/java/lang/Long.java
+6
-0
src/share/classes/java/lang/Math.java
src/share/classes/java/lang/Math.java
+397
-14
src/share/classes/java/lang/SafeVarargs.java
src/share/classes/java/lang/SafeVarargs.java
+1
-0
src/share/classes/java/lang/StrictMath.java
src/share/classes/java/lang/StrictMath.java
+72
-16
src/share/classes/java/math/BigInteger.java
src/share/classes/java/math/BigInteger.java
+82
-0
src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
...are/classes/java/net/AbstractPlainDatagramSocketImpl.java
+3
-3
src/share/classes/java/net/ContentHandler.java
src/share/classes/java/net/ContentHandler.java
+2
-2
src/share/classes/java/net/CookieManager.java
src/share/classes/java/net/CookieManager.java
+1
-2
src/share/classes/java/net/DatagramSocket.java
src/share/classes/java/net/DatagramSocket.java
+2
-4
src/share/classes/java/net/HttpURLConnection.java
src/share/classes/java/net/HttpURLConnection.java
+1
-0
src/share/classes/java/net/Inet4Address.java
src/share/classes/java/net/Inet4Address.java
+1
-3
src/share/classes/java/net/Inet4AddressImpl.java
src/share/classes/java/net/Inet4AddressImpl.java
+3
-3
src/share/classes/java/net/Inet6Address.java
src/share/classes/java/net/Inet6Address.java
+3
-3
src/share/classes/java/net/Inet6AddressImpl.java
src/share/classes/java/net/Inet6AddressImpl.java
+3
-3
src/share/classes/java/net/MulticastSocket.java
src/share/classes/java/net/MulticastSocket.java
+3
-4
src/share/classes/java/net/Proxy.java
src/share/classes/java/net/Proxy.java
+2
-2
src/share/classes/java/net/ProxySelector.java
src/share/classes/java/net/ProxySelector.java
+2
-2
src/share/classes/java/net/Socket.java
src/share/classes/java/net/Socket.java
+3
-6
src/share/classes/java/net/SocketPermission.java
src/share/classes/java/net/SocketPermission.java
+13
-10
src/share/classes/java/net/URL.java
src/share/classes/java/net/URL.java
+5
-6
src/share/classes/java/net/URLClassLoader.java
src/share/classes/java/net/URLClassLoader.java
+4
-11
src/share/classes/java/net/URLConnection.java
src/share/classes/java/net/URLConnection.java
+6
-5
src/share/classes/java/util/Formatter.java
src/share/classes/java/util/Formatter.java
+4
-5
src/share/classes/java/util/Properties.java
src/share/classes/java/util/Properties.java
+57
-0
src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
...ses/java/util/concurrent/ScheduledThreadPoolExecutor.java
+2
-2
src/share/classes/java/util/concurrent/ThreadPoolExecutor.java
...hare/classes/java/util/concurrent/ThreadPoolExecutor.java
+12
-0
src/share/classes/javax/net/ssl/SSLServerSocketFactory.java
src/share/classes/javax/net/ssl/SSLServerSocketFactory.java
+2
-2
src/share/classes/javax/net/ssl/SSLSocketFactory.java
src/share/classes/javax/net/ssl/SSLSocketFactory.java
+2
-2
src/share/classes/org/ietf/jgss/Oid.java
src/share/classes/org/ietf/jgss/Oid.java
+1
-1
src/share/classes/sun/misc/FloatingDecimal.java
src/share/classes/sun/misc/FloatingDecimal.java
+3
-4
src/share/classes/sun/misc/FormattedFloatingDecimal.java
src/share/classes/sun/misc/FormattedFloatingDecimal.java
+0
-1
src/share/classes/sun/misc/FpUtils.java
src/share/classes/sun/misc/FpUtils.java
+65
-349
src/share/classes/sun/misc/REException.java
src/share/classes/sun/misc/REException.java
+3
-0
src/share/classes/sun/net/TransferProtocolClient.java
src/share/classes/sun/net/TransferProtocolClient.java
+4
-6
src/share/classes/sun/net/ftp/FtpClientProvider.java
src/share/classes/sun/net/ftp/FtpClientProvider.java
+6
-9
src/share/classes/sun/net/httpserver/Request.java
src/share/classes/sun/net/httpserver/Request.java
+3
-6
src/share/classes/sun/net/httpserver/SSLStreams.java
src/share/classes/sun/net/httpserver/SSLStreams.java
+2
-4
src/share/classes/sun/net/httpserver/ServerImpl.java
src/share/classes/sun/net/httpserver/ServerImpl.java
+3
-3
src/share/classes/sun/net/idn/UCharacterEnums.java
src/share/classes/sun/net/idn/UCharacterEnums.java
+43
-0
src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
...e/classes/sun/net/spi/nameservice/dns/DNSNameService.java
+6
-6
src/share/classes/sun/net/www/HeaderParser.java
src/share/classes/sun/net/www/HeaderParser.java
+7
-7
src/share/classes/sun/net/www/MessageHeader.java
src/share/classes/sun/net/www/MessageHeader.java
+10
-10
src/share/classes/sun/net/www/MimeTable.java
src/share/classes/sun/net/www/MimeTable.java
+4
-8
src/share/classes/sun/net/www/URLConnection.java
src/share/classes/sun/net/www/URLConnection.java
+2
-7
src/share/classes/sun/net/www/content/image/gif.java
src/share/classes/sun/net/www/content/image/gif.java
+2
-5
src/share/classes/sun/net/www/content/image/jpeg.java
src/share/classes/sun/net/www/content/image/jpeg.java
+2
-5
src/share/classes/sun/net/www/content/image/png.java
src/share/classes/sun/net/www/content/image/png.java
+2
-5
src/share/classes/sun/net/www/content/image/x_xbitmap.java
src/share/classes/sun/net/www/content/image/x_xbitmap.java
+2
-2
src/share/classes/sun/net/www/content/image/x_xpixmap.java
src/share/classes/sun/net/www/content/image/x_xpixmap.java
+2
-2
src/share/classes/sun/net/www/http/KeepAliveStream.java
src/share/classes/sun/net/www/http/KeepAliveStream.java
+1
-1
src/share/classes/sun/net/www/protocol/gopher/GopherClient.java
...are/classes/sun/net/www/protocol/gopher/GopherClient.java
+1
-1
src/share/classes/sun/net/www/protocol/http/AuthCacheImpl.java
...hare/classes/sun/net/www/protocol/http/AuthCacheImpl.java
+13
-17
src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java
...asses/sun/net/www/protocol/http/AuthenticationHeader.java
+14
-14
src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
.../classes/sun/net/www/protocol/http/HttpURLConnection.java
+27
-22
src/share/classes/sun/net/www/protocol/http/Negotiator.java
src/share/classes/sun/net/www/protocol/http/Negotiator.java
+3
-3
src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java
...ww/protocol/https/AbstractDelegateHttpsURLConnection.java
+5
-5
src/share/classes/sun/net/www/protocol/https/HttpsClient.java
...share/classes/sun/net/www/protocol/https/HttpsClient.java
+5
-7
src/share/classes/sun/net/www/protocol/mailto/Handler.java
src/share/classes/sun/net/www/protocol/mailto/Handler.java
+15
-1
src/share/classes/sun/security/x509/AVA.java
src/share/classes/sun/security/x509/AVA.java
+12
-2
src/share/classes/sun/util/resources/TimeZoneNames.java
src/share/classes/sun/util/resources/TimeZoneNames.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_de.java
src/share/classes/sun/util/resources/TimeZoneNames_de.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_es.java
src/share/classes/sun/util/resources/TimeZoneNames_es.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_fr.java
src/share/classes/sun/util/resources/TimeZoneNames_fr.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_it.java
src/share/classes/sun/util/resources/TimeZoneNames_it.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_ja.java
src/share/classes/sun/util/resources/TimeZoneNames_ja.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_ko.java
src/share/classes/sun/util/resources/TimeZoneNames_ko.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java
...share/classes/sun/util/resources/TimeZoneNames_pt_BR.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_sv.java
src/share/classes/sun/util/resources/TimeZoneNames_sv.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java
...share/classes/sun/util/resources/TimeZoneNames_zh_CN.java
+6
-4
src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java
...share/classes/sun/util/resources/TimeZoneNames_zh_TW.java
+6
-4
src/share/classes/sun/util/xml/XMLUtils.java
src/share/classes/sun/util/xml/XMLUtils.java
+5
-4
src/solaris/classes/java/net/DefaultDatagramSocketImplFactory.java
...is/classes/java/net/DefaultDatagramSocketImplFactory.java
+2
-2
src/solaris/classes/java/net/PlainDatagramSocketImpl.java
src/solaris/classes/java/net/PlainDatagramSocketImpl.java
+3
-1
src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
...olaris/classes/sun/net/dns/ResolverConfigurationImpl.java
+11
-7
src/solaris/native/java/net/NetworkInterface.c
src/solaris/native/java/net/NetworkInterface.c
+39
-26
src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java
...ws/classes/java/net/DefaultDatagramSocketImplFactory.java
+2
-2
src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java
...ws/classes/java/net/DualStackPlainDatagramSocketImpl.java
+3
-3
src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java
...ws/classes/java/net/TwoStacksPlainDatagramSocketImpl.java
+8
-1
src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
...indows/classes/sun/net/dns/ResolverConfigurationImpl.java
+6
-4
src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java
...dows/classes/sun/net/www/protocol/jar/JarFileFactory.java
+2
-2
test/Makefile
test/Makefile
+61
-57
test/ProblemList.txt
test/ProblemList.txt
+135
-138
test/com/sun/jdi/sde/MangleStepTest.java
test/com/sun/jdi/sde/MangleStepTest.java
+5
-5
test/java/io/etc/FileDescriptorSharing.java
test/java/io/etc/FileDescriptorSharing.java
+336
-0
test/java/lang/Double/ParseHexFloatingPoint.java
test/java/lang/Double/ParseHexFloatingPoint.java
+8
-9
test/java/lang/Double/ToHexString.java
test/java/lang/Double/ToHexString.java
+0
-1
test/java/lang/Math/CeilAndFloorTests.java
test/java/lang/Math/CeilAndFloorTests.java
+11
-12
test/java/lang/Math/CubeRootTests.java
test/java/lang/Math/CubeRootTests.java
+25
-26
test/java/lang/Math/Expm1Tests.java
test/java/lang/Math/Expm1Tests.java
+8
-9
test/java/lang/Math/HyperbolicTests.java
test/java/lang/Math/HyperbolicTests.java
+9
-10
test/java/lang/Math/HypotTests.java
test/java/lang/Math/HypotTests.java
+8
-8
test/java/lang/Math/IeeeRecommendedTests.java
test/java/lang/Math/IeeeRecommendedTests.java
+29
-23
test/java/lang/Math/Log10Tests.java
test/java/lang/Math/Log10Tests.java
+8
-9
test/java/lang/Math/Log1pTests.java
test/java/lang/Math/Log1pTests.java
+8
-9
test/java/lang/Math/Rint.java
test/java/lang/Math/Rint.java
+17
-20
test/java/math/BigInteger/TestValueExact.java
test/java/math/BigInteger/TestValueExact.java
+194
-0
test/java/util/Formatter/Basic-X.java.template
test/java/util/Formatter/Basic-X.java.template
+3
-4
test/java/util/Formatter/BasicBigDecimal.java
test/java/util/Formatter/BasicBigDecimal.java
+1
-2
test/java/util/Formatter/BasicBigInteger.java
test/java/util/Formatter/BasicBigInteger.java
+1
-2
test/java/util/Formatter/BasicBoolean.java
test/java/util/Formatter/BasicBoolean.java
+1
-2
test/java/util/Formatter/BasicBooleanObject.java
test/java/util/Formatter/BasicBooleanObject.java
+1
-2
test/java/util/Formatter/BasicByte.java
test/java/util/Formatter/BasicByte.java
+1
-2
test/java/util/Formatter/BasicByteObject.java
test/java/util/Formatter/BasicByteObject.java
+1
-2
test/java/util/Formatter/BasicChar.java
test/java/util/Formatter/BasicChar.java
+1
-2
test/java/util/Formatter/BasicCharObject.java
test/java/util/Formatter/BasicCharObject.java
+1
-2
test/java/util/Formatter/BasicDateTime.java
test/java/util/Formatter/BasicDateTime.java
+1
-2
test/java/util/Formatter/BasicDouble.java
test/java/util/Formatter/BasicDouble.java
+3
-4
test/java/util/Formatter/BasicDoubleObject.java
test/java/util/Formatter/BasicDoubleObject.java
+1
-2
test/java/util/Formatter/BasicFloat.java
test/java/util/Formatter/BasicFloat.java
+1
-2
test/java/util/Formatter/BasicFloatObject.java
test/java/util/Formatter/BasicFloatObject.java
+1
-2
test/java/util/Formatter/BasicInt.java
test/java/util/Formatter/BasicInt.java
+1
-2
test/java/util/Formatter/BasicIntObject.java
test/java/util/Formatter/BasicIntObject.java
+1
-2
test/java/util/Formatter/BasicLong.java
test/java/util/Formatter/BasicLong.java
+1
-2
test/java/util/Formatter/BasicLongObject.java
test/java/util/Formatter/BasicLongObject.java
+1
-2
test/java/util/Formatter/BasicShort.java
test/java/util/Formatter/BasicShort.java
+1
-2
test/java/util/Formatter/BasicShortObject.java
test/java/util/Formatter/BasicShortObject.java
+1
-2
test/java/util/concurrent/ScheduledThreadPoolExecutor/ZeroCorePoolSize.java
...current/ScheduledThreadPoolExecutor/ZeroCorePoolSize.java
+83
-0
test/java/util/logging/ParentLoggersTest.java
test/java/util/logging/ParentLoggersTest.java
+1
-1
test/javax/security/auth/Subject/Synch.java
test/javax/security/auth/Subject/Synch.java
+3
-2
test/javax/security/auth/Subject/Synch2.java
test/javax/security/auth/Subject/Synch2.java
+3
-2
test/javax/security/auth/Subject/Synch3.java
test/javax/security/auth/Subject/Synch3.java
+3
-2
test/sun/jvmstat/perfdata/PrologSanity/PrologSizeSanityCheck.java
.../jvmstat/perfdata/PrologSanity/PrologSizeSanityCheck.java
+2
-1
test/sun/misc/JarIndex/metaInfFilenames/Basic.java
test/sun/misc/JarIndex/metaInfFilenames/Basic.java
+1
-1
test/sun/tools/common/ApplicationSetup.sh
test/sun/tools/common/ApplicationSetup.sh
+3
-3
test/sun/tools/jinfo/Basic.sh
test/sun/tools/jinfo/Basic.sh
+10
-10
test/sun/tools/jmap/Basic.sh
test/sun/tools/jmap/Basic.sh
+5
-5
test/sun/tools/jps/jps-Defaults.sh
test/sun/tools/jps/jps-Defaults.sh
+2
-2
test/sun/tools/jps/jps-V_2.sh
test/sun/tools/jps/jps-V_2.sh
+2
-2
test/sun/tools/jps/jps-Vm_2.sh
test/sun/tools/jps/jps-Vm_2.sh
+2
-2
test/sun/tools/jps/jps-Vvm.sh
test/sun/tools/jps/jps-Vvm.sh
+2
-2
test/sun/tools/jps/jps-Vvml.sh
test/sun/tools/jps/jps-Vvml.sh
+2
-2
test/sun/tools/jps/jps-Vvml_2.sh
test/sun/tools/jps/jps-Vvml_2.sh
+5
-1
test/sun/tools/jps/jps-help.sh
test/sun/tools/jps/jps-help.sh
+3
-3
test/sun/tools/jps/jps-l_1.sh
test/sun/tools/jps/jps-l_1.sh
+2
-2
test/sun/tools/jps/jps-l_2.sh
test/sun/tools/jps/jps-l_2.sh
+2
-2
test/sun/tools/jps/jps-lm.sh
test/sun/tools/jps/jps-lm.sh
+2
-2
test/sun/tools/jps/jps-m.sh
test/sun/tools/jps/jps-m.sh
+2
-2
test/sun/tools/jps/jps-m_2.sh
test/sun/tools/jps/jps-m_2.sh
+3
-3
test/sun/tools/jps/jps-q.sh
test/sun/tools/jps/jps-q.sh
+2
-2
test/sun/tools/jps/jps-v_1.sh
test/sun/tools/jps/jps-v_1.sh
+2
-2
test/sun/tools/jps/jps-vm_1.sh
test/sun/tools/jps/jps-vm_1.sh
+2
-2
test/sun/tools/jstack/Basic.sh
test/sun/tools/jstack/Basic.sh
+3
-3
test/sun/tools/jstat/jstatClassOutput1.sh
test/sun/tools/jstat/jstatClassOutput1.sh
+2
-2
test/sun/tools/jstat/jstatClassloadOutput1.sh
test/sun/tools/jstat/jstatClassloadOutput1.sh
+2
-2
test/sun/tools/jstat/jstatCompilerOutput1.sh
test/sun/tools/jstat/jstatCompilerOutput1.sh
+2
-2
test/sun/tools/jstat/jstatFileURITest1.sh
test/sun/tools/jstat/jstatFileURITest1.sh
+3
-3
test/sun/tools/jstat/jstatGcCapacityOutput1.sh
test/sun/tools/jstat/jstatGcCapacityOutput1.sh
+2
-2
test/sun/tools/jstat/jstatGcCauseOutput1.sh
test/sun/tools/jstat/jstatGcCauseOutput1.sh
+2
-2
test/sun/tools/jstat/jstatGcNewCapacityOutput1.sh
test/sun/tools/jstat/jstatGcNewCapacityOutput1.sh
+2
-2
test/sun/tools/jstat/jstatGcNewOutput1.sh
test/sun/tools/jstat/jstatGcNewOutput1.sh
+2
-2
test/sun/tools/jstat/jstatGcOldCapacityOutput1.sh
test/sun/tools/jstat/jstatGcOldCapacityOutput1.sh
+2
-2
test/sun/tools/jstat/jstatGcOldOutput1.sh
test/sun/tools/jstat/jstatGcOldOutput1.sh
+2
-2
test/sun/tools/jstat/jstatGcOutput1.sh
test/sun/tools/jstat/jstatGcOutput1.sh
+2
-2
test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh
test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh
+2
-2
test/sun/tools/jstat/jstatHelp.sh
test/sun/tools/jstat/jstatHelp.sh
+3
-3
test/sun/tools/jstat/jstatLineCounts1.sh
test/sun/tools/jstat/jstatLineCounts1.sh
+2
-2
test/sun/tools/jstat/jstatLineCounts2.sh
test/sun/tools/jstat/jstatLineCounts2.sh
+2
-2
test/sun/tools/jstat/jstatLineCounts3.sh
test/sun/tools/jstat/jstatLineCounts3.sh
+2
-2
test/sun/tools/jstat/jstatLineCounts4.sh
test/sun/tools/jstat/jstatLineCounts4.sh
+2
-2
test/sun/tools/jstat/jstatOptions1.sh
test/sun/tools/jstat/jstatOptions1.sh
+3
-3
test/sun/tools/jstat/jstatPrintCompilationOutput1.sh
test/sun/tools/jstat/jstatPrintCompilationOutput1.sh
+2
-2
test/sun/tools/jstat/jstatSnap1.sh
test/sun/tools/jstat/jstatSnap1.sh
+2
-2
test/sun/tools/jstat/jstatSnap2.sh
test/sun/tools/jstat/jstatSnap2.sh
+2
-2
test/sun/tools/jstat/jstatTimeStamp1.sh
test/sun/tools/jstat/jstatTimeStamp1.sh
+2
-2
test/sun/tools/jstatd/jstatdDefaults.sh
test/sun/tools/jstatd/jstatdDefaults.sh
+4
-4
test/sun/tools/jstatd/jstatdExternalRegistry.sh
test/sun/tools/jstatd/jstatdExternalRegistry.sh
+5
-5
test/sun/tools/jstatd/jstatdPort.sh
test/sun/tools/jstatd/jstatdPort.sh
+4
-4
test/sun/tools/jstatd/jstatdServerName.sh
test/sun/tools/jstatd/jstatdServerName.sh
+11
-11
未找到文件。
make/com/sun/net/httpserver/Makefile
浏览文件 @
ebff1dcf
#
# Copyright (c) 2005, 20
07
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2005, 20
11
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -26,6 +26,8 @@
BUILDDIR
=
../../../..
PACKAGE
=
com.sun.net.httpserver
PRODUCT
=
sun
JAVAC_MAX_WARNINGS
=
true
JAVAC_WARNINGS_FATAL
=
true
include
$(BUILDDIR)/common/Defs.gmk
#
...
...
make/com/sun/net/ssl/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -26,6 +26,9 @@
BUILDDIR
=
../../../..
PACKAGE
=
com.sun.net.ssl
PRODUCT
=
sun
JAVAC_LINT_OPTIONS
=
-Xlint
:all,-deprecation
JAVAC_MAX_WARNINGS
=
true
JAVAC_WARNINGS_FATAL
=
true
include
$(BUILDDIR)/common/Defs.gmk
#
...
...
make/common/Defs-linux.gmk
浏览文件 @
ebff1dcf
...
...
@@ -74,6 +74,57 @@ SCRIPT_SUFFIX =
CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
# Default OBJCOPY comes from GNU Binutils on Linux:
DEF_OBJCOPY=/usr/bin/objcopy
ifdef CROSS_COMPILE_ARCH
# don't try to generate .debuginfo files when cross compiling
_JUNK_ := $(shell \
echo >&2 "INFO: cross compiling for ARCH $(CROSS_COMPILE_ARCH)," \
"skipping .debuginfo generation.")
OBJCOPY=
else
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
ifneq ($(ALT_OBJCOPY),)
_JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
# disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
endif
endif
ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
# The setting of OBJCOPY above enables the JDK build to import
# .debuginfo files from the HotSpot build. However, adding FDS
# support to the JDK build will occur in phases so a different
# make variable is used to indicate that a particular library
# supports FDS.
ifeq ($(OBJCOPY),)
_JUNK_ := $(shell \
echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
else
_JUNK_ := $(shell \
echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was granted on
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
#
DEF_STRIP_POLICY="min_strip"
ifeq ($(ALT_STRIP_POLICY),)
STRIP_POLICY=$(DEF_STRIP_POLICY)
else
STRIP_POLICY=$(ALT_STRIP_POLICY)
endif
_JUNK_ := $(shell \
echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
endif
endif
#
# Default optimization
#
...
...
@@ -359,6 +410,7 @@ JA_TARGET_ENCODINGS = UTF-8
# Settings for the JDI - Serviceability Agent binding.
HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
# The JDI - Serviceability Agent binding is not currently supported
# on Linux-ia64.
...
...
make/common/Defs-solaris.gmk
浏览文件 @
ebff1dcf
...
...
@@ -74,6 +74,69 @@ SCRIPT_SUFFIX =
CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required!
CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required!
ifdef ENABLE_FULL_DEBUG_SYMBOLS
# Only check for Full Debug Symbols support on Solaris if it is
# specifically enabled. Hopefully, it can be enabled by default
# once the .debuginfo size issues are worked out.
# Default OBJCOPY comes from the SUNWbinutils package:
DEF_OBJCOPY=/usr/sfw/bin/gobjcopy
ifeq ($(PLATFORM)-$(LIBARCH), solaris-amd64)
# On Solaris AMD64/X64, gobjcopy is not happy and fails:
#
# usr/sfw/bin/gobjcopy --add-gnu-debuglink=<lib>.debuginfo <lib>.so
# BFD: stKPaiop: Not enough room for program headers, try linking with -N
# /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
# BFD: stKPaiop: Not enough room for program headers, try linking with -N
# /usr/sfw/bin/gobjcopy: libsaproc.debuginfo: Bad value
# BFD: stKPaiop: Not enough room for program headers, try linking with -N
# /usr/sfw/bin/gobjcopy: stKPaiop: Bad value
_JUNK_ := $(shell \
echo >&2 "INFO: $(DEF_OBJCOPY) is not working on Solaris AMD64/X64")
OBJCOPY=
else
OBJCOPY=$(shell test -x $(DEF_OBJCOPY) && echo $(DEF_OBJCOPY))
ifneq ($(ALT_OBJCOPY),)
_JUNK_ := $(shell echo >&2 "INFO: ALT_OBJCOPY=$(ALT_OBJCOPY)")
# disable .debuginfo support by setting ALT_OBJCOPY to a non-existent path
OBJCOPY=$(shell test -x $(ALT_OBJCOPY) && echo $(ALT_OBJCOPY))
endif
endif
ifdef LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS
# The setting of OBJCOPY above enables the JDK build to import
# .debuginfo files from the HotSpot build. However, adding FDS
# support to the JDK build will occur in phases so a different
# make variable is used to indicate that a particular library
# supports FDS.
ifeq ($(OBJCOPY),)
_JUNK_ := $(shell \
echo >&2 "INFO: no objcopy cmd found so cannot create .debuginfo files.")
else
_JUNK_ := $(shell \
echo >&2 "INFO: $(OBJCOPY) cmd found so will create .debuginfo files.")
# Library stripping policies for .debuginfo configs:
# all_strip - strips everything from the library
# min_strip - strips most stuff from the library; leaves minimum symbols
# no_strip - does not strip the library at all
#
# Oracle security policy requires "all_strip". A waiver was granted on
# 2011.09.01 that permits using "min_strip" in the Java JDK and Java JRE.
#
DEF_STRIP_POLICY="min_strip"
ifeq ($(ALT_STRIP_POLICY),)
STRIP_POLICY=$(DEF_STRIP_POLICY)
else
STRIP_POLICY=$(ALT_STRIP_POLICY)
endif
_JUNK_ := $(shell \
echo >&2 "INFO: STRIP_POLICY=$(STRIP_POLICY)")
endif
endif
endif
#
# Java default optimization (-x04/-O2) etc. Applies to the VM.
#
...
...
@@ -684,5 +747,6 @@ JA_TARGET_ENCODINGS = eucJP UTF-8 PCK
# Settings for the JDI - Serviceability Agent binding.
HOTSPOT_SALIB_PATH = $(HOTSPOT_IMPORT_PATH)/jre/lib/$(LIBARCH)
SALIB_NAME = $(LIB_PREFIX)saproc.$(LIBRARY_SUFFIX)
SA_DEBUGINFO_NAME = $(LIB_PREFIX)saproc.debuginfo
INCLUDE_SA=true
make/java/java/FILES_java.gmk
浏览文件 @
ebff1dcf
...
...
@@ -208,7 +208,6 @@ JAVA_JAVA_java = \
java/util/Observable.java \
java/util/Observer.java \
java/util/Properties.java \
java/util/XMLUtils.java \
java/util/InvalidPropertiesFormatException.java \
java/util/PropertyPermission.java \
java/util/PropertyResourceBundle.java \
...
...
make/java/net/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -27,6 +27,9 @@ BUILDDIR = ../..
PACKAGE
=
java.net
LIBRARY
=
net
PRODUCT
=
sun
JAVAC_MAX_WARNINGS
=
true
JAVAC_WARNINGS_FATAL
=
true
JAVAC_LINT_OPTIONS
=
-Xlint
:all,-deprecation
include
$(BUILDDIR)/common/Defs.gmk
#
...
...
make/java/nio/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -206,7 +206,6 @@ FILES_java += \
sun/nio/fs/LinuxUserDefinedFileAttributeView.java
\
sun/nio/fs/LinuxNativeDispatcher.java
\
sun/nio/fs/LinuxWatchService.java
\
sun/nio/fs/PollingWatchService.java
\
sun/nio/fs/UnixChannelFactory.java
\
sun/nio/fs/UnixCopyFile.java
\
sun/nio/fs/UnixDirectoryStream.java
\
...
...
make/java/redist/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -58,6 +58,11 @@ LIBJSIG_NAME = $(LIB_PREFIX)jsig.$(LIBRARY_SUFFIX)
JVMDB_NAME
=
$(LIB_PREFIX)
jvm
$(DB_SUFFIX)
.
$(LIBRARY_SUFFIX)
JVMDTRACE_NAME
=
$(LIB_PREFIX)
jvm
$(DTRACE_SUFFIX)
.
$(LIBRARY_SUFFIX)
JVM_DEBUGINFO_NAME
=
$(LIB_PREFIX)
jvm.debuginfo
LIBJSIG_DEBUGINFO_NAME
=
$(LIB_PREFIX)
jsig.debuginfo
JVMDB_DEBUGINFO_NAME
=
$(LIB_PREFIX)
jvm
$(DB_SUFFIX)
.debuginfo
JVMDTRACE_DEBUGINFO_NAME
=
$(LIB_PREFIX)
jvm
$(DTRACE_SUFFIX)
.debuginfo
CLASSSHARINGDATA_DIR
=
$(BUILDDIR)
/tools/sharing
# Needed to do file copy
...
...
@@ -79,6 +84,12 @@ INTERNAL_IMPORT_LIST = $(LIBDIR)/classlist
ifndef
BUILD_CLIENT_ONLY
IMPORT_LIST
=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/
$(JVM_NAME)
\
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/Xusage.txt
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVM_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/
$(JVM_DEBUGINFO_NAME)
endif
endif
else
IMPORT_LIST
=
endif
...
...
@@ -88,6 +99,12 @@ ifneq ($(ZERO_BUILD), true)
ifeq
($(ARCH_DATA_MODEL), 32)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/
$(JVM_NAME)
\
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/Xusage.txt
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVM_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/
$(JVM_DEBUGINFO_NAME)
endif
endif
endif
endif
...
...
@@ -157,16 +174,40 @@ else # PLATFORM
# NOT Windows vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv NOT Windows
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(LIBJSIG_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(LIBJSIG_DEBUGINFO_NAME)
endif
endif
ifndef
BUILD_CLIENT_ONLY
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/
$(LIBJSIG_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain the target of the symlink
ifneq
($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/
$(LIBJSIG_DEBUGINFO_NAME)
endif
endif
endif
ifeq
($(PLATFORM), solaris)
ifndef
BUILD_CLIENT_ONLY
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/
$(JVMDB_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDB_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/
$(JVMDB_DEBUGINFO_NAME)
endif
endif
# The conditional can be removed when import JDKs contain these files.
ifneq
($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/
$(JVMDTRACE_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/
$(JVMDTRACE_DEBUGINFO_NAME)
endif
endif
else
$(warning WARNING
:
$(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME) not found!)
endif
...
...
@@ -177,17 +218,37 @@ ifneq ($(ZERO_BUILD), true)
ifeq
($(ARCH_DATA_MODEL), 32)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/
$(LIBJSIG_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain the target of the symlink
ifneq
($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/
$(LIBJSIG_DEBUGINFO_NAME)
endif
endif
ifeq
($(PLATFORM), solaris)
# solaris vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv solaris
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/
$(JVMDB_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDB_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/
$(JVMDB_DEBUGINFO_NAME)
endif
endif
# The conditional can be removed when import JDKs contain these files.
ifneq
($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/
$(JVMDTRACE_NAME)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/64/
$(JVMDB_NAME)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/64/
$(JVMDTRACE_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/
$(JVMDTRACE_DEBUGINFO_NAME)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/64/
$(JVMDB_DEBUGINFO_NAME)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(CLIENT_LOCATION)
/64/
$(JVMDTRACE_DEBUGINFO_NAME)
endif
endif
else
$(warning WARNING
:
$(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME) not found!)
endif
...
...
@@ -196,6 +257,12 @@ ifndef BUILD_CLIENT_ONLY
# The conditional can be removed when import JDKs contain these files.
ifneq
($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/64/
$(JVMDB_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDB_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/64/
$(JVMDB_DEBUGINFO_NAME)
endif
endif
else
$(warning WARNING
:
$(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME) not found!)
endif
...
...
@@ -203,6 +270,12 @@ ifndef BUILD_CLIENT_ONLY
# The conditional can be removed when import JDKs contain these files.
ifneq
($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/64/
$(JVMDTRACE_NAME)
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SERVER_LOCATION)
/64/
$(JVMDTRACE_DEBUGINFO_NAME)
endif
endif
else
$(warning WARNING
:
$(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_NAME) not found!)
endif
...
...
@@ -229,6 +302,11 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_NAME): $(HOTSPOT_CLIENT_PATH)/$(JVM_NAM
$
(
install-import-file
)
@
$(
call
binary_file_verification,
$@
)
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVM_DEBUGINFO_NAME)
:
$(HOTSPOT_CLIENT_PATH)/$(JVM_DEBUGINFO_NAME)
$
(
install-import-file
)
endif
$(LIB_LOCATION)/$(KERNEL_LOCATION)/$(JVM_NAME)
:
$(HOTSPOT_KERNEL_PATH)/$(JVM_NAME)
$
(
install-file
)
@
$(
call
binary_file_verification,
$@
)
...
...
@@ -237,15 +315,33 @@ $(LIB_LOCATION)/$(LIBJSIG_NAME): $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJ
$
(
install-import-file
)
@
$(
call
binary_file_verification,
$@
)
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
:
$(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(LIBJSIG_DEBUGINFO_NAME)
$
(
install-import-file
)
endif
ifndef
BUILD_CLIENT_ONLY
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
\
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_NAME)
:
@
$
(
prep-target
)
$(
call
install-sym-link, ../
$(LIBJSIG_NAME)
)
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
\
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
:
@
$
(
prep-target
)
$(
call
install-sym-link, ../
$(LIBJSIG_DEBUGINFO_NAME)
)
endif
else
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_NAME)
:
@
$
(
prep-target
)
$(
call
install-sym-link, ../
$(LIBJSIG_NAME)
)
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(LIBJSIG_DEBUGINFO_NAME)
:
@
$
(
prep-target
)
$(
call
install-sym-link, ../
$(LIBJSIG_DEBUGINFO_NAME)
)
endif
endif
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_NAME)
:
$(HOTSPOT_CLIENT_PATH)/$(JVMDB_NAME)
...
...
@@ -256,6 +352,14 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_NAME): $(HOTSPOT_CLIENT_PATH)/64/$
$
(
install-import-file
)
@
$(
call
binary_file_verification,
$@
)
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDB_DEBUGINFO_NAME)
:
$(HOTSPOT_CLIENT_PATH)/$(JVMDB_DEBUGINFO_NAME)
$
(
install-import-file
)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME)
:
$(HOTSPOT_CLIENT_PATH)/64/$(JVMDB_DEBUGINFO_NAME)
$
(
install-import-file
)
endif
ifndef
BUILD_CLIENT_ONLY
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME)
:
$(HOTSPOT_SERVER_PATH)/$(JVMDB_NAME)
$
(
install-import-file
)
...
...
@@ -264,6 +368,14 @@ $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_NAME): $(HOTSPOT_SERVER_PATH)/$(JVMDB
$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_NAME)
:
$(HOTSPOT_SERVER_PATH)/64/$(JVMDB_NAME)
$
(
install-import-file
)
@
$(
call
binary_file_verification,
$@
)
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDB_DEBUGINFO_NAME)
:
$(HOTSPOT_SERVER_PATH)/$(JVMDB_DEBUGINFO_NAME)
$
(
install-import-file
)
$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDB_DEBUGINFO_NAME)
:
$(HOTSPOT_SERVER_PATH)/64/$(JVMDB_DEBUGINFO_NAME)
$
(
install-import-file
)
endif
endif
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_NAME)
:
$(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_NAME)
...
...
@@ -274,6 +386,14 @@ $(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_NAME): $(HOTSPOT_CLIENT_PATH)/
$
(
install-import-file
)
@
$(
call
binary_file_verification,
$@
)
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME)
:
$(HOTSPOT_CLIENT_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)
$
(
install-import-file
)
$(LIB_LOCATION)/$(CLIENT_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME)
:
$(HOTSPOT_CLIENT_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)
$
(
install-import-file
)
endif
ifndef
BUILD_CLIENT_ONLY
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_NAME)
:
$(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_NAME)
$
(
install-import-file
)
...
...
@@ -287,6 +407,17 @@ $(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_NAME): $(HOTSPOT_SERVER_PATH)/$(JVM_NAM
$
(
install-import-file
)
@
$(
call
binary_file_verification,
$@
)
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVMDTRACE_DEBUGINFO_NAME)
:
$(HOTSPOT_SERVER_PATH)/$(JVMDTRACE_DEBUGINFO_NAME)
$
(
install-import-file
)
$(LIB_LOCATION)/$(SERVER_LOCATION)/64/$(JVMDTRACE_DEBUGINFO_NAME)
:
$(HOTSPOT_SERVER_PATH)/64/$(JVMDTRACE_DEBUGINFO_NAME)
$
(
install-import-file
)
$(LIB_LOCATION)/$(SERVER_LOCATION)/$(JVM_DEBUGINFO_NAME)
:
$(HOTSPOT_SERVER_PATH)/$(JVM_DEBUGINFO_NAME)
$
(
install-import-file
)
endif
$(LIB_LOCATION)/$(SERVER_LOCATION)/Xusage.txt
:
$(HOTSPOT_SERVER_PATH)/Xusage.txt
$
(
install-import-file
)
endif
...
...
make/java/redist/sajdi/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -56,6 +56,12 @@ ifeq ($(INCLUDE_SA), true)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SAMAP_NAME)
\
$(LIB_LOCATION)
/
$(SAPDB_NAME)
endif
ifneq
($(OBJCOPY),)
# the import JDK may not contain .debuginfo files
ifneq
($(wildcard $(HOTSPOT_IMPORT_PATH)/$(ARCH_VM_SUBDIR)/$(SA_DEBUGINFO_NAME)),)
IMPORT_LIST
+=
$(LIB_LOCATION)
/
$(SA_DEBUGINFO_NAME)
endif
endif
endif
# INCLUDE_SA
...
...
@@ -79,6 +85,11 @@ $(LIB_LOCATION)/$(SAPDB_NAME): $(HOTSPOT_SALIB_PATH)/$(SAPDB_NAME)
$(LIB_LOCATION)/$(SAMAP_NAME)
:
$(HOTSPOT_SALIB_PATH)/$(SAMAP_NAME)
$
(
install-import-file
)
endif
# windows
ifneq
($(OBJCOPY),)
$(LIB_LOCATION)/$(SA_DEBUGINFO_NAME)
:
$(HOTSPOT_SALIB_PATH)/$(SA_DEBUGINFO_NAME)
$
(
install-import-file
)
endif
endif
# INCLUDE_SA
all
:
$(IMPORT_LIST)
...
...
make/javax/Makefile
浏览文件 @
ebff1dcf
#
# Copyright (c) 1998, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1998, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
make/javax/others/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -28,7 +28,6 @@
#
BUILDDIR
=
../..
JAVAC_MAX_WARNINGS
=
true
include
$(BUILDDIR)/common/Defs.gmk
#
...
...
make/netbeans/README
浏览文件 @
ebff1dcf
...
...
@@ -5,7 +5,7 @@ Working on OpenJDK using NetBeans
Getting Started
In addition to the source bundle for Open JDK, you'll need to download
and install copies of the JDK and of NetBeans
6
. And if you want to run
and install copies of the JDK and of NetBeans. And if you want to run
tests on the JDK (you do want to run tests, right?), you'll need to
install the jtreg test harness.
...
...
@@ -20,30 +20,28 @@ Getting Started
Downloading the JDK
You've probably done this a million times. Download and install it
from http://
java.sun.com/javase
from http://
www.oracle.com/technetwork/java/javase/overview/index.html
Downloading the OpenJDK sources
Since you're reading this, d you've already downloaded the OpenJDK
source bundle. Later in this document we'll refer to the location
where you installed the Open JDK sources as *install-dir*.
Downloading a pre-built, JDK
7
Downloading a pre-built, JDK
8
This will be necessary to do builds of some of the projects. In
general, you want to download and install a pre-built JDK that
corresponds to the OpenJDK sources you download. Building the entire
OpenJDK depends on a few parts of the pre-built JDK. Get this from
http://download.java.net/jdk
7
/binaries
http://download.java.net/jdk
8
/binaries
Note: For working on certain projects, like JMX and JConsole, you
may find convenient to use a pre-built version of JDK
7 (or
may find convenient to use a pre-built version of JDK
8 (or
OpenJDK) rather than building your own. This will allow you
to build only that part of the OpenJDK sources which correspond
to that project.
NetBeans 6
Yep, NetBeans *6*. Nope, not FCS'd yet. We're on the edge here,
enjoy it! Get the latest working development build of NetBeans 6
from http://netbeans.org
NetBeans 7.0 or later
Older versions may also work but are unsupported.
jtreg
"jtreg" is the test harness for running OpenJDK's regression tests.
...
...
@@ -51,7 +49,7 @@ Getting Started
Ant
NetBeans comes with ant, but if you use a separately-installed copy
please make sure that it is at least version 1.
7.0
.
please make sure that it is at least version 1.
8.1
.
Configuring
Building OpenJDK is hard and complex. No, strike that. While it's not
...
...
@@ -92,8 +90,8 @@ Configuring
situation:
make.options=\
ALT_BOOTDIR=/home/me/bin/jdk1.
6
.0 \
ALT_JDK_IMPORT_PATH=/home/me/bin/jdk1.
7
.0 \
ALT_BOOTDIR=/home/me/bin/jdk1.
7
.0 \
ALT_JDK_IMPORT_PATH=/home/me/bin/jdk1.
8
.0 \
OPENJDK=true
The trailing '\' are important, so that make gets the above as a
...
...
@@ -141,7 +139,7 @@ Configuring
editor.
Locale Requirements
To build the Open
JDK sources, be certain that you are using the "C"
To build the OpenJDK sources, be certain that you are using the "C"
locale on Unix (R) platforms, or "English (United States)" locale on
Windows.
...
...
@@ -603,13 +601,6 @@ Appendix 1: Customizations
* -clean-make
Known Issues
Tests won't run: waiting for lock
Occasionally when running tests, there will be a delay, followed by a
message like this:
Waiting to lock test result cache for
/tmp/jdk/build/linux-i586/jtreg/jconsole/JTwork for 20 seconds
The workaround is to stop the tests, rm -rf the offending jtreg/<project>
directory by hand, and re-run the tests.
Can't run nor debug a single test in the JConsole test
In most projects, you can run a single test by opening it in the editor,
...
...
make/netbeans/common/closed-share-view.ent
浏览文件 @
ebff1dcf
...
...
@@ -31,8 +31,8 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<source-folder
style=
"
packages
"
>
<label>
Closed
-Source Packag
es
</label>
<source-folder
style=
"
tree
"
>
<label>
Closed
Sourc
es
</label>
<location>
${root}/src/closed/share/classes
</location>
<includes>
${includes}
</includes>
<excludes>
${excludes}
</excludes>
...
...
make/netbeans/common/java-data-native.ent
浏览文件 @
ebff1dcf
...
...
@@ -38,7 +38,12 @@
<package-root>
${root}/src/solaris/classes
</package-root>
<classpath
mode=
"boot"
>
${bootstrap.jdk}/jre/lib/rt.jar
</classpath>
<built-to>
${root}/build/${platform}-${arch}/classes
</built-to>
<javadoc-built-to>
${root}/build/javadoc/${name}
</javadoc-built-to>
<javadoc-built-to>
${root}/build/${platform}-${arch}/docs/api
</javadoc-built-to>
<source-level>
1.7
</source-level>
</compilation-unit>
<compilation-unit>
<package-root>
${root}/test
</package-root>
<unit-tests/>
<source-level>
1.7
</source-level>
</compilation-unit>
</java-data>
make/netbeans/common/java-data-no-native.ent
浏览文件 @
ebff1dcf
...
...
@@ -36,7 +36,12 @@
<package-root>
${root}/src/share/classes
</package-root>
<classpath
mode=
"boot"
>
${bootstrap.jdk}/jre/lib/rt.jar
</classpath>
<built-to>
${root}/build/${platform}-${arch}/classes
</built-to>
<javadoc-built-to>
${root}/build/javadoc/${name}
</javadoc-built-to>
<javadoc-built-to>
${root}/build/${platform}-${arch}/docs/api
</javadoc-built-to>
<source-level>
1.7
</source-level>
</compilation-unit>
<compilation-unit>
<package-root>
${root}/test
</package-root>
<unit-tests/>
<source-level>
1.7
</source-level>
</compilation-unit>
</java-data>
make/netbeans/common/jtreg-view.ent
浏览文件 @
ebff1dcf
...
...
@@ -31,7 +31,7 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<source-folder
style=
"
packages
"
>
<source-folder
style=
"
tree
"
>
<label>
Tests
</label>
<location>
${root}/test
</location>
<includes>
${jtreg.tests}
</includes>
...
...
make/netbeans/common/sample-view.ent
浏览文件 @
ebff1dcf
...
...
@@ -31,7 +31,7 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<source-folder
style=
"
packages
"
>
<source-folder
style=
"
tree
"
>
<label>
Samples
</label>
<location>
${root}/src/share/sample
</location>
<includes>
${samples}
</includes>
...
...
make/netbeans/common/share-view.ent
浏览文件 @
ebff1dcf
...
...
@@ -31,7 +31,7 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<source-folder
style=
"
packages
"
>
<source-folder
style=
"
tree
"
>
<label>
Sources for All Platforms
</label>
<location>
${root}/src/share/classes
</location>
<includes>
${includes}
</includes>
...
...
make/netbeans/common/unix-view.ent
浏览文件 @
ebff1dcf
...
...
@@ -35,7 +35,7 @@
UNIX is a registered trademark in the United States and other countries,
exclusively licensed through X/Open Company, Ltd.
-->
<source-folder
style=
"
packages
"
>
<source-folder
style=
"
tree
"
>
<label>
Sources for Unix® Platform
</label>
<location>
${root}/src/solaris/classes
</location>
<includes>
${includes}
</includes>
...
...
make/netbeans/common/windows-view.ent
浏览文件 @
ebff1dcf
...
...
@@ -31,7 +31,7 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<source-folder
style=
"
packages
"
>
<source-folder
style=
"
tree
"
>
<label>
Sources for Windows Platform
</label>
<location>
${root}/src/windows/classes
</location>
<includes>
${includes}
</includes>
...
...
make/netbeans/j2se/nbproject/project.xml
浏览文件 @
ebff1dcf
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2007,
2011,
Oracle and/or its affiliates. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
...
...
@@ -36,11 +36,13 @@
<!ENTITY share-sources SYSTEM "../../common/share-sources.ent">
<!ENTITY unix-sources SYSTEM "../../common/unix-sources.ent">
<!ENTITY windows-sources SYSTEM "../../common/windows-sources.ent">
<!ENTITY jtreg-sources SYSTEM "../../common/jtreg-sources.ent">
<!ENTITY build-folder SYSTEM "../../common/build-folder.ent">
<!ENTITY standard-bindings SYSTEM "../../common/standard-bindings.ent">
<!ENTITY share-view SYSTEM "../../common/share-view.ent">
<!ENTITY unix-view SYSTEM "../../common/unix-view.ent">
<!ENTITY windows-view SYSTEM "../../common/windows-view.ent">
<!ENTITY jtreg-view SYSTEM "../../common/jtreg-view.ent">
<!ENTITY file-view SYSTEM "../../common/file-view.ent">
<!ENTITY standard-actions SYSTEM "../../common/standard-actions.ent">
<!ENTITY java-data-native SYSTEM "../../common/java-data-native.ent">
...
...
@@ -59,6 +61,7 @@
&unix-sources;
&windows-sources;
&build-folder;
&jtreg-sources;
</folders>
<ide-actions>
<action
name=
"build"
>
...
...
@@ -82,6 +85,7 @@
&share-view;
&unix-view;
&windows-view;
&jtreg-view;
&file-view;
</items>
<context-menu>
...
...
make/sun/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -68,7 +68,7 @@ else
endif
# nio need to be compiled before awt to have all charsets ready
SUBDIRS
=
jar security javazic misc net nio text launcher
SUBDIRS
=
jar security javazic misc net nio text
util
launcher
ifdef
BUILD_HEADLESS_ONLY
DISPLAY_LIBS
=
awt
$(HEADLESS_SUBDIR)
...
...
make/sun/javazic/tzdata/VERSION
浏览文件 @
ebff1dcf
...
...
@@ -21,4 +21,4 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
tzdata2011
g
tzdata2011
j
make/sun/javazic/tzdata/africa
浏览文件 @
ebff1dcf
...
...
@@ -80,7 +80,7 @@
# I invented the following abbreviations; corrections are welcome!
# 2:00 WAST West Africa Summer Time
# 2:30 BEAT British East Africa Time (no longer used)
# 2:4
4:45
BEAUT British East Africa Unified Time (no longer used)
# 2:4
5
BEAUT British East Africa Unified Time (no longer used)
# 3:00 CAST Central Africa Summer Time (no longer used)
# 3:00 SAST South Africa Summer Time (no longer used)
# 3:00 EAT East Africa Time
...
...
@@ -418,7 +418,7 @@ Zone Africa/Bissau -1:02:20 - LMT 1911 May 26
Zone Africa/Nairobi 2:27:16 - LMT 1928 Jul
3:00 - EAT 1930
2:30 - BEAT 1940
2:4
4:4
5 - BEAUT 1960
2:45 - BEAUT 1960
3:00 - EAT
# Lesotho
...
...
@@ -979,6 +979,11 @@ Zone Africa/Khartoum 2:10:08 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT
# South Sudan
Zone Africa/Juba 2:06:24 - LMT 1931
2:00 Sudan CA%sT 2000 Jan 15 12:00
3:00 - EAT
# Swaziland
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Mbabane 2:04:24 - LMT 1903 Mar
...
...
@@ -988,7 +993,7 @@ Zone Africa/Mbabane 2:04:24 - LMT 1903 Mar
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Africa/Dar_es_Salaam 2:37:08 - LMT 1931
3:00 - EAT 1948
2:4
4:4
5 - BEAUT 1961
2:45 - BEAUT 1961
3:00 - EAT
# Togo
...
...
@@ -1114,7 +1119,7 @@ Zone Africa/Tunis 0:40:44 - LMT 1881 May 12
Zone Africa/Kampala 2:09:40 - LMT 1928 Jul
3:00 - EAT 1930
2:30 - BEAT 1948
2:4
4:4
5 - BEAUT 1957
2:45 - BEAUT 1957
3:00 - EAT
# Zambia
...
...
make/sun/javazic/tzdata/antarctica
浏览文件 @
ebff1dcf
...
...
@@ -41,18 +41,6 @@
# I made up all time zone abbreviations mentioned here; corrections welcome!
# FORMAT is `zzz' and GMTOFF is 0 for locations while uninhabited.
# These rules are stolen from the `europe' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule RussAQ 1981 1984 - Apr 1 0:00 1:00 S
Rule RussAQ 1981 1983 - Oct 1 0:00 0 -
Rule RussAQ 1984 1991 - Sep lastSun 2:00s 0 -
Rule RussAQ 1985 1991 - Mar lastSun 2:00s 1:00 S
Rule RussAQ 1992 only - Mar lastSat 23:00 1:00 S
Rule RussAQ 1992 only - Sep lastSat 23:00 0 -
Rule RussAQ 1993 max - Mar lastSun 2:00s 1:00 S
Rule RussAQ 1993 1995 - Sep lastSun 2:00s 0 -
Rule RussAQ 1996 max - Oct lastSun 2:00s 0 -
# These rules are stolen from the `southamerica' file.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule ArgAQ 1964 1966 - Mar 1 0:00 0 -
...
...
make/sun/javazic/tzdata/asia
浏览文件 @
ebff1dcf
...
...
@@ -99,6 +99,10 @@ Rule RussiaAsia 1993 max - Mar lastSun 2:00s 1:00 S
Rule RussiaAsia 1993 1995 - Sep lastSun 2:00s 0 -
Rule RussiaAsia 1996 max - Oct lastSun 2:00s 0 -
# From Arthur David Olson (2011-06-15):
# While Russia abandoned DST in 2011, Armenia may choose to
# follow Russia's "old" rules.
# Afghanistan
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Kabul 4:36:48 - LMT 1890
...
...
make/sun/javazic/tzdata/australasia
浏览文件 @
ebff1dcf
...
...
@@ -521,7 +521,7 @@ Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5
# http://www.parliament.gov.ws/documents/acts/Daylight%20Saving%20Act%20%202009%20%28English%29%20-%20Final%207-7-091.pdf
# </a>
# From Raymond Hughes (2010-10-07):
# From
Laupue
Raymond Hughes (2010-10-07):
# Please see
# <a href="http://www.mcil.gov.ws">
# http://www.mcil.gov.ws
...
...
@@ -531,7 +531,7 @@ Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5
# to 01:00am and First Sunday April 2011 (03/04/11) - adjust clocks
# backwards from 1:00am to 12:00am"
# From
Raymond Hughes (2011-03-07)
# From
Laupue Raymond Hughes (2011-03-07):
# I believe this will be posted shortly on the website
# <a href="http://www.mcil.gov.ws">
# www.mcil.gov.ws
...
...
@@ -551,12 +551,74 @@ Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5
# Margaret Fruean ACTING CHIEF EXECUTIVE OFFICER MINISTRY OF COMMERCE,
# INDUSTRY AND LABOUR 28th February 2011
# From David Zuelke (2011-05-09):
# Subject: Samoa to move timezone from east to west of international date line
#
# <a href="http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963">
# http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963
# </a>
# From Mark Sim-Smith (2011-08-17):
# I have been in contact with Leilani Tuala Warren from the Samoa Law
# Reform Commission, and she has sent me a copy of the Bill that she
# confirmed has been passed...Most of the sections are about maps rather
# than the time zone change, but I'll paste the relevant bits below. But
# the essence is that at midnight 29 Dec (UTC-11 I suppose), Samoa
# changes from UTC-11 to UTC+13:
#
# International Date Line Bill 2011
#
# AN ACT to provide for the change to standard time in Samoa and to make
# consequential amendments to the position of the International Date
# Line, and for related purposes.
#
# BE IT ENACTED by the Legislative Assembly of Samoa in Parliament
# assembled as follows:
#
# 1. Short title and commencement-(1) This Act may be cited as the
# International Date Line Act 2011. (2) Except for section 5(3) this Act
# commences at 12 o'clock midnight, on Thursday 29th December 2011. (3)
# Section 5(3) commences on the date of assent by the Head of State.
#
# [snip]
#
# 3. Interpretation - [snip] "Samoa standard time" in this Act and any
# other statute of Samoa which refers to 'Samoa standard time' means the
# time 13 hours in advance of Co-ordinated Universal Time.
#
# 4. Samoa standard time - (1) Upon the commencement of this Act, Samoa
# standard time shall be set at 13 hours in advance of Co-ordinated
# Universal Time for the whole of Samoa. (2) All references to Samoa's
# time zone and to Samoa standard time in Samoa in all legislation and
# instruments after the commencement of this Act shall be references to
# Samoa standard time as provided for in this Act. (3) Nothing in this
# Act affects the provisions of the Daylight Saving Act 2009, except that
# it defines Samoa standard time....
# From Laupue Raymond Hughes (2011-09-02):
# <a href="http://www.mcil.gov.ws/mcil_publications.html">
# http://www.mcil.gov.ws/mcil_publications.html
# </a>
#
# here is the official website publication for Samoa DST and dateline change
#
# DST
# Year End Time Start Time
# 2011 - - - - - - 24 September 3:00am to 4:00am
# 2012 01 April 4:00am to 3:00am - - - - - -
#
# Dateline Change skip Friday 30th Dec 2011
# Thursday 29th December 2011 23:59:59 Hours
# Saturday 31st December 2011 00:00:00 Hours
Zone Pacific/Apia 12:33:04 - LMT 1879 Jul 5
-11:26:56 - LMT 1911
-11:30 - SAMT 1950 # Samoa Time
-11:00 - WST 2010 Sep 26
-11:00 1:00 WSDT 2011 Apr 2 4:00
-11:00 - WST
-11:00 - WST 2011 Sep 24 3:00
-11:00 1:00 WSDT 2011 Dec 30
13:00 1:00 WSDT 2012 Apr 1 4:00
13:00 - WST
# Solomon Is
# excludes Bougainville, for which see Papua New Guinea
...
...
@@ -1228,7 +1290,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# Lord Howe Island Board (controlling authority for the Island) is
# seeking the community's views on various options for summer time
# arrangements on the Island, e.g. advance clocks by 1 full hour
# instead of only 30 minutes.
Dependant
on the wishes of residents
# instead of only 30 minutes.
[Dependent]
on the wishes of residents
# the Board may approach the NSW government to change the existing
# arrangements. The starting date for summer time on the Island will
# however always coincide with the rest of NSW.
...
...
@@ -1354,7 +1416,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901
# From Paul Eggert (1996-01-22):
# Today's _Wall Street Journal_ (page 1) reports that Kiribati
# ``declared it the same day
throught
the country as of Jan. 1, 1995''
# ``declared it the same day
[throughout]
the country as of Jan. 1, 1995''
# as part of the competition to be first into the 21st century.
...
...
make/sun/javazic/tzdata/europe
浏览文件 @
ebff1dcf
...
...
@@ -587,6 +587,26 @@ Rule Russia 1993 max - Mar lastSun 2:00s 1:00 S
Rule Russia 1993 1995 - Sep lastSun 2:00s 0 -
Rule Russia 1996 max - Oct lastSun 2:00s 0 -
# From Alexander Krivenyshev (2011-06-14):
# According to Kremlin press service, Russian President Dmitry Medvedev
# signed a federal law "On calculation of time" on June 9, 2011.
# According to the law Russia is abolishing daylight saving time.
#
# Medvedev signed a law "On the Calculation of Time" (in russian):
# <a href="http://bmockbe.ru/events/?ID=7583">
# http://bmockbe.ru/events/?ID=7583
# </a>
#
# Medvedev signed a law on the calculation of the time (in russian):
# <a href="http://www.regnum.ru/news/polit/1413906.html">
# http://www.regnum.ru/news/polit/1413906.html
# </a>
# From Arthur David Olson (2011-06-15):
# Take "abolishing daylight saving time" to mean that time is now considered
# to be standard.
# At least for now, keep the "old" Russia rules for the benefit of Belarus.
# These are for backward compatibility with older versions.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
...
...
@@ -2035,7 +2055,8 @@ Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr
1:00 C-Eur CE%sT 1945
2:00 Poland CE%sT 1946
3:00 Russia MSK/MSD 1991 Mar 31 2:00s
2:00 Russia EE%sT
2:00 Russia EE%sT 2011 Mar 27 2:00s
3:00 - KALT
#
# From Oscar van Vlijmen (2001-08-25): [This region consists of]
# Respublika Adygeya, Arkhangel'skaya oblast',
...
...
@@ -2064,7 +2085,8 @@ Zone Europe/Moscow 2:30:20 - LMT 1880
2:00 - EET 1930 Jun 21
3:00 Russia MSK/MSD 1991 Mar 31 2:00s
2:00 Russia EE%sT 1992 Jan 19 2:00s
3:00 Russia MSK/MSD
3:00 Russia MSK/MSD 2011 Mar 27 2:00s
4:00 - MSK
#
# Astrakhanskaya oblast', Kirovskaya oblast', Saratovskaya oblast',
# Volgogradskaya oblast'. Shanks & Pottenger say Kirov is still at +0400
...
...
@@ -2077,7 +2099,8 @@ Zone Europe/Volgograd 2:57:40 - LMT 1920 Jan 3
4:00 Russia VOL%sT 1989 Mar 26 2:00s # Volgograd T
3:00 Russia VOL%sT 1991 Mar 31 2:00s
4:00 - VOLT 1992 Mar 29 2:00s
3:00 Russia VOL%sT
3:00 Russia VOL%sT 2011 Mar 27 2:00s
4:00 - VOLT
#
# From Oscar van Vlijmen (2001-08-25): [This region consists of]
# Samarskaya oblast', Udmyrtskaya respublika
...
...
@@ -2089,7 +2112,8 @@ Zone Europe/Samara 3:20:36 - LMT 1919 Jul 1 2:00
2:00 Russia KUY%sT 1991 Sep 29 2:00s
3:00 - KUYT 1991 Oct 20 3:00
4:00 Russia SAM%sT 2010 Mar 28 2:00s # Samara Time
3:00 Russia SAM%sT
3:00 Russia SAM%sT 2011 Mar 27 2:00s
4:00 - SAMT
#
# From Oscar van Vlijmen (2001-08-25): [This region consists of]
...
...
@@ -2102,7 +2126,8 @@ Zone Asia/Yekaterinburg 4:02:24 - LMT 1919 Jul 15 4:00
4:00 - SVET 1930 Jun 21 # Sverdlovsk Time
5:00 Russia SVE%sT 1991 Mar 31 2:00s
4:00 Russia SVE%sT 1992 Jan 19 2:00s
5:00 Russia YEK%sT # Yekaterinburg Time
5:00 Russia YEK%sT 2011 Mar 27 2:00s
6:00 - YEKT # Yekaterinburg Time
#
# From Oscar van Vlijmen (2001-08-25): [This region consists of]
# Respublika Altaj, Altajskij kraj, Omskaya oblast'.
...
...
@@ -2110,7 +2135,8 @@ Zone Asia/Omsk 4:53:36 - LMT 1919 Nov 14
5:00 - OMST 1930 Jun 21 # Omsk TIme
6:00 Russia OMS%sT 1991 Mar 31 2:00s
5:00 Russia OMS%sT 1992 Jan 19 2:00s
6:00 Russia OMS%sT
6:00 Russia OMS%sT 2011 Mar 27 2:00s
7:00 - OMST
#
# From Paul Eggert (2006-08-19): I'm guessing about Tomsk here; it's
# not clear when it switched from +7 to +6.
...
...
@@ -2120,7 +2146,8 @@ Zone Asia/Novosibirsk 5:31:40 - LMT 1919 Dec 14 6:00
7:00 Russia NOV%sT 1991 Mar 31 2:00s
6:00 Russia NOV%sT 1992 Jan 19 2:00s
7:00 Russia NOV%sT 1993 May 23 # say Shanks & P.
6:00 Russia NOV%sT
6:00 Russia NOV%sT 2011 Mar 27 2:00s
7:00 - NOVT
# From Alexander Krivenyshev (2009-10-13):
# Kemerovo oblast' (Kemerovo region) in Russia will change current time zone on
...
...
@@ -2153,7 +2180,8 @@ Zone Asia/Novokuznetsk 5:48:48 - NMT 1920 Jan 6
7:00 Russia KRA%sT 1991 Mar 31 2:00s
6:00 Russia KRA%sT 1992 Jan 19 2:00s
7:00 Russia KRA%sT 2010 Mar 28 2:00s
6:00 Russia NOV%sT # Novosibirsk/Novokuznetsk Time
6:00 Russia NOV%sT 2011 Mar 27 2:00s
7:00 - NOVT # Novosibirsk/Novokuznetsk Time
#
# From Oscar van Vlijmen (2001-08-25): [This region consists of]
...
...
@@ -2164,7 +2192,8 @@ Zone Asia/Krasnoyarsk 6:11:20 - LMT 1920 Jan 6
6:00 - KRAT 1930 Jun 21 # Krasnoyarsk Time
7:00 Russia KRA%sT 1991 Mar 31 2:00s
6:00 Russia KRA%sT 1992 Jan 19 2:00s
7:00 Russia KRA%sT
7:00 Russia KRA%sT 2011 Mar 27 2:00s
8:00 - KRAT
#
# From Oscar van Vlijmen (2001-08-25): [This region consists of]
# Respublika Buryatiya, Irkutskaya oblast',
...
...
@@ -2174,7 +2203,8 @@ Zone Asia/Irkutsk 6:57:20 - LMT 1880
7:00 - IRKT 1930 Jun 21 # Irkutsk Time
8:00 Russia IRK%sT 1991 Mar 31 2:00s
7:00 Russia IRK%sT 1992 Jan 19 2:00s
8:00 Russia IRK%sT
8:00 Russia IRK%sT 2011 Mar 27 2:00s
9:00 - IRKT
#
# From Oscar van Vlijmen (2003-10-18): [This region consists of]
# Aginskij Buryatskij avtonomnyj okrug, Amurskaya oblast',
...
...
@@ -2197,7 +2227,8 @@ Zone Asia/Yakutsk 8:38:40 - LMT 1919 Dec 15
8:00 - YAKT 1930 Jun 21 # Yakutsk Time
9:00 Russia YAK%sT 1991 Mar 31 2:00s
8:00 Russia YAK%sT 1992 Jan 19 2:00s
9:00 Russia YAK%sT
9:00 Russia YAK%sT 2011 Mar 27 2:00s
10:00 - YAKT
#
# From Oscar van Vlijmen (2003-10-18): [This region consists of]
# Evrejskaya avtonomnaya oblast', Khabarovskij kraj, Primorskij kraj,
...
...
@@ -2210,7 +2241,8 @@ Zone Asia/Vladivostok 8:47:44 - LMT 1922 Nov 15
9:00 - VLAT 1930 Jun 21 # Vladivostok Time
10:00 Russia VLA%sT 1991 Mar 31 2:00s
9:00 Russia VLA%sST 1992 Jan 19 2:00s
10:00 Russia VLA%sT
10:00 Russia VLA%sT 2011 Mar 27 2:00s
11:00 - VLAT
#
# Sakhalinskaya oblast'.
# The Zone name should be Yuzhno-Sakhalinsk, but that's too long.
...
...
@@ -2220,7 +2252,8 @@ Zone Asia/Sakhalin 9:30:48 - LMT 1905 Aug 23
11:00 Russia SAK%sT 1991 Mar 31 2:00s # Sakhalin T.
10:00 Russia SAK%sT 1992 Jan 19 2:00s
11:00 Russia SAK%sT 1997 Mar lastSun 2:00s
10:00 Russia SAK%sT
10:00 Russia SAK%sT 2011 Mar 27 2:00s
11:00 - SAKT
#
# From Oscar van Vlijmen (2003-10-18): [This region consists of]
# Magadanskaya oblast', Respublika Sakha (Yakutiya).
...
...
@@ -2233,7 +2266,8 @@ Zone Asia/Magadan 10:03:12 - LMT 1924 May 2
10:00 - MAGT 1930 Jun 21 # Magadan Time
11:00 Russia MAG%sT 1991 Mar 31 2:00s
10:00 Russia MAG%sT 1992 Jan 19 2:00s
11:00 Russia MAG%sT
11:00 Russia MAG%sT 2011 Mar 27 2:00s
12:00 - MAGT
#
# From Oscar van Vlijmen (2001-08-25): [This region consists of]
# Kamchatskaya oblast', Koryakskij avtonomnyj okrug.
...
...
@@ -2244,7 +2278,8 @@ Zone Asia/Kamchatka 10:34:36 - LMT 1922 Nov 10
12:00 Russia PET%sT 1991 Mar 31 2:00s
11:00 Russia PET%sT 1992 Jan 19 2:00s
12:00 Russia PET%sT 2010 Mar 28 2:00s
11:00 Russia PET%sT
11:00 Russia PET%sT 2011 Mar 27 2:00s
12:00 - PETT
#
# Chukotskij avtonomnyj okrug
Zone Asia/Anadyr 11:49:56 - LMT 1924 May 2
...
...
@@ -2253,7 +2288,8 @@ Zone Asia/Anadyr 11:49:56 - LMT 1924 May 2
12:00 Russia ANA%sT 1991 Mar 31 2:00s
11:00 Russia ANA%sT 1992 Jan 19 2:00s
12:00 Russia ANA%sT 2010 Mar 28 2:00s
11:00 Russia ANA%sT
11:00 Russia ANA%sT 2011 Mar 27 2:00s
12:00 - ANAT
# Serbia
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
...
...
make/sun/javazic/tzdata/iso3166.tab
浏览文件 @
ebff1dcf
...
...
@@ -43,6 +43,9 @@
#
# Lines beginning with `#' are comments.
#
# From Arthur David Olson (2011-08-17):
# Resynchronized today with the ISO 3166 site (adding SS for South Sudan).
#
#country-
#code country name
AD Andorra
...
...
@@ -52,7 +55,6 @@ AG Antigua & Barbuda
AI Anguilla
AL Albania
AM Armenia
AN Netherlands Antilles
AO Angola
AQ Antarctica
AR Argentina
...
...
@@ -75,6 +77,7 @@ BL St Barthelemy
BM Bermuda
BN Brunei
BO Bolivia
BQ Bonaire Sint Eustatius & Saba
BR Brazil
BS Bahamas
BT Bhutan
...
...
@@ -97,6 +100,7 @@ CO Colombia
CR Costa Rica
CU Cuba
CV Cape Verde
CW Curacao
CX Christmas Island
CY Cyprus
CZ Czech Republic
...
...
@@ -251,8 +255,10 @@ SM San Marino
SN Senegal
SO Somalia
SR Suriname
SS South Sudan
ST Sao Tome & Principe
SV El Salvador
SX Sint Maarten
SY Syria
SZ Swaziland
TC Turks & Caicos Is
...
...
make/sun/javazic/tzdata/northamerica
浏览文件 @
ebff1dcf
...
...
@@ -490,6 +490,10 @@ Zone America/Los_Angeles -7:52:58 - LMT 1883 Nov 18 12:07:02
# own time. I asked about daylight saving; they said it wasn't used. I
# did not inquire about practices in the past.
# From Arthur David Olson (2011-08-17):
# For lack of better information, assume that Metlakatla's
# abandonment of use of daylight saving resulted from the 1983 vote.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/Juneau 15:02:19 - LMT 1867 Oct 18
-8:57:41 - LMT 1900 Aug 20 12:00
...
...
@@ -515,7 +519,7 @@ Zone America/Metlakatla 15:13:42 - LMT 1867 Oct 18
-8:00 US P%sT 1946
-8:00 - PST 1969
-8:00 US P%sT 1983 Oct 30 2:00
-8:00
US
MeST
-8:00
-
MeST
Zone America/Yakutat 14:41:05 - LMT 1867 Oct 18
-9:18:55 - LMT 1900 Aug 20 12:00
-9:00 - YST 1942
...
...
@@ -615,8 +619,8 @@ Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00 #Schmitt&Cox
-10:30 - HST 1933 Apr 30 2:00 #Laws 1933
-10:30 1:00 HDT 1933 May 21 12:00 #Laws 1933+12
-10:30 - HST 1942 Feb 09 2:00 #Schmitt&Cox+2
-10:30 1:00 HDT 1945 Sep 30 2:00 #Schmitt&
F
ox+2
-10:30
US H%sT 1947 Jun 8 2:00 #Schmitt&F
ox+2
-10:30 1:00 HDT 1945 Sep 30 2:00 #Schmitt&
C
ox+2
-10:30
- HST 1947 Jun 8 2:00 #Schmitt&C
ox+2
-10:00 - HST
# Now we turn to US areas that have diverged from the consensus since 1970.
...
...
@@ -1185,12 +1189,39 @@ Rule StJohns 1960 1986 - Oct lastSun 2:00 0 S
# From Paul Eggert (2000-10-02):
# INMS (2000-09-12) says that, since 1988 at least, Newfoundland switches
# at 00:01 local time. For now, assume it started in 1987.
# From Michael Pelley (2011-08-05):
# The Government of Newfoundland and Labrador has pending changes to
# modify the hour for daylight savings time to come into effect in
# November 2011. This modification would change the time from 12:01AM to
# 2:00AM on the dates of the switches of Daylight Savings Time to/from
# Standard Time.
#
# As a matter of reference, in Canada provinces have the authority of
# setting time zone information. The legislation has passed our
# legislative body (The House of Assembly) and is awaiting the
# proclamation to come into effect. You may find this information at:
# <a href="http://www.assembly.nl.ca/legislation/sr/lists/Proclamation.htm">
# http://www.assembly.nl.ca/legislation/sr/lists/Proclamation.htm
# </a>
# and
# search within that web page for Standard Time (Amendment) Act. The Act
# may be found at:
# <a href="http://www.assembly.nl.ca/business/bills/Bill1106.htm">
# http://www.assembly.nl.ca/business/bills/Bill1106.htm
# </a>
# ...
# MICHAEL PELLEY | Manager of Enterprise Architecture - Solution Delivery
# Office of the Chief Information Officer Executive Council Government of
# Newfoundland & Labrador P.O. Box 8700, 40 Higgins Line, St. John's NL
# A1B 4J6
Rule StJohns 1987 only - Apr Sun>=1 0:01 1:00 D
Rule StJohns 1987 2006 - Oct lastSun 0:01 0 S
Rule StJohns 1988 only - Apr Sun>=1 0:01 2:00 DD
Rule StJohns 1989 2006 - Apr Sun>=1 0:01 1:00 D
Rule StJohns 2007
max
- Mar Sun>=8 0:01 1:00 D
Rule StJohns 2007
max
- Nov Sun>=1 0:01 0 S
Rule StJohns 2007
2011
- Mar Sun>=8 0:01 1:00 D
Rule StJohns 2007
2010
- Nov Sun>=1 0:01 0 S
#
# St John's has an apostrophe, but Posix file names can't have apostrophes.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
...
...
@@ -1200,7 +1231,8 @@ Zone America/St_Johns -3:30:52 - LMT 1884
-3:30:52 StJohns N%sT 1935 Mar 30
-3:30 StJohns N%sT 1942 May 11
-3:30 Canada N%sT 1946
-3:30 StJohns N%sT
-3:30 StJohns N%sT 2011 Nov
-3:30 Canada N%sT
# most of east Labrador
...
...
@@ -1214,7 +1246,8 @@ Zone America/Goose_Bay -4:01:40 - LMT 1884 # Happy Valley-Goose Bay
-3:30 StJohns N%sT 1942 May 11
-3:30 Canada N%sT 1946
-3:30 StJohns N%sT 1966 Mar 15 2:00
-4:00 StJohns A%sT
-4:00 StJohns A%sT 2011 Nov
-4:00 Canada A%sT
# west Labrador, Nova Scotia, Prince Edward I
...
...
@@ -1946,20 +1979,69 @@ Zone America/Dawson_Creek -8:00:56 - LMT 1884
# daylight saving....
# http://www.nnsl.com/frames/newspapers/2006-11/nov13_06none.html
# From Chris Walton (2007-03-14):
# Today I phoned the "hamlet office" to find out what Resolute was doing with
# its clocks.
# From Chris Walton (2011-03-21):
# Back in 2007 I initiated the creation of a new "zone file" for Resolute
# Bay. Resolute Bay is a small community located about 900km north of
# the Arctic Circle. The zone file was required because Resolute Bay had
# decided to use UTC-5 instead of UTC-6 for the winter of 2006-2007.
#
# According to new information which I received last week, Resolute Bay
# went back to using UTC-6 in the winter of 2007-2008...
#
# On March 11/2007 most of Canada went onto daylight saving. On March
# 14/2007 I phoned the Resolute Bay hamlet office to do a "time check." I
# talked to somebody that was both knowledgeable and helpful. I was able
# to confirm that Resolute Bay was still operating on UTC-5. It was
# explained to me that Resolute Bay had been on the Eastern Time zone
# (EST) in the winter, and was now back on the Central Time zone (CDT).
# i.e. the time zone had changed twice in the last year but the clocks
# had not moved. The residents had to know which time zone they were in
# so they could follow the correct TV schedule...
#
# On Nov 02/2008 most of Canada went onto standard time. On Nov 03/2008 I
# phoned the Resolute Bay hamlet office...[D]ue to the challenging nature
# of the phone call, I decided to seek out an alternate source of
# information. I found an e-mail address for somebody by the name of
# Stephanie Adams whose job was listed as "Inns North Support Officer for
# Arctic Co-operatives." I was under the impression that Stephanie lived
# and worked in Resolute Bay...
#
# On March 14/2011 I phoned the hamlet office again. I was told that
# Resolute Bay had been using Central Standard Time over the winter of
# 2010-2011 and that the clocks had therefore been moved one hour ahead
# on March 13/2011. The person I talked to was aware that Resolute Bay
# had previously experimented with Eastern Standard Time but he could not
# tell me when the practice had stopped.
#
# On March 17/2011 I searched the Web to find an e-mail address of
# somebody that might be able to tell me exactly when Resolute Bay went
# off Eastern Standard Time. I stumbled on the name "Aziz Kheraj." Aziz
# used to be the mayor of Resolute Bay and he apparently owns half the
# businesses including "South Camp Inn." This website has some info on
# Aziz:
# <a href="http://www.uphere.ca/node/493">
# http://www.uphere.ca/node/493
# </a>
#
# The individual that answered the phone confirmed that the clocks did not
# move at the end of daylight saving on October 29/2006. He also told me that
# the clocks did not move this past weekend (March 11/2007)....
# From Chris Walton (2008-11-13):
# ...the residents of Resolute believe that they are changing "time zones"
# twice a year. In winter months, local time is qualified with "Eastern
# Time" which is really "Eastern Standard Time (UTC-5)". In summer
# months, local time is qualified with "Central Time" which is really
# "Central Daylight Time (UTC-5)"...
# I sent Aziz an e-mail asking when Resolute Bay had stopped using
# Eastern Standard Time.
#
# Aziz responded quickly with this: "hi, The time was not changed for the
# 1 year only, the following year, the community went back to the old way
# of "spring ahead-fall behind" currently we are zulu plus 5 hrs and in
# the winter Zulu plus 6 hrs"
#
# This of course conflicted with everything I had ascertained in November 2008.
#
# I sent Aziz a copy of my 2008 e-mail exchange with Stephanie. Aziz
# responded with this: "Hi, Stephanie lives in Winnipeg. I live here, You
# may want to check with the weather office in Resolute Bay or do a
# search on the weather through Env. Canada. web site"
#
# If I had realized the Stephanie did not live in Resolute Bay I would
# never have contacted her. I now believe that all the information I
# obtained in November 2008 should be ignored...
# I apologize for reporting incorrect information in 2008.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule NT_YK 1918 only - Apr 14 2:00 1:00 D
...
...
@@ -1987,14 +2069,12 @@ Zone America/Iqaluit 0 - zzz 1942 Aug # Frobisher Bay est.
-6:00 Canada C%sT 2000 Oct 29 2:00
-5:00 Canada E%sT
# aka Qausuittuq
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Resolute 2006 max - Nov Sun>=1 2:00 0 ES
Rule Resolute 2007 max - Mar Sun>=8 2:00 0 CD
Zone America/Resolute 0 - zzz 1947 Aug 31 # Resolute founded
-6:00 NT_YK C%sT 2000 Oct 29 2:00
-5:00 - EST 2001 Apr 1 3:00
-6:00 Canada C%sT 2006 Oct 29 2:00
-5:00 Resolute %sT
-5:00 - EST 2007 Mar 11 3:00
-6:00 Canada C%sT
# aka Kangiqiniq
Zone America/Rankin_Inlet 0 - zzz 1957 # Rankin Inlet founded
-6:00 NT_YK C%sT 2000 Oct 29 2:00
...
...
make/sun/javazic/tzdata/southamerica
浏览文件 @
ebff1dcf
...
...
@@ -1298,6 +1298,14 @@ Zone America/Curacao -4:35:44 - LMT 1912 Feb 12 # Willemstad
-4:30 - ANT 1965 # Netherlands Antilles Time
-4:00 - AST
# From Arthur David Olson (2011-06-15):
# At least for now, use links for places with new iso3166 codes.
# The name "Lower Prince's Quarter" is both longer than fourteen charaters
# and contains an apostrophe; use "Lower_Princes" below.
Link America/Curacao America/Lower_Princes # Sint Maarten
Link America/Curacao America/Kralendijk # Bonaire, Sint Estatius and Saba
# Ecuador
#
# From Paul Eggert (2007-03-04):
...
...
make/sun/javazic/tzdata/zone.tab
浏览文件 @
ebff1dcf
...
...
@@ -54,7 +54,6 @@ AG +1703-06148 America/Antigua
AI +1812-06304 America/Anguilla
AL +4120+01950 Europe/Tirane
AM +4011+04430 Asia/Yerevan
AN +1211-06900 America/Curacao
AO -0848+01314 Africa/Luanda
AQ -7750+16636 Antarctica/McMurdo McMurdo Station, Ross Island
AQ -9000+00000 Antarctica/South_Pole Amundsen-Scott Station, South Pole
...
...
@@ -109,6 +108,7 @@ BL +1753-06251 America/St_Barthelemy
BM +3217-06446 Atlantic/Bermuda
BN +0456+11455 Asia/Brunei
BO -1630-06809 America/La_Paz
BQ +120903-0681636 America/Kralendijk
BR -0351-03225 America/Noronha Atlantic islands
BR -0127-04829 America/Belem Amapa, E Para
BR -0343-03830 America/Fortaleza NE Brazil (MA, PI, CE, RN, PB)
...
...
@@ -142,7 +142,7 @@ CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did
CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario
CA +6344-06828 America/Iqaluit Eastern Time - east Nunavut - most locations
CA +6608-06544 America/Pangnirtung Eastern Time - Pangnirtung, Nunavut
CA +744144-0944945 America/Resolute
Eastern
Standard Time - Resolute, Nunavut
CA +744144-0944945 America/Resolute
Central
Standard Time - Resolute, Nunavut
CA +484531-0913718 America/Atikokan Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
CA +624900-0920459 America/Rankin_Inlet Central Time - central Nunavut
CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario
...
...
@@ -177,6 +177,7 @@ CO +0436-07405 America/Bogota
CR +0956-08405 America/Costa_Rica
CU +2308-08222 America/Havana
CV +1455-02331 Atlantic/Cape_Verde
CW +1211-06900 America/Curacao
CX -1025+10543 Indian/Christmas
CY +3510+03322 Asia/Nicosia
CZ +5005+01426 Europe/Prague
...
...
@@ -382,8 +383,10 @@ SM +4355+01228 Europe/San_Marino
SN +1440-01726 Africa/Dakar
SO +0204+04522 Africa/Mogadishu
SR +0550-05510 America/Paramaribo
SS +0451+03136 Africa/Juba
ST +0020+00644 Africa/Sao_Tome
SV +1342-08912 America/El_Salvador
SX +180305-0630250 America/Lower_Princes
SY +3330+03618 Asia/Damascus
SZ -2618+03106 Africa/Mbabane
TC +2128-07108 America/Grand_Turk
...
...
make/sun/net/Makefile
浏览文件 @
ebff1dcf
#
# Copyright (c) 1995, 201
0
, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 1995, 201
1
, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
...
...
@@ -26,6 +26,8 @@
BUILDDIR
=
../..
PACKAGE
=
sun.net
PRODUCT
=
sun
SUBDIRS_MAKEFLAGS
+=
JAVAC_MAX_WARNINGS
=
true
SUBDIRS_MAKEFLAGS
+=
JAVAC_WARNINGS_FATAL
=
true
include
$(BUILDDIR)/common/Defs.gmk
SUBDIRS
=
others spi
...
...
make/sun/net/spi/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -24,6 +24,8 @@
#
BUILDDIR
=
../../..
SUBDIRS_MAKEFLAGS
+=
JAVAC_WARNINGS_FATAL
=
true
include
$(BUILDDIR)/common/Defs.gmk
SUBDIRS_misc
=
nameservice
...
...
make/sun/net/spi/nameservice/dns/Makefile
浏览文件 @
ebff1dcf
...
...
@@ -28,7 +28,8 @@
#
BUILDDIR
=
../../../../..
JAVAC_MAX_WARNINGS
=
true
JAVAC_WARNINGS_FATAL
=
true
# dns should probably be its own module
PACKAGE
=
sun.net.spi.nameservice.dns
PRODUCT
=
sun
...
...
make/sun/util/Makefile
0 → 100644
浏览文件 @
ebff1dcf
#
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation. Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
BUILDDIR
=
../..
PACKAGE
=
sun.util
PRODUCT
=
sun
include
$(BUILDDIR)/common/Defs.gmk
#
# Files
#
AUTO_FILES_JAVA_DIRS
=
sun/util/xml
#
# Rules
#
include
$(BUILDDIR)/common/Classes.gmk
make/tools/src/build/tools/javazic/Mappings.java
浏览文件 @
ebff1dcf
...
...
@@ -76,8 +76,8 @@ class Mappings {
// If the GMT offset of this Zone will change in some
// future time, this Zone is added to the exclude list.
boolean
isExcluded
=
false
;
if
(
zone
.
size
()
>
1
)
{
ZoneRec
zrec
=
zone
.
get
(
zone
.
size
()-
2
);
for
(
int
i
=
0
;
i
<
zone
.
size
();
i
++
)
{
ZoneRec
zrec
=
zone
.
get
(
i
);
if
((
zrec
.
getGmtOffset
()
!=
rawOffset
)
&&
(
zrec
.
getUntilTime
(
0
)
>
Time
.
getCurrentTime
()))
{
if
(
excludeList
==
null
)
{
...
...
@@ -85,6 +85,7 @@ class Mappings {
}
excludeList
.
add
(
zone
.
getName
());
isExcluded
=
true
;
break
;
}
}
...
...
src/share/classes/com/sun/net/httpserver/BasicAuthenticator.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2006, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2006, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -54,13 +54,13 @@ public abstract class BasicAuthenticator extends Authenticator {
public
Result
authenticate
(
HttpExchange
t
)
{
Headers
rmap
=
(
Headers
)
t
.
getRequestHeaders
();
Headers
rmap
=
t
.
getRequestHeaders
();
/*
* look for auth token
*/
String
auth
=
rmap
.
getFirst
(
"Authorization"
);
if
(
auth
==
null
)
{
Headers
map
=
(
Headers
)
t
.
getResponseHeaders
();
Headers
map
=
t
.
getResponseHeaders
();
map
.
set
(
"WWW-Authenticate"
,
"Basic realm="
+
"\""
+
realm
+
"\""
);
return
new
Authenticator
.
Retry
(
401
);
}
...
...
@@ -83,7 +83,7 @@ public abstract class BasicAuthenticator extends Authenticator {
}
else
{
/* reject the request again with 401 */
Headers
map
=
(
Headers
)
t
.
getResponseHeaders
();
Headers
map
=
t
.
getResponseHeaders
();
map
.
set
(
"WWW-Authenticate"
,
"Basic realm="
+
"\""
+
realm
+
"\""
);
return
new
Authenticator
.
Failure
(
401
);
}
...
...
src/share/classes/com/sun/net/httpserver/Headers.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -117,7 +117,7 @@ public class Headers implements Map<String,List<String>> {
* @return the first string value associated with the key
*/
public
String
getFirst
(
String
key
)
{
List
<
String
>
l
=
map
.
get
(
normalize
(
(
String
)
key
));
List
<
String
>
l
=
map
.
get
(
normalize
(
key
));
if
(
l
==
null
)
{
return
null
;
}
...
...
src/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005,
2011,
Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -81,29 +81,27 @@ public abstract class HttpServerProvider {
if
(
cn
==
null
)
return
false
;
try
{
Class
c
=
Class
.
forName
(
cn
,
true
,
Class
<?>
c
=
Class
.
forName
(
cn
,
true
,
ClassLoader
.
getSystemClassLoader
());
provider
=
(
HttpServerProvider
)
c
.
newInstance
();
return
true
;
}
catch
(
ClassNotFoundException
x
)
{
throw
new
ServiceConfigurationError
(
x
);
}
catch
(
IllegalAccessException
x
)
{
throw
new
ServiceConfigurationError
(
x
);
}
catch
(
InstantiationException
x
)
{
throw
new
ServiceConfigurationError
(
x
);
}
catch
(
SecurityException
x
)
{
}
catch
(
ClassNotFoundException
|
IllegalAccessException
|
InstantiationException
|
SecurityException
x
)
{
throw
new
ServiceConfigurationError
(
x
);
}
}
private
static
boolean
loadProviderAsService
()
{
Iterator
i
=
Service
.
providers
(
HttpServerProvider
.
class
,
@SuppressWarnings
(
"unchecked"
)
Iterator
<
HttpServerProvider
>
i
=
Service
.
providers
(
HttpServerProvider
.
class
,
ClassLoader
.
getSystemClassLoader
());
for
(;;)
{
try
{
if
(!
i
.
hasNext
())
return
false
;
provider
=
(
HttpServerProvider
)
i
.
next
();
provider
=
i
.
next
();
return
true
;
}
catch
(
ServiceConfigurationError
sce
)
{
if
(
sce
.
getCause
()
instanceof
SecurityException
)
{
...
...
src/share/classes/com/sun/net/ssl/SSLSecurity.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2000, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -77,7 +77,7 @@ final class SSLSecurity {
{
Provider
provider
=
service
.
getProvider
();
String
className
=
service
.
getClassName
();
Class
implClass
;
Class
<?>
implClass
;
try
{
ClassLoader
cl
=
provider
.
getClass
().
getClassLoader
();
if
(
cl
==
null
)
{
...
...
@@ -133,8 +133,8 @@ final class SSLSecurity {
* or someone has removed classes from the jsse.jar file.
*/
Class
typeClassJavax
;
Class
typeClassCom
;
Class
<?>
typeClassJavax
;
Class
<?>
typeClassCom
;
Object
obj
=
null
;
/*
...
...
@@ -237,7 +237,7 @@ final class SSLSecurity {
/*
* Checks whether one class is the superclass of another
*/
private
static
boolean
checkSuperclass
(
Class
subclass
,
Class
superclass
)
{
private
static
boolean
checkSuperclass
(
Class
<?>
subclass
,
Class
<?>
superclass
)
{
if
((
subclass
==
null
)
||
(
superclass
==
null
))
return
false
;
...
...
@@ -276,7 +276,6 @@ final class SSLSecurity {
* object. This also mean that anything going down into the SPI
* needs to be wrapped, as well as anything coming back up.
*/
final
class
SSLContextSpiWrapper
extends
SSLContextSpi
{
private
javax
.
net
.
ssl
.
SSLContext
theSSLContext
;
...
...
src/share/classes/com/sun/net/ssl/internal/www/protocol/https/DelegateHttpsURLConnection.java
浏览文件 @
ebff1dcf
...
...
@@ -165,10 +165,10 @@ class VerifierWrapper implements javax.net.ssl.HostnameVerifier {
private
static
String
getServername
(
X509Certificate
peerCert
)
{
try
{
// compare to subjectAltNames if dnsName is present
Collection
subjAltNames
=
peerCert
.
getSubjectAlternativeNames
();
Collection
<
List
<?>>
subjAltNames
=
peerCert
.
getSubjectAlternativeNames
();
if
(
subjAltNames
!=
null
)
{
for
(
Iterator
itr
=
subjAltNames
.
iterator
();
itr
.
hasNext
();
)
{
List
next
=
(
List
)
itr
.
next
();
for
(
Iterator
<
List
<?>>
itr
=
subjAltNames
.
iterator
();
itr
.
hasNext
();
)
{
List
<?>
next
=
itr
.
next
();
if
(((
Integer
)
next
.
get
(
0
)).
intValue
()
==
2
)
{
// compare dNSName with host in url
String
dnsName
=
((
String
)
next
.
get
(
1
));
...
...
src/share/classes/java/io/FileInputStream.java
浏览文件 @
ebff1dcf
...
...
@@ -56,16 +56,6 @@ class FileInputStream extends InputStream
private
final
Object
closeLock
=
new
Object
();
private
volatile
boolean
closed
=
false
;
private
static
final
ThreadLocal
<
Boolean
>
runningFinalize
=
new
ThreadLocal
<>();
private
static
boolean
isRunningFinalize
()
{
Boolean
val
;
if
((
val
=
runningFinalize
.
get
())
!=
null
)
return
val
.
booleanValue
();
return
false
;
}
/**
* Creates a <code>FileInputStream</code> by
* opening a connection to an actual file,
...
...
@@ -319,10 +309,10 @@ class FileInputStream extends InputStream
int
useCount
=
fd
.
decrementAndGetUseCount
();
/*
* If FileDescriptor is still in use by another stream,
the finalizer
* If FileDescriptor is still in use by another stream,
we
* will not close it.
*/
if
(
(
useCount
<=
0
)
||
!
isRunningFinalize
()
)
{
if
(
useCount
<=
0
)
{
close0
();
}
}
...
...
@@ -391,18 +381,7 @@ class FileInputStream extends InputStream
*/
protected
void
finalize
()
throws
IOException
{
if
((
fd
!=
null
)
&&
(
fd
!=
FileDescriptor
.
in
))
{
/*
* Finalizer should not release the FileDescriptor if another
* stream is still using it. If the user directly invokes
* close() then the FileDescriptor is also released.
*/
runningFinalize
.
set
(
Boolean
.
TRUE
);
try
{
close
();
}
finally
{
runningFinalize
.
set
(
Boolean
.
FALSE
);
}
}
}
}
src/share/classes/java/io/FileOutputStream.java
浏览文件 @
ebff1dcf
...
...
@@ -63,21 +63,12 @@ class FileOutputStream extends OutputStream
private
final
boolean
append
;
/**
* The associated channel, initalized lazily.
* The associated channel, init
i
alized lazily.
*/
private
FileChannel
channel
;
private
final
Object
closeLock
=
new
Object
();
private
volatile
boolean
closed
=
false
;
private
static
final
ThreadLocal
<
Boolean
>
runningFinalize
=
new
ThreadLocal
<>();
private
static
boolean
isRunningFinalize
()
{
Boolean
val
;
if
((
val
=
runningFinalize
.
get
())
!=
null
)
return
val
.
booleanValue
();
return
false
;
}
/**
* Creates a file output stream to write to the file with the
...
...
@@ -355,10 +346,10 @@ class FileOutputStream extends OutputStream
int
useCount
=
fd
.
decrementAndGetUseCount
();
/*
* If FileDescriptor is still in use by another stream,
the finalizer
* If FileDescriptor is still in use by another stream,
we
* will not close it.
*/
if
(
(
useCount
<=
0
)
||
!
isRunningFinalize
()
)
{
if
(
useCount
<=
0
)
{
close0
();
}
}
...
...
@@ -424,18 +415,7 @@ class FileOutputStream extends OutputStream
if
(
fd
==
FileDescriptor
.
out
||
fd
==
FileDescriptor
.
err
)
{
flush
();
}
else
{
/*
* Finalizer should not release the FileDescriptor if another
* stream is still using it. If the user directly invokes
* close() then the FileDescriptor is also released.
*/
runningFinalize
.
set
(
Boolean
.
TRUE
);
try
{
close
();
}
finally
{
runningFinalize
.
set
(
Boolean
.
FALSE
);
}
}
}
}
...
...
src/share/classes/java/io/RandomAccessFile.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1994, 20
07
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1994, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -590,9 +590,16 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
* Decrement FD use count associated with this stream.
* The count got incremented by FileDescriptor during its construction.
*/
fd
.
decrementAndGetUseCount
();
int
useCount
=
fd
.
decrementAndGetUseCount
();
/*
* If FileDescriptor is still in use by another stream, we
* will not close it.
*/
if
(
useCount
<=
0
)
{
close0
();
}
}
//
// Some "reading/writing Java data types" methods stolen from
...
...
src/share/classes/java/lang/Boolean.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1994, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1994, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -101,7 +101,7 @@ public final class Boolean implements java.io.Serializable,
* @param s the string to be converted to a {@code Boolean}.
*/
public
Boolean
(
String
s
)
{
this
(
to
Boolean
(
s
));
this
(
parse
Boolean
(
s
));
}
/**
...
...
@@ -118,7 +118,7 @@ public final class Boolean implements java.io.Serializable,
* @since 1.5
*/
public
static
boolean
parseBoolean
(
String
s
)
{
return
toBoolean
(
s
);
return
((
s
!=
null
)
&&
s
.
equalsIgnoreCase
(
"true"
)
);
}
/**
...
...
@@ -159,7 +159,7 @@ public final class Boolean implements java.io.Serializable,
* @return the {@code Boolean} value represented by the string.
*/
public
static
Boolean
valueOf
(
String
s
)
{
return
to
Boolean
(
s
)
?
TRUE
:
FALSE
;
return
parse
Boolean
(
s
)
?
TRUE
:
FALSE
;
}
/**
...
...
@@ -229,15 +229,16 @@ public final class Boolean implements java.io.Serializable,
*
* @param name the system property name.
* @return the {@code boolean} value of the system property.
* @throws SecurityException for the same reasons as
* {@link System#getProperty(String) System.getProperty}
* @see java.lang.System#getProperty(java.lang.String)
* @see java.lang.System#getProperty(java.lang.String, java.lang.String)
*/
public
static
boolean
getBoolean
(
String
name
)
{
boolean
result
=
false
;
try
{
result
=
toBoolean
(
System
.
getProperty
(
name
));
}
catch
(
IllegalArgumentException
e
)
{
}
catch
(
NullPointerException
e
)
{
result
=
parseBoolean
(
System
.
getProperty
(
name
));
}
catch
(
IllegalArgumentException
|
NullPointerException
e
)
{
}
return
result
;
}
...
...
@@ -275,8 +276,4 @@ public final class Boolean implements java.io.Serializable,
public
static
int
compare
(
boolean
x
,
boolean
y
)
{
return
(
x
==
y
)
?
0
:
(
x
?
1
:
-
1
);
}
private
static
boolean
toBoolean
(
String
name
)
{
return
((
name
!=
null
)
&&
name
.
equalsIgnoreCase
(
"true"
));
}
}
src/share/classes/java/lang/Double.java
浏览文件 @
ebff1dcf
...
...
@@ -276,14 +276,14 @@ public final class Double extends Number implements Comparable<Double> {
* 7.19.6.1; however, the output of this method is more
* tightly specified.
*/
if
(!
FpUtils
.
isFinite
(
d
)
)
if
(!
isFinite
(
d
)
)
// For infinity and NaN, use the decimal output.
return
Double
.
toString
(
d
);
else
{
// Initialized to maximum size of output.
StringBuffer
answer
=
new
StringBuffer
(
24
);
if
(
FpUtils
.
rawCopySign
(
1.0
,
d
)
==
-
1.0
)
// value is negative,
if
(
Math
.
copySign
(
1.0
,
d
)
==
-
1.0
)
// value is negative,
answer
.
append
(
"-"
);
// so append sign info
answer
.
append
(
"0x"
);
...
...
@@ -322,7 +322,7 @@ public final class Double extends Number implements Comparable<Double> {
// E_min -1).
answer
.
append
(
"p"
+
(
subnormal
?
DoubleConsts
.
MIN_EXPONENT
:
FpUtils
.
getExponent
(
d
)
));
Math
.
getExponent
(
d
)
));
}
return
answer
.
toString
();
}
...
...
@@ -548,7 +548,7 @@ public final class Double extends Number implements Comparable<Double> {
* @return {@code true} if the value of the argument is NaN;
* {@code false} otherwise.
*/
static
publ
ic
boolean
isNaN
(
double
v
)
{
public
stat
ic
boolean
isNaN
(
double
v
)
{
return
(
v
!=
v
);
}
...
...
@@ -560,10 +560,24 @@ public final class Double extends Number implements Comparable<Double> {
* @return {@code true} if the value of the argument is positive
* infinity or negative infinity; {@code false} otherwise.
*/
static
publ
ic
boolean
isInfinite
(
double
v
)
{
public
stat
ic
boolean
isInfinite
(
double
v
)
{
return
(
v
==
POSITIVE_INFINITY
)
||
(
v
==
NEGATIVE_INFINITY
);
}
/**
* Returns {@code true} if the argument is a finite floating-point
* value; returns {@code false} otherwise (for NaN and infinity
* arguments).
*
* @param d the {@code double} value to be tested
* @return {@code true} if the argument is a finite
* floating-point value, {@code false} otherwise.
* @since 1.8
*/
public
static
boolean
isFinite
(
double
d
)
{
return
Math
.
abs
(
d
)
<=
DoubleConsts
.
MAX_VALUE
;
}
/**
* The value of the Double.
*
...
...
src/share/classes/java/lang/Float.java
浏览文件 @
ebff1dcf
...
...
@@ -26,7 +26,6 @@
package
java.lang
;
import
sun.misc.FloatingDecimal
;
import
sun.misc.FpUtils
;
import
sun.misc.FloatConsts
;
import
sun.misc.DoubleConsts
;
...
...
@@ -279,7 +278,7 @@ public final class Float extends Number implements Comparable<Float> {
// Adjust exponent to create subnormal double, then
// replace subnormal double exponent with subnormal float
// exponent
String
s
=
Double
.
toHexString
(
FpUtils
.
scalb
((
double
)
f
,
String
s
=
Double
.
toHexString
(
Math
.
scalb
((
double
)
f
,
/* -1022+126 */
DoubleConsts
.
MIN_EXPONENT
-
FloatConsts
.
MIN_EXPONENT
));
...
...
@@ -460,7 +459,7 @@ public final class Float extends Number implements Comparable<Float> {
* @return {@code true} if the argument is NaN;
* {@code false} otherwise.
*/
static
publ
ic
boolean
isNaN
(
float
v
)
{
public
stat
ic
boolean
isNaN
(
float
v
)
{
return
(
v
!=
v
);
}
...
...
@@ -472,10 +471,25 @@ public final class Float extends Number implements Comparable<Float> {
* @return {@code true} if the argument is positive infinity or
* negative infinity; {@code false} otherwise.
*/
static
publ
ic
boolean
isInfinite
(
float
v
)
{
public
stat
ic
boolean
isInfinite
(
float
v
)
{
return
(
v
==
POSITIVE_INFINITY
)
||
(
v
==
NEGATIVE_INFINITY
);
}
/**
* Returns {@code true} if the argument is a finite floating-point
* value; returns {@code false} otherwise (for NaN and infinity
* arguments).
*
* @param f the {@code float} value to be tested
* @return {@code true} if the argument is a finite
* floating-point value, {@code false} otherwise.
* @since 1.8
*/
public
static
boolean
isFinite
(
float
f
)
{
return
Math
.
abs
(
f
)
<=
FloatConsts
.
MAX_VALUE
;
}
/**
* The value of the Float.
*
...
...
src/share/classes/java/lang/Integer.java
浏览文件 @
ebff1dcf
...
...
@@ -797,6 +797,8 @@ public final class Integer extends Number implements Comparable<Integer> {
*
* @param nm property name.
* @return the {@code Integer} value of the property.
* @throws SecurityException for the same reasons as
* {@link System#getProperty(String) System.getProperty}
* @see java.lang.System#getProperty(java.lang.String)
* @see java.lang.System#getProperty(java.lang.String, java.lang.String)
*/
...
...
@@ -841,6 +843,8 @@ public final class Integer extends Number implements Comparable<Integer> {
* @param nm property name.
* @param val default value.
* @return the {@code Integer} value of the property.
* @throws SecurityException for the same reasons as
* {@link System#getProperty(String) System.getProperty}
* @see java.lang.System#getProperty(java.lang.String)
* @see java.lang.System#getProperty(java.lang.String, java.lang.String)
*/
...
...
@@ -881,6 +885,8 @@ public final class Integer extends Number implements Comparable<Integer> {
* @param nm property name.
* @param val default value.
* @return the {@code Integer} value of the property.
* @throws SecurityException for the same reasons as
* {@link System#getProperty(String) System.getProperty}
* @see System#getProperty(java.lang.String)
* @see System#getProperty(java.lang.String, java.lang.String)
*/
...
...
src/share/classes/java/lang/Long.java
浏览文件 @
ebff1dcf
...
...
@@ -827,6 +827,8 @@ public final class Long extends Number implements Comparable<Long> {
*
* @param nm property name.
* @return the {@code Long} value of the property.
* @throws SecurityException for the same reasons as
* {@link System#getProperty(String) System.getProperty}
* @see java.lang.System#getProperty(java.lang.String)
* @see java.lang.System#getProperty(java.lang.String, java.lang.String)
*/
...
...
@@ -870,6 +872,8 @@ public final class Long extends Number implements Comparable<Long> {
* @param nm property name.
* @param val default value.
* @return the {@code Long} value of the property.
* @throws SecurityException for the same reasons as
* {@link System#getProperty(String) System.getProperty}
* @see java.lang.System#getProperty(java.lang.String)
* @see java.lang.System#getProperty(java.lang.String, java.lang.String)
*/
...
...
@@ -917,6 +921,8 @@ public final class Long extends Number implements Comparable<Long> {
* @param nm property name.
* @param val default value.
* @return the {@code Long} value of the property.
* @throws SecurityException for the same reasons as
* {@link System#getProperty(String) System.getProperty}
* @see System#getProperty(java.lang.String)
* @see System#getProperty(java.lang.String, java.lang.String)
*/
...
...
src/share/classes/java/lang/Math.java
浏览文件 @
ebff1dcf
...
...
@@ -26,6 +26,8 @@
package
java.lang
;
import
java.util.Random
;
import
sun.misc.FloatConsts
;
import
sun.misc.DoubleConsts
;
/**
* The class {@code Math} contains methods for performing basic
...
...
@@ -963,7 +965,31 @@ public final class Math {
* @since 1.5
*/
public
static
double
ulp
(
double
d
)
{
return
sun
.
misc
.
FpUtils
.
ulp
(
d
);
int
exp
=
getExponent
(
d
);
switch
(
exp
)
{
case
DoubleConsts
.
MAX_EXPONENT
+
1
:
// NaN or infinity
return
Math
.
abs
(
d
);
case
DoubleConsts
.
MIN_EXPONENT
-
1
:
// zero or subnormal
return
Double
.
MIN_VALUE
;
default
:
assert
exp
<=
DoubleConsts
.
MAX_EXPONENT
&&
exp
>=
DoubleConsts
.
MIN_EXPONENT
;
// ulp(x) is usually 2^(SIGNIFICAND_WIDTH-1)*(2^ilogb(x))
exp
=
exp
-
(
DoubleConsts
.
SIGNIFICAND_WIDTH
-
1
);
if
(
exp
>=
DoubleConsts
.
MIN_EXPONENT
)
{
return
powerOfTwoD
(
exp
);
}
else
{
// return a subnormal result; left shift integer
// representation of Double.MIN_VALUE appropriate
// number of positions
return
Double
.
longBitsToDouble
(
1L
<<
(
exp
-
(
DoubleConsts
.
MIN_EXPONENT
-
(
DoubleConsts
.
SIGNIFICAND_WIDTH
-
1
))
));
}
}
}
/**
...
...
@@ -990,7 +1016,31 @@ public final class Math {
* @since 1.5
*/
public
static
float
ulp
(
float
f
)
{
return
sun
.
misc
.
FpUtils
.
ulp
(
f
);
int
exp
=
getExponent
(
f
);
switch
(
exp
)
{
case
FloatConsts
.
MAX_EXPONENT
+
1
:
// NaN or infinity
return
Math
.
abs
(
f
);
case
FloatConsts
.
MIN_EXPONENT
-
1
:
// zero or subnormal
return
FloatConsts
.
MIN_VALUE
;
default
:
assert
exp
<=
FloatConsts
.
MAX_EXPONENT
&&
exp
>=
FloatConsts
.
MIN_EXPONENT
;
// ulp(x) is usually 2^(SIGNIFICAND_WIDTH-1)*(2^ilogb(x))
exp
=
exp
-
(
FloatConsts
.
SIGNIFICAND_WIDTH
-
1
);
if
(
exp
>=
FloatConsts
.
MIN_EXPONENT
)
{
return
powerOfTwoF
(
exp
);
}
else
{
// return a subnormal result; left shift integer
// representation of FloatConsts.MIN_VALUE appropriate
// number of positions
return
Float
.
intBitsToFloat
(
1
<<
(
exp
-
(
FloatConsts
.
MIN_EXPONENT
-
(
FloatConsts
.
SIGNIFICAND_WIDTH
-
1
))
));
}
}
}
/**
...
...
@@ -1011,7 +1061,7 @@ public final class Math {
* @since 1.5
*/
public
static
double
signum
(
double
d
)
{
return
sun
.
misc
.
FpUtils
.
signum
(
d
);
return
(
d
==
0.0
||
Double
.
isNaN
(
d
))?
d:
copySign
(
1.0
,
d
);
}
/**
...
...
@@ -1032,7 +1082,7 @@ public final class Math {
* @since 1.5
*/
public
static
float
signum
(
float
f
)
{
return
sun
.
misc
.
FpUtils
.
signum
(
f
);
return
(
f
==
0.0f
||
Float
.
isNaN
(
f
))?
f:
copySign
(
1.0f
,
f
);
}
/**
...
...
@@ -1252,7 +1302,11 @@ public final class Math {
* @since 1.6
*/
public
static
double
copySign
(
double
magnitude
,
double
sign
)
{
return
sun
.
misc
.
FpUtils
.
rawCopySign
(
magnitude
,
sign
);
return
Double
.
longBitsToDouble
((
Double
.
doubleToRawLongBits
(
sign
)
&
(
DoubleConsts
.
SIGN_BIT_MASK
))
|
(
Double
.
doubleToRawLongBits
(
magnitude
)
&
(
DoubleConsts
.
EXP_BIT_MASK
|
DoubleConsts
.
SIGNIF_BIT_MASK
)));
}
/**
...
...
@@ -1271,7 +1325,11 @@ public final class Math {
* @since 1.6
*/
public
static
float
copySign
(
float
magnitude
,
float
sign
)
{
return
sun
.
misc
.
FpUtils
.
rawCopySign
(
magnitude
,
sign
);
return
Float
.
intBitsToFloat
((
Float
.
floatToRawIntBits
(
sign
)
&
(
FloatConsts
.
SIGN_BIT_MASK
))
|
(
Float
.
floatToRawIntBits
(
magnitude
)
&
(
FloatConsts
.
EXP_BIT_MASK
|
FloatConsts
.
SIGNIF_BIT_MASK
)));
}
/**
...
...
@@ -1289,7 +1347,13 @@ public final class Math {
* @since 1.6
*/
public
static
int
getExponent
(
float
f
)
{
return
sun
.
misc
.
FpUtils
.
getExponent
(
f
);
/*
* Bitwise convert f to integer, mask out exponent bits, shift
* to the right and then subtract out float's bias adjust to
* get true exponent value
*/
return
((
Float
.
floatToRawIntBits
(
f
)
&
FloatConsts
.
EXP_BIT_MASK
)
>>
(
FloatConsts
.
SIGNIFICAND_WIDTH
-
1
))
-
FloatConsts
.
EXP_BIAS
;
}
/**
...
...
@@ -1307,7 +1371,13 @@ public final class Math {
* @since 1.6
*/
public
static
int
getExponent
(
double
d
)
{
return
sun
.
misc
.
FpUtils
.
getExponent
(
d
);
/*
* Bitwise convert d to long, mask out exponent bits, shift
* to the right and then subtract out double's bias adjust to
* get true exponent value.
*/
return
(
int
)(((
Double
.
doubleToRawLongBits
(
d
)
&
DoubleConsts
.
EXP_BIT_MASK
)
>>
(
DoubleConsts
.
SIGNIFICAND_WIDTH
-
1
))
-
DoubleConsts
.
EXP_BIAS
);
}
/**
...
...
@@ -1351,7 +1421,63 @@ public final class Math {
* @since 1.6
*/
public
static
double
nextAfter
(
double
start
,
double
direction
)
{
return
sun
.
misc
.
FpUtils
.
nextAfter
(
start
,
direction
);
/*
* The cases:
*
* nextAfter(+infinity, 0) == MAX_VALUE
* nextAfter(+infinity, +infinity) == +infinity
* nextAfter(-infinity, 0) == -MAX_VALUE
* nextAfter(-infinity, -infinity) == -infinity
*
* are naturally handled without any additional testing
*/
// First check for NaN values
if
(
Double
.
isNaN
(
start
)
||
Double
.
isNaN
(
direction
))
{
// return a NaN derived from the input NaN(s)
return
start
+
direction
;
}
else
if
(
start
==
direction
)
{
return
direction
;
}
else
{
// start > direction or start < direction
// Add +0.0 to get rid of a -0.0 (+0.0 + -0.0 => +0.0)
// then bitwise convert start to integer.
long
transducer
=
Double
.
doubleToRawLongBits
(
start
+
0.0d
);
/*
* IEEE 754 floating-point numbers are lexicographically
* ordered if treated as signed- magnitude integers .
* Since Java's integers are two's complement,
* incrementing" the two's complement representation of a
* logically negative floating-point value *decrements*
* the signed-magnitude representation. Therefore, when
* the integer representation of a floating-point values
* is less than zero, the adjustment to the representation
* is in the opposite direction than would be expected at
* first .
*/
if
(
direction
>
start
)
{
// Calculate next greater value
transducer
=
transducer
+
(
transducer
>=
0L
?
1L
:-
1L
);
}
else
{
// Calculate next lesser value
assert
direction
<
start
;
if
(
transducer
>
0L
)
--
transducer
;
else
if
(
transducer
<
0L
)
++
transducer
;
/*
* transducer==0, the result is -MIN_VALUE
*
* The transition from zero (implicitly
* positive) to the smallest negative
* signed magnitude value must be done
* explicitly.
*/
else
transducer
=
DoubleConsts
.
SIGN_BIT_MASK
|
1L
;
}
return
Double
.
longBitsToDouble
(
transducer
);
}
}
/**
...
...
@@ -1394,7 +1520,63 @@ public final class Math {
* @since 1.6
*/
public
static
float
nextAfter
(
float
start
,
double
direction
)
{
return
sun
.
misc
.
FpUtils
.
nextAfter
(
start
,
direction
);
/*
* The cases:
*
* nextAfter(+infinity, 0) == MAX_VALUE
* nextAfter(+infinity, +infinity) == +infinity
* nextAfter(-infinity, 0) == -MAX_VALUE
* nextAfter(-infinity, -infinity) == -infinity
*
* are naturally handled without any additional testing
*/
// First check for NaN values
if
(
Float
.
isNaN
(
start
)
||
Double
.
isNaN
(
direction
))
{
// return a NaN derived from the input NaN(s)
return
start
+
(
float
)
direction
;
}
else
if
(
start
==
direction
)
{
return
(
float
)
direction
;
}
else
{
// start > direction or start < direction
// Add +0.0 to get rid of a -0.0 (+0.0 + -0.0 => +0.0)
// then bitwise convert start to integer.
int
transducer
=
Float
.
floatToRawIntBits
(
start
+
0.0f
);
/*
* IEEE 754 floating-point numbers are lexicographically
* ordered if treated as signed- magnitude integers .
* Since Java's integers are two's complement,
* incrementing" the two's complement representation of a
* logically negative floating-point value *decrements*
* the signed-magnitude representation. Therefore, when
* the integer representation of a floating-point values
* is less than zero, the adjustment to the representation
* is in the opposite direction than would be expected at
* first.
*/
if
(
direction
>
start
)
{
// Calculate next greater value
transducer
=
transducer
+
(
transducer
>=
0
?
1
:-
1
);
}
else
{
// Calculate next lesser value
assert
direction
<
start
;
if
(
transducer
>
0
)
--
transducer
;
else
if
(
transducer
<
0
)
++
transducer
;
/*
* transducer==0, the result is -MIN_VALUE
*
* The transition from zero (implicitly
* positive) to the smallest negative
* signed magnitude value must be done
* explicitly.
*/
else
transducer
=
FloatConsts
.
SIGN_BIT_MASK
|
1
;
}
return
Float
.
intBitsToFloat
(
transducer
);
}
}
/**
...
...
@@ -1423,7 +1605,13 @@ public final class Math {
* @since 1.6
*/
public
static
double
nextUp
(
double
d
)
{
return
sun
.
misc
.
FpUtils
.
nextUp
(
d
);
if
(
Double
.
isNaN
(
d
)
||
d
==
Double
.
POSITIVE_INFINITY
)
return
d
;
else
{
d
+=
0.0d
;
return
Double
.
longBitsToDouble
(
Double
.
doubleToRawLongBits
(
d
)
+
((
d
>=
0.0d
)?+
1L
:-
1L
));
}
}
/**
...
...
@@ -1452,9 +1640,88 @@ public final class Math {
* @since 1.6
*/
public
static
float
nextUp
(
float
f
)
{
return
sun
.
misc
.
FpUtils
.
nextUp
(
f
);
if
(
Float
.
isNaN
(
f
)
||
f
==
FloatConsts
.
POSITIVE_INFINITY
)
return
f
;
else
{
f
+=
0.0f
;
return
Float
.
intBitsToFloat
(
Float
.
floatToRawIntBits
(
f
)
+
((
f
>=
0.0f
)?+
1
:-
1
));
}
}
/**
* Returns the floating-point value adjacent to {@code d} in
* the direction of negative infinity. This method is
* semantically equivalent to {@code nextAfter(d,
* Double.NEGATIVE_INFINITY)}; however, a
* {@code nextDown} implementation may run faster than its
* equivalent {@code nextAfter} call.
*
* <p>Special Cases:
* <ul>
* <li> If the argument is NaN, the result is NaN.
*
* <li> If the argument is negative infinity, the result is
* negative infinity.
*
* <li> If the argument is zero, the result is
* {@code -Double.MIN_VALUE}
*
* </ul>
*
* @param d starting floating-point value
* @return The adjacent floating-point value closer to negative
* infinity.
* @since 1.8
*/
public
static
double
nextDown
(
double
d
)
{
if
(
Double
.
isNaN
(
d
)
||
d
==
Double
.
NEGATIVE_INFINITY
)
return
d
;
else
{
if
(
d
==
0.0
)
return
-
Double
.
MIN_VALUE
;
else
return
Double
.
longBitsToDouble
(
Double
.
doubleToRawLongBits
(
d
)
+
((
d
>
0.0d
)?-
1L
:+
1L
));
}
}
/**
* Returns the floating-point value adjacent to {@code f} in
* the direction of negative infinity. This method is
* semantically equivalent to {@code nextAfter(f,
* Float.NEGATIVE_INFINITY)}; however, a
* {@code nextDown} implementation may run faster than its
* equivalent {@code nextAfter} call.
*
* <p>Special Cases:
* <ul>
* <li> If the argument is NaN, the result is NaN.
*
* <li> If the argument is negative infinity, the result is
* negative infinity.
*
* <li> If the argument is zero, the result is
* {@code -Float.MIN_VALUE}
*
* </ul>
*
* @param f starting floating-point value
* @return The adjacent floating-point value closer to negative
* infinity.
* @since 1.8
*/
public
static
float
nextDown
(
float
f
)
{
if
(
Float
.
isNaN
(
f
)
||
f
==
Float
.
NEGATIVE_INFINITY
)
return
f
;
else
{
if
(
f
==
0.0f
)
return
-
Float
.
MIN_VALUE
;
else
return
Float
.
intBitsToFloat
(
Float
.
floatToRawIntBits
(
f
)
+
((
f
>
0.0f
)?-
1
:+
1
));
}
}
/**
* Return {@code d} ×
...
...
@@ -1487,7 +1754,80 @@ public final class Math {
* @since 1.6
*/
public
static
double
scalb
(
double
d
,
int
scaleFactor
)
{
return
sun
.
misc
.
FpUtils
.
scalb
(
d
,
scaleFactor
);
/*
* This method does not need to be declared strictfp to
* compute the same correct result on all platforms. When
* scaling up, it does not matter what order the
* multiply-store operations are done; the result will be
* finite or overflow regardless of the operation ordering.
* However, to get the correct result when scaling down, a
* particular ordering must be used.
*
* When scaling down, the multiply-store operations are
* sequenced so that it is not possible for two consecutive
* multiply-stores to return subnormal results. If one
* multiply-store result is subnormal, the next multiply will
* round it away to zero. This is done by first multiplying
* by 2 ^ (scaleFactor % n) and then multiplying several
* times by by 2^n as needed where n is the exponent of number
* that is a covenient power of two. In this way, at most one
* real rounding error occurs. If the double value set is
* being used exclusively, the rounding will occur on a
* multiply. If the double-extended-exponent value set is
* being used, the products will (perhaps) be exact but the
* stores to d are guaranteed to round to the double value
* set.
*
* It is _not_ a valid implementation to first multiply d by
* 2^MIN_EXPONENT and then by 2 ^ (scaleFactor %
* MIN_EXPONENT) since even in a strictfp program double
* rounding on underflow could occur; e.g. if the scaleFactor
* argument was (MIN_EXPONENT - n) and the exponent of d was a
* little less than -(MIN_EXPONENT - n), meaning the final
* result would be subnormal.
*
* Since exact reproducibility of this method can be achieved
* without any undue performance burden, there is no
* compelling reason to allow double rounding on underflow in
* scalb.
*/
// magnitude of a power of two so large that scaling a finite
// nonzero value by it would be guaranteed to over or
// underflow; due to rounding, scaling down takes takes an
// additional power of two which is reflected here
final
int
MAX_SCALE
=
DoubleConsts
.
MAX_EXPONENT
+
-
DoubleConsts
.
MIN_EXPONENT
+
DoubleConsts
.
SIGNIFICAND_WIDTH
+
1
;
int
exp_adjust
=
0
;
int
scale_increment
=
0
;
double
exp_delta
=
Double
.
NaN
;
// Make sure scaling factor is in a reasonable range
if
(
scaleFactor
<
0
)
{
scaleFactor
=
Math
.
max
(
scaleFactor
,
-
MAX_SCALE
);
scale_increment
=
-
512
;
exp_delta
=
twoToTheDoubleScaleDown
;
}
else
{
scaleFactor
=
Math
.
min
(
scaleFactor
,
MAX_SCALE
);
scale_increment
=
512
;
exp_delta
=
twoToTheDoubleScaleUp
;
}
// Calculate (scaleFactor % +/-512), 512 = 2^9, using
// technique from "Hacker's Delight" section 10-2.
int
t
=
(
scaleFactor
>>
9
-
1
)
>>>
32
-
9
;
exp_adjust
=
((
scaleFactor
+
t
)
&
(
512
-
1
))
-
t
;
d
*=
powerOfTwoD
(
exp_adjust
);
scaleFactor
-=
exp_adjust
;
while
(
scaleFactor
!=
0
)
{
d
*=
exp_delta
;
scaleFactor
-=
scale_increment
;
}
return
d
;
}
/**
...
...
@@ -1521,6 +1861,49 @@ public final class Math {
* @since 1.6
*/
public
static
float
scalb
(
float
f
,
int
scaleFactor
)
{
return
sun
.
misc
.
FpUtils
.
scalb
(
f
,
scaleFactor
);
// magnitude of a power of two so large that scaling a finite
// nonzero value by it would be guaranteed to over or
// underflow; due to rounding, scaling down takes takes an
// additional power of two which is reflected here
final
int
MAX_SCALE
=
FloatConsts
.
MAX_EXPONENT
+
-
FloatConsts
.
MIN_EXPONENT
+
FloatConsts
.
SIGNIFICAND_WIDTH
+
1
;
// Make sure scaling factor is in a reasonable range
scaleFactor
=
Math
.
max
(
Math
.
min
(
scaleFactor
,
MAX_SCALE
),
-
MAX_SCALE
);
/*
* Since + MAX_SCALE for float fits well within the double
* exponent range and + float -> double conversion is exact
* the multiplication below will be exact. Therefore, the
* rounding that occurs when the double product is cast to
* float will be the correctly rounded float result. Since
* all operations other than the final multiply will be exact,
* it is not necessary to declare this method strictfp.
*/
return
(
float
)((
double
)
f
*
powerOfTwoD
(
scaleFactor
));
}
// Constants used in scalb
static
double
twoToTheDoubleScaleUp
=
powerOfTwoD
(
512
);
static
double
twoToTheDoubleScaleDown
=
powerOfTwoD
(-
512
);
/**
* Returns a floating-point power of two in the normal range.
*/
static
double
powerOfTwoD
(
int
n
)
{
assert
(
n
>=
DoubleConsts
.
MIN_EXPONENT
&&
n
<=
DoubleConsts
.
MAX_EXPONENT
);
return
Double
.
longBitsToDouble
((((
long
)
n
+
(
long
)
DoubleConsts
.
EXP_BIAS
)
<<
(
DoubleConsts
.
SIGNIFICAND_WIDTH
-
1
))
&
DoubleConsts
.
EXP_BIT_MASK
);
}
/**
* Returns a floating-point power of two in the normal range.
*/
public
static
float
powerOfTwoF
(
int
n
)
{
assert
(
n
>=
FloatConsts
.
MIN_EXPONENT
&&
n
<=
FloatConsts
.
MAX_EXPONENT
);
return
Float
.
intBitsToFloat
(((
n
+
FloatConsts
.
EXP_BIAS
)
<<
(
FloatConsts
.
SIGNIFICAND_WIDTH
-
1
))
&
FloatConsts
.
EXP_BIT_MASK
);
}
}
src/share/classes/java/lang/SafeVarargs.java
浏览文件 @
ebff1dcf
...
...
@@ -82,6 +82,7 @@ import java.lang.annotation.*;
*
* </ul>
*
* @since 1.7
* @jls 4.7 Reifiable Types
* @jls 8.4.1 Formal Parameters
*/
...
...
src/share/classes/java/lang/StrictMath.java
浏览文件 @
ebff1dcf
...
...
@@ -25,7 +25,6 @@
package
java.lang
;
import
java.util.Random
;
import
sun.misc.FpUtils
;
import
sun.misc.DoubleConsts
;
/**
...
...
@@ -428,7 +427,7 @@ public final class StrictMath {
* 1.0, which is exact too.
*/
double
twoToThe52
=
(
double
)(
1L
<<
52
);
// 2^52
double
sign
=
FpUtils
.
rawC
opySign
(
1.0
,
a
);
// preserve sign info
double
sign
=
Math
.
c
opySign
(
1.0
,
a
);
// preserve sign info
a
=
Math
.
abs
(
a
);
if
(
a
<
twoToThe52
)
{
// E_min <= ilogb(a) <= 51
...
...
@@ -955,7 +954,7 @@ public final class StrictMath {
* @since 1.5
*/
public
static
double
ulp
(
double
d
)
{
return
sun
.
misc
.
FpUtils
.
ulp
(
d
);
return
Math
.
ulp
(
d
);
}
/**
...
...
@@ -982,7 +981,7 @@ public final class StrictMath {
* @since 1.5
*/
public
static
float
ulp
(
float
f
)
{
return
sun
.
misc
.
FpUtils
.
ulp
(
f
);
return
Math
.
ulp
(
f
);
}
/**
...
...
@@ -1003,7 +1002,7 @@ public final class StrictMath {
* @since 1.5
*/
public
static
double
signum
(
double
d
)
{
return
sun
.
misc
.
FpUtils
.
signum
(
d
);
return
Math
.
signum
(
d
);
}
/**
...
...
@@ -1024,7 +1023,7 @@ public final class StrictMath {
* @since 1.5
*/
public
static
float
signum
(
float
f
)
{
return
sun
.
misc
.
FpUtils
.
signum
(
f
);
return
Math
.
signum
(
f
);
}
/**
...
...
@@ -1202,7 +1201,7 @@ public final class StrictMath {
* @since 1.6
*/
public
static
double
copySign
(
double
magnitude
,
double
sign
)
{
return
sun
.
misc
.
FpUtils
.
copySign
(
magnitude
,
sign
);
return
Math
.
copySign
(
magnitude
,
(
Double
.
isNaN
(
sign
)?
1.0d
:
sign
)
);
}
/**
...
...
@@ -1218,7 +1217,7 @@ public final class StrictMath {
* @since 1.6
*/
public
static
float
copySign
(
float
magnitude
,
float
sign
)
{
return
sun
.
misc
.
FpUtils
.
copySign
(
magnitude
,
sign
);
return
Math
.
copySign
(
magnitude
,
(
Float
.
isNaN
(
sign
)?
1.0f
:
sign
)
);
}
/**
* Returns the unbiased exponent used in the representation of a
...
...
@@ -1234,7 +1233,7 @@ public final class StrictMath {
* @since 1.6
*/
public
static
int
getExponent
(
float
f
)
{
return
sun
.
misc
.
FpUtils
.
getExponent
(
f
);
return
Math
.
getExponent
(
f
);
}
/**
...
...
@@ -1251,7 +1250,7 @@ public final class StrictMath {
* @since 1.6
*/
public
static
int
getExponent
(
double
d
)
{
return
sun
.
misc
.
FpUtils
.
getExponent
(
d
);
return
Math
.
getExponent
(
d
);
}
/**
...
...
@@ -1294,7 +1293,7 @@ public final class StrictMath {
* @since 1.6
*/
public
static
double
nextAfter
(
double
start
,
double
direction
)
{
return
sun
.
misc
.
FpUtils
.
nextAfter
(
start
,
direction
);
return
Math
.
nextAfter
(
start
,
direction
);
}
/**
...
...
@@ -1336,7 +1335,7 @@ public final class StrictMath {
* @since 1.6
*/
public
static
float
nextAfter
(
float
start
,
double
direction
)
{
return
sun
.
misc
.
FpUtils
.
nextAfter
(
start
,
direction
);
return
Math
.
nextAfter
(
start
,
direction
);
}
/**
...
...
@@ -1365,7 +1364,7 @@ public final class StrictMath {
* @since 1.6
*/
public
static
double
nextUp
(
double
d
)
{
return
sun
.
misc
.
FpUtils
.
nextUp
(
d
);
return
Math
.
nextUp
(
d
);
}
/**
...
...
@@ -1394,9 +1393,66 @@ public final class StrictMath {
* @since 1.6
*/
public
static
float
nextUp
(
float
f
)
{
return
sun
.
misc
.
FpUtils
.
nextUp
(
f
);
return
Math
.
nextUp
(
f
);
}
/**
* Returns the floating-point value adjacent to {@code d} in
* the direction of negative infinity. This method is
* semantically equivalent to {@code nextAfter(d,
* Double.NEGATIVE_INFINITY)}; however, a
* {@code nextDown} implementation may run faster than its
* equivalent {@code nextAfter} call.
*
* <p>Special Cases:
* <ul>
* <li> If the argument is NaN, the result is NaN.
*
* <li> If the argument is negative infinity, the result is
* negative infinity.
*
* <li> If the argument is zero, the result is
* {@code -Double.MIN_VALUE}
*
* </ul>
*
* @param d starting floating-point value
* @return The adjacent floating-point value closer to negative
* infinity.
* @since 1.8
*/
public
static
double
nextDown
(
double
d
)
{
return
Math
.
nextDown
(
d
);
}
/**
* Returns the floating-point value adjacent to {@code f} in
* the direction of negative infinity. This method is
* semantically equivalent to {@code nextAfter(f,
* Float.NEGATIVE_INFINITY)}; however, a
* {@code nextDown} implementation may run faster than its
* equivalent {@code nextAfter} call.
*
* <p>Special Cases:
* <ul>
* <li> If the argument is NaN, the result is NaN.
*
* <li> If the argument is negative infinity, the result is
* negative infinity.
*
* <li> If the argument is zero, the result is
* {@code -Float.MIN_VALUE}
*
* </ul>
*
* @param f starting floating-point value
* @return The adjacent floating-point value closer to negative
* infinity.
* @since 1.8
*/
public
static
float
nextDown
(
float
f
)
{
return
Math
.
nextDown
(
f
);
}
/**
* Return {@code d} ×
...
...
@@ -1429,7 +1485,7 @@ public final class StrictMath {
* @since 1.6
*/
public
static
double
scalb
(
double
d
,
int
scaleFactor
)
{
return
sun
.
misc
.
FpUtils
.
scalb
(
d
,
scaleFactor
);
return
Math
.
scalb
(
d
,
scaleFactor
);
}
/**
...
...
@@ -1463,6 +1519,6 @@ public final class StrictMath {
* @since 1.6
*/
public
static
float
scalb
(
float
f
,
int
scaleFactor
)
{
return
sun
.
misc
.
FpUtils
.
scalb
(
f
,
scaleFactor
);
return
Math
.
scalb
(
f
,
scaleFactor
);
}
}
src/share/classes/java/math/BigInteger.java
浏览文件 @
ebff1dcf
...
...
@@ -2919,6 +2919,7 @@ public class BigInteger extends Number implements Comparable<BigInteger> {
* result with the opposite sign.
*
* @return this BigInteger converted to an {@code int}.
* @see #intValueExact()
*/
public
int
intValue
()
{
int
result
=
0
;
...
...
@@ -2939,6 +2940,7 @@ public class BigInteger extends Number implements Comparable<BigInteger> {
* result with the opposite sign.
*
* @return this BigInteger converted to a {@code long}.
* @see #longValueExact()
*/
public
long
longValue
()
{
long
result
=
0
;
...
...
@@ -3382,4 +3384,84 @@ public class BigInteger extends Number implements Comparable<BigInteger> {
}
return
result
;
}
/**
* Converts this {@code BigInteger} to a {@code long}, checking
* for lost information. If the value of this {@code BigInteger}
* is out of the range of the {@code long} type, then an
* {@code ArithmeticException} is thrown.
*
* @return this {@code BigInteger} converted to a {@code long}.
* @throws ArithmeticException if the value of {@code this} will
* not exactly fit in a {@code long}.
* @see BigInteger#longValue
* @since 1.8
*/
public
long
longValueExact
()
{
if
(
mag
.
length
<=
2
&&
bitLength
()
<=
63
)
return
longValue
();
else
throw
new
ArithmeticException
(
"BigInteger out of long range"
);
}
/**
* Converts this {@code BigInteger} to an {@code int}, checking
* for lost information. If the value of this {@code BigInteger}
* is out of the range of the {@code int} type, then an
* {@code ArithmeticException} is thrown.
*
* @return this {@code BigInteger} converted to an {@code int}.
* @throws ArithmeticException if the value of {@code this} will
* not exactly fit in a {@code int}.
* @see BigInteger#intValue
* @since 1.8
*/
public
int
intValueExact
()
{
if
(
mag
.
length
<=
1
&&
bitLength
()
<=
31
)
return
intValue
();
else
throw
new
ArithmeticException
(
"BigInteger out of int range"
);
}
/**
* Converts this {@code BigInteger} to a {@code short}, checking
* for lost information. If the value of this {@code BigInteger}
* is out of the range of the {@code short} type, then an
* {@code ArithmeticException} is thrown.
*
* @return this {@code BigInteger} converted to a {@code short}.
* @throws ArithmeticException if the value of {@code this} will
* not exactly fit in a {@code short}.
* @see BigInteger#shortValue
* @since 1.8
*/
public
short
shortValueExact
()
{
if
(
mag
.
length
<=
1
&&
bitLength
()
<=
31
)
{
int
value
=
intValue
();
if
(
value
>=
Short
.
MIN_VALUE
&&
value
<=
Short
.
MAX_VALUE
)
return
shortValue
();
}
throw
new
ArithmeticException
(
"BigInteger out of short range"
);
}
/**
* Converts this {@code BigInteger} to a {@code byte}, checking
* for lost information. If the value of this {@code BigInteger}
* is out of the range of the {@code byte} type, then an
* {@code ArithmeticException} is thrown.
*
* @return this {@code BigInteger} converted to a {@code byte}.
* @throws ArithmeticException if the value of {@code this} will
* not exactly fit in a {@code byte}.
* @see BigInteger#byteValue
* @since 1.8
*/
public
byte
byteValueExact
()
{
if
(
mag
.
length
<=
1
&&
bitLength
()
<=
31
)
{
int
value
=
intValue
();
if
(
value
>=
Byte
.
MIN_VALUE
&&
value
<=
Byte
.
MAX_VALUE
)
return
byteValue
();
}
throw
new
ArithmeticException
(
"BigInteger out of byte range"
);
}
}
src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
浏览文件 @
ebff1dcf
...
...
@@ -26,8 +26,6 @@ package java.net;
import
java.io.FileDescriptor
;
import
java.io.IOException
;
import
java.io.InterruptedIOException
;
import
java.util.Enumeration
;
import
sun.net.ResourceManager
;
/**
...
...
@@ -66,8 +64,8 @@ abstract class AbstractPlainDatagramSocketImpl extends DatagramSocketImpl
* Creates a datagram socket
*/
protected
synchronized
void
create
()
throws
SocketException
{
fd
=
new
FileDescriptor
();
ResourceManager
.
beforeUdpCreate
();
fd
=
new
FileDescriptor
();
try
{
datagramSocketCreate
();
}
catch
(
SocketException
ioe
)
{
...
...
@@ -153,11 +151,13 @@ abstract class AbstractPlainDatagramSocketImpl extends DatagramSocketImpl
* Set the TTL (time-to-live) option.
* @param TTL to be set.
*/
@Deprecated
protected
abstract
void
setTTL
(
byte
ttl
)
throws
IOException
;
/**
* Get the TTL (time-to-live) option.
*/
@Deprecated
protected
abstract
byte
getTTL
()
throws
IOException
;
/**
...
...
src/share/classes/java/net/ContentHandler.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1995, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -96,7 +96,7 @@ abstract public class ContentHandler {
* @exception IOException if an I/O error occurs while reading the object.
* @since 1.3
*/
public
Object
getContent
(
URLConnection
urlc
,
Class
[]
classes
)
throws
IOException
{
public
Object
getContent
(
URLConnection
urlc
,
Class
<?>
[]
classes
)
throws
IOException
{
Object
obj
=
getContent
(
urlc
);
for
(
int
i
=
0
;
i
<
classes
.
length
;
i
++)
{
...
...
src/share/classes/java/net/CookieManager.java
浏览文件 @
ebff1dcf
...
...
@@ -249,7 +249,6 @@ public class CookieManager extends CookieHandler
return
Collections
.
unmodifiableMap
(
cookieMap
);
}
public
void
put
(
URI
uri
,
Map
<
String
,
List
<
String
>>
responseHeaders
)
throws
IOException
...
...
@@ -284,7 +283,7 @@ public class CookieManager extends CookieHandler
cookies
=
HttpCookie
.
parse
(
headerValue
);
}
catch
(
IllegalArgumentException
e
)
{
// Bogus header, make an empty list and log the error
cookies
=
java
.
util
.
Collections
.
EMPTY_LIST
;
cookies
=
java
.
util
.
Collections
.
emptyList
()
;
if
(
logger
.
isLoggable
(
PlatformLogger
.
SEVERE
))
{
logger
.
severe
(
"Invalid cookie for "
+
uri
+
": "
+
headerValue
);
}
...
...
src/share/classes/java/net/DatagramSocket.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1995, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,9 +25,7 @@
package
java.net
;
import
java.io.FileDescriptor
;
import
java.io.IOException
;
import
java.io.InterruptedIOException
;
import
java.nio.channels.DatagramChannel
;
import
java.security.AccessController
;
import
java.security.PrivilegedExceptionAction
;
...
...
@@ -300,7 +298,7 @@ class DatagramSocket implements java.io.Closeable {
}
}
static
Class
implClass
=
null
;
static
Class
<?>
implClass
=
null
;
void
createImpl
()
throws
SocketException
{
if
(
impl
==
null
)
{
...
...
src/share/classes/java/net/HttpURLConnection.java
浏览文件 @
ebff1dcf
...
...
@@ -535,6 +535,7 @@ abstract public class HttpURLConnection extends URLConnection {
return
responseMessage
;
}
@SuppressWarnings
(
"deprecation"
)
public
long
getHeaderFieldDate
(
String
name
,
long
Default
)
{
String
dateString
=
getHeaderField
(
name
);
try
{
...
...
src/share/classes/java/net/Inet4Address.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2000, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,9 +25,7 @@
package
java.net
;
import
java.security.AccessController
;
import
java.io.ObjectStreamException
;
import
sun.security.action.*
;
/**
* This class represents an Internet Protocol version 4 (IPv4) address.
...
...
src/share/classes/java/net/Inet4AddressImpl.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2002, 20
05
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -59,11 +59,11 @@ class Inet4AddressImpl implements InetAddressImpl {
/*
* Let's make sure we use an address of the proper family
*/
java
.
util
.
Enumeration
it
=
netif
.
getInetAddresses
();
java
.
util
.
Enumeration
<
InetAddress
>
it
=
netif
.
getInetAddresses
();
InetAddress
inetaddr
=
null
;
while
(!(
inetaddr
instanceof
Inet4Address
)
&&
it
.
hasMoreElements
())
inetaddr
=
(
InetAddress
)
it
.
nextElement
();
inetaddr
=
it
.
nextElement
();
if
(
inetaddr
instanceof
Inet4Address
)
ifaddr
=
inetaddr
.
getAddress
();
}
...
...
src/share/classes/java/net/Inet6Address.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2000, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -383,9 +383,9 @@ class Inet6Address extends InetAddress {
while
(
en
.
hasMoreElements
())
{
NetworkInterface
ifc
=
en
.
nextElement
();
if
(
ifc
.
getName
().
equals
(
ifname
))
{
Enumeration
addresses
=
ifc
.
getInetAddresses
();
Enumeration
<
InetAddress
>
addresses
=
ifc
.
getInetAddresses
();
while
(
addresses
.
hasMoreElements
())
{
InetAddress
addr
=
(
InetAddress
)
addresses
.
nextElement
();
InetAddress
addr
=
addresses
.
nextElement
();
if
(!(
addr
instanceof
Inet6Address
))
{
continue
;
}
...
...
src/share/classes/java/net/Inet6AddressImpl.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2002, 20
05
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -54,10 +54,10 @@ class Inet6AddressImpl implements InetAddressImpl {
* be either an IPv6 address or an IPv4 address (case of a dual
* stack system).
*/
java
.
util
.
Enumeration
it
=
netif
.
getInetAddresses
();
java
.
util
.
Enumeration
<
InetAddress
>
it
=
netif
.
getInetAddresses
();
InetAddress
inetaddr
=
null
;
while
(
it
.
hasMoreElements
())
{
inetaddr
=
(
InetAddress
)
it
.
nextElement
();
inetaddr
=
it
.
nextElement
();
if
(
inetaddr
.
getClass
().
isInstance
(
addr
))
{
ifaddr
=
inetaddr
.
getAddress
();
if
(
inetaddr
instanceof
Inet6Address
)
{
...
...
src/share/classes/java/net/MulticastSocket.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1995, 20
07
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -26,7 +26,6 @@
package
java.net
;
import
java.io.IOException
;
import
java.io.InterruptedIOException
;
import
java.util.Enumeration
;
/**
...
...
@@ -500,9 +499,9 @@ class MulticastSocket extends DatagramSocket {
*/
try
{
NetworkInterface
ni
=
NetworkInterface
.
getByInetAddress
(
ia
);
Enumeration
addrs
=
ni
.
getInetAddresses
();
Enumeration
<
InetAddress
>
addrs
=
ni
.
getInetAddresses
();
while
(
addrs
.
hasMoreElements
())
{
InetAddress
addr
=
(
InetAddress
)(
addrs
.
nextElement
()
);
InetAddress
addr
=
addrs
.
nextElement
(
);
if
(
addr
.
equals
(
infAddress
))
{
return
infAddress
;
}
...
...
src/share/classes/java/net/Proxy.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2003, 20
05
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -73,7 +73,7 @@ public class Proxy {
// Creates the proxy that represents a <code>DIRECT</code> connection.
private
Proxy
()
{
type
=
t
ype
.
DIRECT
;
type
=
T
ype
.
DIRECT
;
sa
=
null
;
}
...
...
src/share/classes/java/net/ProxySelector.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2003, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -69,7 +69,7 @@ public abstract class ProxySelector {
static
{
try
{
Class
c
=
Class
.
forName
(
"sun.net.spi.DefaultProxySelector"
);
Class
<?>
c
=
Class
.
forName
(
"sun.net.spi.DefaultProxySelector"
);
if
(
c
!=
null
&&
ProxySelector
.
class
.
isAssignableFrom
(
c
))
{
theProxySelector
=
(
ProxySelector
)
c
.
newInstance
();
}
...
...
src/share/classes/java/net/Socket.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1995, 20
08
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -459,13 +459,10 @@ class Socket implements java.io.Closeable {
oldImpl
=
AccessController
.
doPrivileged
(
new
PrivilegedAction
<
Boolean
>()
{
public
Boolean
run
()
{
Class
[]
cl
=
new
Class
[
2
];
cl
[
0
]
=
SocketAddress
.
class
;
cl
[
1
]
=
Integer
.
TYPE
;
Class
clazz
=
impl
.
getClass
();
Class
<?>
clazz
=
impl
.
getClass
();
while
(
true
)
{
try
{
clazz
.
getDeclaredMethod
(
"connect"
,
cl
);
clazz
.
getDeclaredMethod
(
"connect"
,
SocketAddress
.
class
,
int
.
class
);
return
Boolean
.
FALSE
;
}
catch
(
NoSuchMethodException
e
)
{
clazz
=
clazz
.
getSuperclass
();
...
...
src/share/classes/java/net/SocketPermission.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1997, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -467,6 +467,7 @@ implements java.io.Serializable
* @param action the action string
* @return the action mask
*/
@SuppressWarnings
(
"fallthrough"
)
private
static
int
getMask
(
String
action
)
{
if
(
action
==
null
)
{
...
...
@@ -1231,7 +1232,7 @@ final class SocketPermissionCollection extends PermissionCollection
implements
Serializable
{
// Not serialized; see serialization section at end of class
private
transient
List
perms
;
private
transient
List
<
SocketPermission
>
perms
;
/**
* Create an empty SocketPermissions object.
...
...
@@ -1239,7 +1240,7 @@ implements Serializable
*/
public
SocketPermissionCollection
()
{
perms
=
new
ArrayList
();
perms
=
new
ArrayList
<
SocketPermission
>
();
}
/**
...
...
@@ -1267,7 +1268,7 @@ implements Serializable
// optimization to ensure perms most likely to be tested
// show up early (4301064)
synchronized
(
this
)
{
perms
.
add
(
0
,
permission
);
perms
.
add
(
0
,
(
SocketPermission
)
permission
);
}
}
...
...
@@ -1296,7 +1297,7 @@ implements Serializable
int
len
=
perms
.
size
();
//System.out.println("implies "+np);
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
SocketPermission
x
=
(
SocketPermission
)
perms
.
get
(
i
);
SocketPermission
x
=
perms
.
get
(
i
);
//System.out.println(" trying "+x);
if
(((
needed
&
x
.
getMask
())
!=
0
)
&&
x
.
impliesIgnoreMask
(
np
))
{
effective
|=
x
.
getMask
();
...
...
@@ -1316,10 +1317,11 @@ implements Serializable
* @return an enumeration of all the SocketPermission objects.
*/
public
Enumeration
elements
()
{
@SuppressWarnings
(
"unchecked"
)
public
Enumeration
<
Permission
>
elements
()
{
// Convert Iterator into Enumeration
synchronized
(
this
)
{
return
Collections
.
enumeration
(
perms
);
return
Collections
.
enumeration
(
(
List
<
Permission
>)(
List
)
perms
);
}
}
...
...
@@ -1353,7 +1355,7 @@ implements Serializable
// Don't call out.defaultWriteObject()
// Write out Vector
Vector
permissions
=
new
Vector
(
perms
.
size
());
Vector
<
SocketPermission
>
permissions
=
new
Vector
<>
(
perms
.
size
());
synchronized
(
this
)
{
permissions
.
addAll
(
perms
);
...
...
@@ -1375,8 +1377,9 @@ implements Serializable
ObjectInputStream
.
GetField
gfields
=
in
.
readFields
();
// Get the one we want
Vector
permissions
=
(
Vector
)
gfields
.
get
(
"permissions"
,
null
);
perms
=
new
ArrayList
(
permissions
.
size
());
@SuppressWarnings
(
"unchecked"
)
Vector
<
SocketPermission
>
permissions
=
(
Vector
<
SocketPermission
>)
gfields
.
get
(
"permissions"
,
null
);
perms
=
new
ArrayList
<
SocketPermission
>(
permissions
.
size
());
perms
.
addAll
(
permissions
);
}
}
src/share/classes/java/net/URL.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1995, 20
08
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -27,7 +27,6 @@ package java.net;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.util.Hashtable
;
import
java.util.StringTokenizer
;
import
sun.security.util.SecurityConstants
;
...
...
@@ -1113,7 +1112,7 @@ public final class URL implements java.io.Serializable {
/**
* A table of protocol handlers.
*/
static
Hashtable
handlers
=
new
Hashtable
();
static
Hashtable
<
String
,
URLStreamHandler
>
handlers
=
new
Hashtable
<>
();
private
static
Object
streamHandlerLock
=
new
Object
();
/**
...
...
@@ -1122,7 +1121,7 @@ public final class URL implements java.io.Serializable {
*/
static
URLStreamHandler
getURLStreamHandler
(
String
protocol
)
{
URLStreamHandler
handler
=
(
URLStreamHandler
)
handlers
.
get
(
protocol
);
URLStreamHandler
handler
=
handlers
.
get
(
protocol
);
if
(
handler
==
null
)
{
boolean
checkedWithFactory
=
false
;
...
...
@@ -1160,7 +1159,7 @@ public final class URL implements java.io.Serializable {
try
{
String
clsName
=
packagePrefix
+
"."
+
protocol
+
".Handler"
;
Class
cls
=
null
;
Class
<?>
cls
=
null
;
try
{
cls
=
Class
.
forName
(
clsName
);
}
catch
(
ClassNotFoundException
e
)
{
...
...
@@ -1185,7 +1184,7 @@ public final class URL implements java.io.Serializable {
// Check again with hashtable just in case another
// thread created a handler since we last checked
handler2
=
(
URLStreamHandler
)
handlers
.
get
(
protocol
);
handler2
=
handlers
.
get
(
protocol
);
if
(
handler2
!=
null
)
{
return
handler2
;
...
...
src/share/classes/java/net/URLClassLoader.java
浏览文件 @
ebff1dcf
...
...
@@ -25,14 +25,7 @@
package
java.net
;
import
java.lang.reflect.Method
;
import
java.lang.reflect.Modifier
;
import
java.lang.ref.*
;
import
java.io.*
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.net.URLStreamHandlerFactory
;
import
java.util.Enumeration
;
import
java.util.*
;
import
java.util.jar.Manifest
;
import
java.util.jar.JarFile
;
...
...
@@ -352,8 +345,8 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
{
try
{
return
AccessController
.
doPrivileged
(
new
PrivilegedExceptionAction
<
Class
>()
{
public
Class
run
()
throws
ClassNotFoundException
{
new
PrivilegedExceptionAction
<
Class
<?>
>()
{
public
Class
<?>
run
()
throws
ClassNotFoundException
{
String
path
=
name
.
replace
(
'.'
,
'/'
).
concat
(
".class"
);
Resource
res
=
ucp
.
getResource
(
path
,
false
);
if
(
res
!=
null
)
{
...
...
@@ -406,7 +399,7 @@ public class URLClassLoader extends SecureClassLoader implements Closeable {
* Resource. The resulting Class must be resolved before it can be
* used.
*/
private
Class
defineClass
(
String
name
,
Resource
res
)
throws
IOException
{
private
Class
<?>
defineClass
(
String
name
,
Resource
res
)
throws
IOException
{
long
t0
=
System
.
nanoTime
();
int
i
=
name
.
lastIndexOf
(
'.'
);
URL
url
=
res
.
getCodeSourceURL
();
...
...
@@ -774,7 +767,7 @@ final class FactoryURLClassLoader extends URLClassLoader {
super
(
urls
,
acc
);
}
public
final
Class
loadClass
(
String
name
,
boolean
resolve
)
public
final
Class
<?>
loadClass
(
String
name
,
boolean
resolve
)
throws
ClassNotFoundException
{
// First check if we have permission to access the package. This
...
...
src/share/classes/java/net/URLConnection.java
浏览文件 @
ebff1dcf
...
...
@@ -595,7 +595,7 @@ public abstract class URLConnection {
* @since 1.4
*/
public
Map
<
String
,
List
<
String
>>
getHeaderFields
()
{
return
Collections
.
EMPTY_MAP
;
return
Collections
.
emptyMap
()
;
}
/**
...
...
@@ -659,6 +659,7 @@ public abstract class URLConnection {
* <code>Default</code> argument is returned if the field is
* missing or malformed.
*/
@SuppressWarnings
(
"deprecation"
)
public
long
getHeaderFieldDate
(
String
name
,
long
Default
)
{
String
value
=
getHeaderField
(
name
);
try
{
...
...
@@ -1153,7 +1154,7 @@ public abstract class URLConnection {
throw
new
IllegalStateException
(
"Already connected"
);
if
(
requests
==
null
)
return
Collections
.
EMPTY_MAP
;
return
Collections
.
emptyMap
()
;
return
requests
.
getHeaders
(
null
);
}
...
...
@@ -1236,7 +1237,7 @@ public abstract class URLConnection {
factory
=
fac
;
}
private
static
Hashtable
handlers
=
new
Hashtable
();
private
static
Hashtable
<
String
,
ContentHandler
>
handlers
=
new
Hashtable
<>
();
/**
* Gets the Content Handler appropriate for this connection.
...
...
@@ -1250,7 +1251,7 @@ public abstract class URLConnection {
if
(
contentType
==
null
)
throw
new
UnknownServiceException
(
"no content-type"
);
try
{
handler
=
(
ContentHandler
)
handlers
.
get
(
contentType
);
handler
=
handlers
.
get
(
contentType
);
if
(
handler
!=
null
)
return
handler
;
}
catch
(
Exception
e
)
{
...
...
@@ -1316,7 +1317,7 @@ public abstract class URLConnection {
try
{
String
clsName
=
packagePrefix
+
"."
+
contentHandlerClassName
;
Class
cls
=
null
;
Class
<?>
cls
=
null
;
try
{
cls
=
Class
.
forName
(
clsName
);
}
catch
(
ClassNotFoundException
e
)
{
...
...
src/share/classes/java/util/Formatter.java
浏览文件 @
ebff1dcf
...
...
@@ -50,7 +50,6 @@ import java.text.NumberFormat;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
sun.misc.FpUtils
;
import
sun.misc.DoubleConsts
;
import
sun.misc.FormattedFloatingDecimal
;
...
...
@@ -3417,24 +3416,24 @@ public final class Formatter implements Closeable, Flushable {
// Method assumes that d > 0.
private
String
hexDouble
(
double
d
,
int
prec
)
{
// Let Double.toHexString handle simple cases
if
(!
FpUtils
.
isFinite
(
d
)
||
d
==
0.0
||
prec
==
0
||
prec
>=
13
)
if
(!
Double
.
isFinite
(
d
)
||
d
==
0.0
||
prec
==
0
||
prec
>=
13
)
// remove "0x"
return
Double
.
toHexString
(
d
).
substring
(
2
);
else
{
assert
(
prec
>=
1
&&
prec
<=
12
);
int
exponent
=
FpUtils
.
getExponent
(
d
);
int
exponent
=
Math
.
getExponent
(
d
);
boolean
subnormal
=
(
exponent
==
DoubleConsts
.
MIN_EXPONENT
-
1
);
// If this is subnormal input so normalize (could be faster to
// do as integer operation).
if
(
subnormal
)
{
scaleUp
=
FpUtils
.
scalb
(
1.0
,
54
);
scaleUp
=
Math
.
scalb
(
1.0
,
54
);
d
*=
scaleUp
;
// Calculate the exponent. This is not just exponent + 54
// since the former is not the normalized exponent.
exponent
=
FpUtils
.
getExponent
(
d
);
exponent
=
Math
.
getExponent
(
d
);
assert
exponent
>=
DoubleConsts
.
MIN_EXPONENT
&&
exponent
<=
DoubleConsts
.
MAX_EXPONENT
:
exponent
;
}
...
...
src/share/classes/java/util/Properties.java
浏览文件 @
ebff1dcf
...
...
@@ -34,6 +34,7 @@ import java.io.Reader;
import
java.io.Writer
;
import
java.io.OutputStreamWriter
;
import
java.io.BufferedWriter
;
import
java.lang.reflect.*
;
/**
* The <code>Properties</code> class represents a persistent set of
...
...
@@ -1111,4 +1112,60 @@ class Properties extends Hashtable<Object,Object> {
private
static
final
char
[]
hexDigit
=
{
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
};
private
static
class
XMLUtils
{
private
static
Method
load
=
null
;
private
static
Method
save
=
null
;
static
{
try
{
// reference sun.util.xml.Utils reflectively
// to allow the Properties class be compiled in
// the absence of XML
Class
<?>
c
=
Class
.
forName
(
"sun.util.xml.XMLUtils"
,
true
,
null
);
load
=
c
.
getMethod
(
"load"
,
Properties
.
class
,
InputStream
.
class
);
save
=
c
.
getMethod
(
"save"
,
Properties
.
class
,
OutputStream
.
class
,
String
.
class
,
String
.
class
);
}
catch
(
ClassNotFoundException
cnf
)
{
throw
new
AssertionError
(
cnf
);
}
catch
(
NoSuchMethodException
e
)
{
throw
new
AssertionError
(
e
);
}
}
static
void
invoke
(
Method
m
,
Object
...
args
)
throws
IOException
{
try
{
m
.
invoke
(
null
,
args
);
}
catch
(
IllegalAccessException
e
)
{
throw
new
AssertionError
(
e
);
}
catch
(
InvocationTargetException
e
)
{
Throwable
t
=
e
.
getCause
();
if
(
t
instanceof
RuntimeException
)
throw
(
RuntimeException
)
t
;
if
(
t
instanceof
IOException
)
{
throw
(
IOException
)
t
;
}
else
{
throw
new
AssertionError
(
t
);
}
}
}
static
void
load
(
Properties
props
,
InputStream
in
)
throws
IOException
,
InvalidPropertiesFormatException
{
if
(
load
==
null
)
throw
new
InternalError
(
"sun.util.xml.XMLUtils not found"
);
invoke
(
load
,
props
,
in
);
}
static
void
save
(
Properties
props
,
OutputStream
os
,
String
comment
,
String
encoding
)
throws
IOException
{
if
(
save
==
null
)
throw
new
InternalError
(
"sun.util.xml.XMLUtils not found"
);
invoke
(
save
,
props
,
os
,
comment
,
encoding
);
}
}
}
src/share/classes/java/util/concurrent/ScheduledThreadPoolExecutor.java
浏览文件 @
ebff1dcf
...
...
@@ -330,7 +330,7 @@ public class ScheduledThreadPoolExecutor
remove
(
task
))
task
.
cancel
(
false
);
else
prestartCoreThread
();
ensurePrestart
();
}
}
...
...
@@ -346,7 +346,7 @@ public class ScheduledThreadPoolExecutor
if
(!
canRunInCurrentRunState
(
true
)
&&
remove
(
task
))
task
.
cancel
(
false
);
else
prestartCoreThread
();
ensurePrestart
();
}
}
...
...
src/share/classes/java/util/concurrent/ThreadPoolExecutor.java
浏览文件 @
ebff1dcf
...
...
@@ -1545,6 +1545,18 @@ public class ThreadPoolExecutor extends AbstractExecutorService {
addWorker
(
null
,
true
);
}
/**
* Same as prestartCoreThread except arranges that at least one
* thread is started even if corePoolSize is 0.
*/
void
ensurePrestart
()
{
int
wc
=
workerCountOf
(
ctl
.
get
());
if
(
wc
<
corePoolSize
)
addWorker
(
null
,
true
);
else
if
(
wc
==
0
)
addWorker
(
null
,
false
);
}
/**
* Starts all core threads, causing them to idly wait for work. This
* overrides the default policy of starting core threads only when
...
...
src/share/classes/javax/net/ssl/SSLServerSocketFactory.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1997, 20
07
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -87,7 +87,7 @@ public abstract class SSLServerSocketFactory extends ServerSocketFactory
if
(
clsName
!=
null
)
{
log
(
"setting up default SSLServerSocketFactory"
);
try
{
Class
cls
=
null
;
Class
<?>
cls
=
null
;
try
{
cls
=
Class
.
forName
(
clsName
);
}
catch
(
ClassNotFoundException
e
)
{
...
...
src/share/classes/javax/net/ssl/SSLSocketFactory.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1997, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -95,7 +95,7 @@ public abstract class SSLSocketFactory extends SocketFactory
if
(
clsName
!=
null
)
{
log
(
"setting up default SSLSocketFactory"
);
try
{
Class
cls
=
null
;
Class
<?>
cls
=
null
;
try
{
cls
=
Class
.
forName
(
clsName
);
}
catch
(
ClassNotFoundException
e
)
{
...
...
src/share/classes/org/ietf/jgss/Oid.java
浏览文件 @
ebff1dcf
...
...
@@ -157,7 +157,7 @@ public class Oid {
return
(
true
);
if
(
other
instanceof
Oid
)
return
this
.
oid
.
equals
(((
Oid
)
other
).
oid
);
return
this
.
oid
.
equals
((
Object
)(
(
Oid
)
other
).
oid
);
else
if
(
other
instanceof
ObjectIdentifier
)
return
this
.
oid
.
equals
(
other
);
else
...
...
src/share/classes/sun/misc/FloatingDecimal.java
浏览文件 @
ebff1dcf
...
...
@@ -25,7 +25,6 @@
package
sun.misc
;
import
sun.misc.FpUtils
;
import
sun.misc.DoubleConsts
;
import
sun.misc.FloatConsts
;
import
java.util.regex.*
;
...
...
@@ -2297,7 +2296,7 @@ public class FloatingDecimal{
significand
++;
}
FloatingDecimal
fd
=
new
FloatingDecimal
(
FpUtils
.
rawC
opySign
(
FloatingDecimal
fd
=
new
FloatingDecimal
(
Math
.
c
opySign
(
Double
.
longBitsToDouble
(
significand
),
sign
));
...
...
src/share/classes/sun/misc/FormattedFloatingDecimal.java
浏览文件 @
ebff1dcf
...
...
@@ -25,7 +25,6 @@
package
sun.misc
;
import
sun.misc.FpUtils
;
import
sun.misc.DoubleConsts
;
import
sun.misc.FloatConsts
;
import
java.util.regex.*
;
...
...
src/share/classes/sun/misc/FpUtils.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/misc/REException.java
浏览文件 @
ebff1dcf
...
...
@@ -31,6 +31,9 @@ package sun.misc;
*/
public
class
REException
extends
Exception
{
private
static
final
long
serialVersionUID
=
4656584872733646963L
;
REException
(
String
s
)
{
super
(
s
);
}
...
...
src/share/classes/sun/net/TransferProtocolClient.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1994, 20
02
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1994, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,10 +25,8 @@
package
sun.net
;
import
java.lang.StringIndexOutOfBoundsException
;
import
java.io.*
;
import
java.util.Vector
;
import
sun.net.NetworkClient
;
/**
* This class implements that basic intefaces of transfer protocols.
...
...
@@ -44,7 +42,7 @@ public class TransferProtocolClient extends NetworkClient {
/** Array of strings (usually 1 entry) for the last reply
from the server. */
protected
Vector
serverResponse
=
new
Vector
(
1
);
protected
Vector
<
String
>
serverResponse
=
new
Vector
<>
(
1
);
/** code for last reply */
protected
int
lastReplyCode
;
...
...
@@ -123,11 +121,11 @@ public class TransferProtocolClient extends NetworkClient {
/** converts the server response into a string. */
public
String
getResponseString
()
{
return
(
String
)
serverResponse
.
elementAt
(
0
);
return
serverResponse
.
elementAt
(
0
);
}
/** Returns all server response strings. */
public
Vector
getResponseStrings
()
{
public
Vector
<
String
>
getResponseStrings
()
{
return
serverResponse
;
}
...
...
src/share/classes/sun/net/ftp/FtpClientProvider.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2009,
2011,
Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -67,16 +67,13 @@ public abstract class FtpClientProvider {
return
false
;
}
try
{
Class
c
=
Class
.
forName
(
cm
,
true
,
null
);
Class
<?>
c
=
Class
.
forName
(
cm
,
true
,
null
);
provider
=
(
FtpClientProvider
)
c
.
newInstance
();
return
true
;
}
catch
(
ClassNotFoundException
x
)
{
throw
new
ServiceConfigurationError
(
x
.
toString
());
}
catch
(
IllegalAccessException
x
)
{
throw
new
ServiceConfigurationError
(
x
.
toString
());
}
catch
(
InstantiationException
x
)
{
throw
new
ServiceConfigurationError
(
x
.
toString
());
}
catch
(
SecurityException
x
)
{
}
catch
(
ClassNotFoundException
|
IllegalAccessException
|
InstantiationException
|
SecurityException
x
)
{
throw
new
ServiceConfigurationError
(
x
.
toString
());
}
}
...
...
src/share/classes/sun/net/httpserver/Request.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,13 +25,10 @@
package
sun.net.httpserver
;
import
java.util.*
;
import
java.nio.*
;
import
java.net.*
;
import
java.io.*
;
import
java.nio.channels.*
;
import
com.sun.net.httpserver.*
;
import
com.sun.net.httpserver.spi.*
;
/**
*/
...
...
@@ -47,7 +44,6 @@ class Request {
private
OutputStream
os
;
Request
(
InputStream
rawInputStream
,
OutputStream
rawout
)
throws
IOException
{
this
.
chan
=
chan
;
is
=
rawInputStream
;
os
=
rawout
;
do
{
...
...
@@ -121,7 +117,7 @@ class Request {
}
Headers
hdrs
=
null
;
@SuppressWarnings
(
"fallthrough"
)
Headers
headers
()
throws
IOException
{
if
(
hdrs
!=
null
)
{
return
hdrs
;
...
...
@@ -152,6 +148,7 @@ class Request {
parseloop:
{
while
((
c
=
is
.
read
())
>=
0
)
{
switch
(
c
)
{
/*fallthrough*/
case
':'
:
if
(
inKey
&&
len
>
0
)
keyend
=
len
;
...
...
src/share/classes/sun/net/httpserver/SSLStreams.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -29,13 +29,10 @@ import java.net.*;
import
java.nio.*
;
import
java.io.*
;
import
java.nio.channels.*
;
import
java.util.*
;
import
java.util.concurrent.*
;
import
java.util.concurrent.locks.*
;
import
javax.net.ssl.*
;
import
javax.net.ssl.SSLEngineResult.*
;
import
com.sun.net.httpserver.*
;
import
com.sun.net.httpserver.spi.*
;
/**
* given a non-blocking SocketChannel, it produces
...
...
@@ -448,6 +445,7 @@ class SSLStreams {
* on the wrapper methods being idempotent. eg. if wrapAndSend()
* is called with no data to send then there must be no problem
*/
@SuppressWarnings
(
"fallthrough"
)
void
doHandshake
(
HandshakeStatus
hs_status
)
throws
IOException
{
try
{
handshaking
.
lock
();
...
...
src/share/classes/sun/net/httpserver/ServerImpl.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2005, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2005, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -593,8 +593,8 @@ class ServerImpl implements TimeSource {
rheaders
.
set
(
"Connection"
,
"close"
);
}
else
if
(
chdr
.
equalsIgnoreCase
(
"keep-alive"
))
{
rheaders
.
set
(
"Connection"
,
"keep-alive"
);
int
idle
=(
int
)
ServerConfig
.
getIdleInterval
()/
1000
;
int
max
=
(
int
)
ServerConfig
.
getMaxIdleConnections
();
int
idle
=(
int
)
(
ServerConfig
.
getIdleInterval
()/
1000
)
;
int
max
=
ServerConfig
.
getMaxIdleConnections
();
String
val
=
"timeout="
+
idle
+
", max="
+
max
;
rheaders
.
set
(
"Keep-Alive"
,
val
);
}
...
...
src/share/classes/sun/net/idn/UCharacterEnums.java
浏览文件 @
ebff1dcf
...
...
@@ -33,6 +33,22 @@
// - copy this file from icu4jsrc_3_2/src/com/ibm/icu/lang/UCharacterEnums.java
// - move from package com.ibm.icu.lang to package sun.net.idn
//
// 2011-09-06 Kurchi Subhra Hazra
// - Added @Deprecated tag to the following:
// - class UCharacterEnums
// - interfaces ECharacterCategory, ECharacterDirection
// - fields INITIAL_QUOTE_PUNCTUATION, FINAL_QUOTE_PUNCTUATION,
// DIRECTIONALITY_LEFT_TO_RIGHT, DIRECTIONALITY_RIGHT_TO_LEFT,
// DIRECTIONALITY_EUROPEAN_NUMBER, DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
// DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR, DIRECTIONALITY_ARABIC_NUMBER,
// DIRECTIONALITY_COMMON_NUMBER_SEPARATOR, DIRECTIONALITY_PARAGRAPH_SEPARATOR,
// DIRECTIONALITY_SEGMENT_SEPARATOR, DIRECTIONALITY_WHITESPACE,
// DIRECTIONALITY_OTHER_NEUTRALS, DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING,
// DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE, DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC,
// DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING, DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE,
// DIRECTIONALITY_POP_DIRECTIONAL_FORMAT, DIRECTIONALITY_NON_SPACING_MARK,
// DIRECTIONALITY_BOUNDARY_NEUTRAL, DIRECTIONALITY_UNDEFINED
//
package
sun.net.idn
;
...
...
@@ -41,6 +57,8 @@ package sun.net.idn;
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
class
UCharacterEnums
{
/** This is just a namespace, it is not instantiatable. */
...
...
@@ -54,6 +72,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
interface
ECharacterCategory
{
/**
* Unassigned character type
...
...
@@ -245,6 +264,7 @@ class UCharacterEnums {
* @draft ICU 2.8
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
int
INITIAL_QUOTE_PUNCTUATION
=
28
;
/**
...
...
@@ -261,6 +281,7 @@ class UCharacterEnums {
* @draft ICU 2.8
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
int
FINAL_QUOTE_PUNCTUATION
=
29
;
/**
...
...
@@ -279,6 +300,8 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
interface
ECharacterDirection
{
/**
* Directional type L
...
...
@@ -291,6 +314,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_LEFT_TO_RIGHT
=
(
byte
)
LEFT_TO_RIGHT
;
/**
...
...
@@ -304,6 +328,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_RIGHT_TO_LEFT
=
(
byte
)
RIGHT_TO_LEFT
;
/**
...
...
@@ -317,6 +342,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_EUROPEAN_NUMBER
=
(
byte
)
EUROPEAN_NUMBER
;
/**
...
...
@@ -330,6 +356,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR
=
(
byte
)
EUROPEAN_NUMBER_SEPARATOR
;
/**
...
...
@@ -343,6 +370,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR
=
(
byte
)
EUROPEAN_NUMBER_TERMINATOR
;
/**
...
...
@@ -356,6 +384,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_ARABIC_NUMBER
=
(
byte
)
ARABIC_NUMBER
;
/**
...
...
@@ -369,6 +398,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_COMMON_NUMBER_SEPARATOR
=
(
byte
)
COMMON_NUMBER_SEPARATOR
;
/**
...
...
@@ -382,6 +412,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_PARAGRAPH_SEPARATOR
=
(
byte
)
BLOCK_SEPARATOR
;
/**
...
...
@@ -395,6 +426,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_SEGMENT_SEPARATOR
=
(
byte
)
SEGMENT_SEPARATOR
;
/**
...
...
@@ -408,6 +440,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_WHITESPACE
=
(
byte
)
WHITE_SPACE_NEUTRAL
;
/**
...
...
@@ -421,6 +454,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_OTHER_NEUTRALS
=
(
byte
)
OTHER_NEUTRAL
;
/**
...
...
@@ -434,6 +468,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING
=
(
byte
)
LEFT_TO_RIGHT_EMBEDDING
;
/**
...
...
@@ -447,6 +482,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE
=
(
byte
)
LEFT_TO_RIGHT_OVERRIDE
;
/**
...
...
@@ -460,6 +496,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC
=
(
byte
)
RIGHT_TO_LEFT_ARABIC
;
/**
...
...
@@ -473,6 +510,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING
=
(
byte
)
RIGHT_TO_LEFT_EMBEDDING
;
/**
...
...
@@ -486,6 +524,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE
=
(
byte
)
RIGHT_TO_LEFT_OVERRIDE
;
/**
...
...
@@ -499,6 +538,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_POP_DIRECTIONAL_FORMAT
=
(
byte
)
POP_DIRECTIONAL_FORMAT
;
/**
...
...
@@ -512,6 +552,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_NON_SPACING_MARK
=
(
byte
)
DIR_NON_SPACING_MARK
;
/**
...
...
@@ -525,6 +566,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_BOUNDARY_NEUTRAL
=
(
byte
)
BOUNDARY_NEUTRAL
;
/**
...
...
@@ -539,6 +581,7 @@ class UCharacterEnums {
* @draft ICU 3.0
* @deprecated This is a draft API and might change in a future release of ICU.
*/
@Deprecated
public
static
final
byte
DIRECTIONALITY_UNDEFINED
=
-
1
;
}
}
src/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 2000, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -140,7 +140,7 @@ public final class DNSNameService implements NameService {
// create new soft reference to our thread context
//
thrCtxt
=
new
ThreadContext
(
dirCtxt
,
nsList
);
contextRef
.
set
(
new
SoftReference
(
thrCtxt
));
contextRef
.
set
(
new
SoftReference
<
ThreadContext
>
(
thrCtxt
));
}
return
thrCtxt
.
dirContext
();
...
...
@@ -193,7 +193,7 @@ public final class DNSNameService implements NameService {
Attribute
attr
=
ne
.
next
();
String
attrID
=
attr
.
getID
();
for
(
NamingEnumeration
e
=
attr
.
getAll
();
e
.
hasMoreElements
();)
{
for
(
NamingEnumeration
<?>
e
=
attr
.
getAll
();
e
.
hasMoreElements
();)
{
String
addr
=
(
String
)
e
.
next
();
// for canoncical name records do recursive lookup
...
...
@@ -233,7 +233,7 @@ public final class DNSNameService implements NameService {
String
domain
=
AccessController
.
doPrivileged
(
new
GetPropertyAction
(
"sun.net.spi.nameservice.domain"
));
if
(
domain
!=
null
&&
domain
.
length
()
>
0
)
{
domainList
=
new
LinkedList
();
domainList
=
new
LinkedList
<
String
>
();
domainList
.
add
(
domain
);
}
...
...
@@ -282,7 +282,7 @@ public final class DNSNameService implements NameService {
throw
new
Error
(
nx
);
}
ArrayList
results
=
null
;
ArrayList
<
String
>
results
=
null
;
UnknownHostException
uhe
=
null
;
// If host already contains a domain name then just look it up
...
...
@@ -365,7 +365,7 @@ public final class DNSNameService implements NameService {
InetAddress
[]
addrs
=
new
InetAddress
[
results
.
size
()];
int
count
=
0
;
for
(
int
i
=
0
;
i
<
results
.
size
();
i
++)
{
String
addrString
=
(
String
)
results
.
get
(
i
);
String
addrString
=
results
.
get
(
i
);
byte
addr
[]
=
IPAddressUtil
.
textToNumericFormatV4
(
addrString
);
if
(
addr
==
null
)
{
addr
=
IPAddressUtil
.
textToNumericFormatV6
(
addrString
);
...
...
src/share/classes/sun/net/www/HeaderParser.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1996, 20
02
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1996, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -192,7 +192,7 @@ public class HeaderParser {
return
Default
;
}
class
ParserIterator
implements
Iterator
{
class
ParserIterator
implements
Iterator
<
String
>
{
int
index
;
boolean
returnsValue
;
// or key
...
...
@@ -202,7 +202,7 @@ public class HeaderParser {
public
boolean
hasNext
()
{
return
index
<
nkeys
;
}
public
Object
next
()
{
public
String
next
()
{
return
tab
[
index
++][
returnsValue
?
1
:
0
];
}
public
void
remove
()
{
...
...
@@ -210,20 +210,20 @@ public class HeaderParser {
}
}
public
Iterator
keys
()
{
public
Iterator
<
String
>
keys
()
{
return
new
ParserIterator
(
false
);
}
public
Iterator
values
()
{
public
Iterator
<
String
>
values
()
{
return
new
ParserIterator
(
true
);
}
public
String
toString
()
{
Iterator
k
=
keys
();
Iterator
<
String
>
k
=
keys
();
StringBuffer
sbuf
=
new
StringBuffer
();
sbuf
.
append
(
"{size="
+
asize
+
" nkeys="
+
nkeys
+
" "
);
for
(
int
i
=
0
;
k
.
hasNext
();
i
++)
{
String
key
=
(
String
)
k
.
next
();
String
key
=
k
.
next
();
String
val
=
findValue
(
i
);
if
(
val
!=
null
&&
""
.
equals
(
val
))
{
val
=
null
;
...
...
src/share/classes/sun/net/www/MessageHeader.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1995, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -35,7 +35,6 @@ import java.util.Map;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.ArrayList
;
import
java.util.Set
;
import
java.util.Iterator
;
import
java.util.NoSuchElementException
;
...
...
@@ -199,7 +198,8 @@ class MessageHeader {
return
filterAndAddHeaders
(
excludeList
,
null
);
}
public
synchronized
Map
<
String
,
List
<
String
>>
filterAndAddHeaders
(
String
[]
excludeList
,
Map
<
String
,
List
<
String
>>
include
)
{
public
synchronized
Map
<
String
,
List
<
String
>>
filterAndAddHeaders
(
String
[]
excludeList
,
Map
<
String
,
List
<
String
>>
include
)
{
boolean
skipIt
=
false
;
Map
<
String
,
List
<
String
>>
m
=
new
HashMap
<
String
,
List
<
String
>>();
for
(
int
i
=
nkeys
;
--
i
>=
0
;)
{
...
...
@@ -228,15 +228,13 @@ class MessageHeader {
}
if
(
include
!=
null
)
{
Iterator
entries
=
include
.
entrySet
().
iterator
();
while
(
entries
.
hasNext
())
{
Map
.
Entry
entry
=
(
Map
.
Entry
)
entries
.
next
();
List
l
=
(
List
)
m
.
get
(
entry
.
getKey
());
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
include
.
entrySet
())
{
List
<
String
>
l
=
m
.
get
(
entry
.
getKey
());
if
(
l
==
null
)
{
l
=
new
ArrayList
();
m
.
put
(
(
String
)
entry
.
getKey
(),
l
);
l
=
new
ArrayList
<
String
>
();
m
.
put
(
entry
.
getKey
(),
l
);
}
l
.
add
(
entry
.
getValue
());
l
.
add
All
(
entry
.
getValue
());
}
}
...
...
@@ -400,6 +398,7 @@ class MessageHeader {
}
/** Parse and merge a MIME header from an input stream. */
@SuppressWarnings
(
"fallthrough"
)
public
void
mergeHeader
(
InputStream
is
)
throws
java
.
io
.
IOException
{
if
(
is
==
null
)
return
;
...
...
@@ -421,6 +420,7 @@ class MessageHeader {
break
;
case
'\t'
:
c
=
' '
;
/*fall through*/
case
' '
:
inKey
=
false
;
break
;
...
...
src/share/classes/sun/net/www/MimeTable.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1994, 201
0
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1994, 201
1
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,10 +25,6 @@
package
sun.net.www
;
import
java.io.*
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.text.SimpleDateFormat
;
import
java.net.URL
;
import
java.net.FileNameMap
;
import
java.util.Hashtable
;
import
java.util.Enumeration
;
...
...
@@ -271,7 +267,7 @@ public class MimeTable implements FileNameMap {
String
tempFileTemplate
=
(
String
)
entries
.
get
(
"temp.file.template"
);
if
(
tempFileTemplate
!=
null
)
{
entries
.
remove
(
"temp.file.template"
);
this
.
tempFileTemplate
=
tempFileTemplate
;
MimeTable
.
tempFileTemplate
=
tempFileTemplate
;
}
// now, parse the mime-type spec's
...
...
@@ -417,10 +413,10 @@ public class MimeTable implements FileNameMap {
String
user
=
System
.
getProperty
(
"user.name"
);
if
(
user
!=
null
)
{
tag
=
"; customized for "
+
user
;
properties
.
s
av
e
(
os
,
filePreamble
+
tag
);
properties
.
s
tor
e
(
os
,
filePreamble
+
tag
);
}
else
{
properties
.
s
av
e
(
os
,
filePreamble
);
properties
.
s
tor
e
(
os
,
filePreamble
);
}
}
catch
(
IOException
e
)
{
...
...
src/share/classes/sun/net/www/URLConnection.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1995, 20
06
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995, 20
11
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -26,12 +26,7 @@
package
sun.net.www
;
import
java.net.URL
;
import
java.net.ContentHandler
;
import
java.util.*
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.io.BufferedInputStream
;
import
java.net.UnknownServiceException
;
/**
* A class to represent an active connection to an object
...
...
@@ -99,7 +94,7 @@ abstract public class URLConnection extends java.net.URLConnection {
public
Map
<
String
,
List
<
String
>>
getRequestProperties
()
{
if
(
connected
)
throw
new
IllegalStateException
(
"Already connected"
);
return
Collections
.
EMPTY_MAP
;
return
Collections
.
emptyMap
()
;
}
public
String
getHeaderField
(
String
name
)
{
...
...
src/share/classes/sun/net/www/content/image/gif.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1994,
1999
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1994,
2011
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,11 +25,8 @@
package
sun.net.www.content.image
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.net.*
;
import
sun.awt.image.*
;
import
java.io.InputStream
;
import
java.io.IOException
;
import
java.awt.Image
;
import
java.awt.Toolkit
;
...
...
@@ -40,7 +37,7 @@ public class gif extends ContentHandler {
return
new
URLImageSource
(
urlc
);
}
public
Object
getContent
(
URLConnection
urlc
,
Class
[]
classes
)
throws
IOException
{
public
Object
getContent
(
URLConnection
urlc
,
Class
<?>
[]
classes
)
throws
IOException
{
for
(
int
i
=
0
;
i
<
classes
.
length
;
i
++)
{
if
(
classes
[
i
].
isAssignableFrom
(
URLImageSource
.
class
))
{
return
new
URLImageSource
(
urlc
);
...
...
src/share/classes/sun/net/www/content/image/jpeg.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1995,
1999
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1995,
2011
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,11 +25,8 @@
package
sun.net.www.content.image
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.net.*
;
import
sun.awt.image.*
;
import
java.io.InputStream
;
import
java.io.IOException
;
import
java.awt.Image
;
import
java.awt.Toolkit
;
...
...
@@ -39,7 +36,7 @@ public class jpeg extends ContentHandler {
return
new
URLImageSource
(
urlc
);
}
public
Object
getContent
(
URLConnection
urlc
,
Class
[]
classes
)
throws
IOException
{
public
Object
getContent
(
URLConnection
urlc
,
Class
<?>
[]
classes
)
throws
IOException
{
for
(
int
i
=
0
;
i
<
classes
.
length
;
i
++)
{
if
(
classes
[
i
].
isAssignableFrom
(
URLImageSource
.
class
))
{
return
new
URLImageSource
(
urlc
);
...
...
src/share/classes/sun/net/www/content/image/png.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999,
2011,
Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,10 +25,7 @@
package
sun.net.www.content.image
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.net.*
;
import
java.io.InputStream
;
import
java.io.IOException
;
import
sun.awt.image.*
;
import
java.awt.Image
;
...
...
@@ -39,7 +36,7 @@ public class png extends ContentHandler {
return
new
URLImageSource
(
urlc
);
}
public
Object
getContent
(
URLConnection
urlc
,
Class
[]
classes
)
throws
IOException
{
public
Object
getContent
(
URLConnection
urlc
,
Class
<?>
[]
classes
)
throws
IOException
{
for
(
int
i
=
0
;
i
<
classes
.
length
;
i
++)
{
if
(
classes
[
i
].
isAssignableFrom
(
URLImageSource
.
class
))
{
return
new
URLImageSource
(
urlc
);
...
...
src/share/classes/sun/net/www/content/image/x_xbitmap.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1994,
1999
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1994,
2011
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -35,7 +35,7 @@ public class x_xbitmap extends ContentHandler {
return
new
URLImageSource
(
urlc
);
}
public
Object
getContent
(
URLConnection
urlc
,
Class
[]
classes
)
throws
java
.
io
.
IOException
{
public
Object
getContent
(
URLConnection
urlc
,
Class
<?>
[]
classes
)
throws
java
.
io
.
IOException
{
for
(
int
i
=
0
;
i
<
classes
.
length
;
i
++)
{
if
(
classes
[
i
].
isAssignableFrom
(
URLImageSource
.
class
))
{
return
new
URLImageSource
(
urlc
);
...
...
src/share/classes/sun/net/www/content/image/x_xpixmap.java
浏览文件 @
ebff1dcf
/*
* Copyright (c) 1994,
1999
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1994,
2011
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -35,7 +35,7 @@ public class x_xpixmap extends ContentHandler {
return
new
URLImageSource
(
urlc
);
}
public
Object
getContent
(
URLConnection
urlc
,
Class
[]
classes
)
throws
java
.
io
.
IOException
{
public
Object
getContent
(
URLConnection
urlc
,
Class
<?>
[]
classes
)
throws
java
.
io
.
IOException
{
for
(
int
i
=
0
;
i
<
classes
.
length
;
i
++)
{
if
(
classes
[
i
].
isAssignableFrom
(
URLImageSource
.
class
))
{
return
new
URLImageSource
(
urlc
);
...
...
src/share/classes/sun/net/www/http/KeepAliveStream.java
浏览文件 @
ebff1dcf
...
...
@@ -81,7 +81,7 @@ class KeepAliveStream extends MeteredStream implements Hurryable {
// NOTE: Don't close super class
try
{
if
(
expected
>
count
)
{
long
nskip
=
(
long
)
(
expected
-
count
)
;
long
nskip
=
expected
-
count
;
if
(
nskip
<=
available
())
{
long
n
=
0
;
while
(
n
<
nskip
)
{
...
...
src/share/classes/sun/net/www/protocol/gopher/GopherClient.java
浏览文件 @
ebff1dcf
...
...
@@ -281,7 +281,7 @@ public class GopherClient extends NetworkClient implements Runnable {
ps
.
print
(
"</title></head>\n<body>\n<H1>"
);
ps
.
print
(
title
);
ps
.
print
(
"</h1><dl compact>\n"
);
DataInputStream
ds
=
new
DataInputStream
(
serverInput
);
BufferedReader
ds
=
new
BufferedReader
(
new
InputStreamReader
(
serverInput
)
);
String
s
;
while
((
s
=
ds
.
readLine
())
!=
null
)
{
int
len
=
s
.
length
();
...
...
src/share/classes/sun/net/www/protocol/http/AuthCacheImpl.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/net/www/protocol/http/AuthenticationHeader.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/net/www/protocol/http/Negotiator.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/net/www/protocol/https/AbstractDelegateHttpsURLConnection.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/net/www/protocol/https/HttpsClient.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/net/www/protocol/mailto/Handler.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/security/x509/AVA.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_de.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_es.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_fr.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_it.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_ja.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_ko.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_sv.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/
java/uti
l/XMLUtils.java
→
src/share/classes/
sun/util/xm
l/XMLUtils.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/solaris/classes/java/net/DefaultDatagramSocketImplFactory.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/solaris/classes/java/net/PlainDatagramSocketImpl.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/solaris/native/java/net/NetworkInterface.c
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/windows/classes/java/net/DefaultDatagramSocketImplFactory.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/windows/classes/java/net/TwoStacksPlainDatagramSocketImpl.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/windows/classes/sun/net/www/protocol/jar/JarFileFactory.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/Makefile
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/ProblemList.txt
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/com/sun/jdi/sde/MangleStepTest.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/io/etc/FileDescriptorSharing.java
0 → 100644
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Double/ParseHexFloatingPoint.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Double/ToHexString.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/CeilAndFloorTests.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/CubeRootTests.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/Expm1Tests.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/HyperbolicTests.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/HypotTests.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/IeeeRecommendedTests.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/Log10Tests.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/Log1pTests.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/lang/Math/Rint.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/math/BigInteger/TestValueExact.java
0 → 100644
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/Basic-X.java.template
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicBigDecimal.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicBigInteger.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicBoolean.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicBooleanObject.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicByte.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicByteObject.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicChar.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicCharObject.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicDateTime.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicDouble.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicDoubleObject.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicFloat.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicFloatObject.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicInt.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicIntObject.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicLong.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicLongObject.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicShort.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/Formatter/BasicShortObject.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
src/share/classes/sun/tools/jar/JarImageSourc
e.java
→
test/java/util/concurrent/ScheduledThreadPoolExecutor/ZeroCorePoolSiz
e.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/java/util/logging/ParentLoggersTest.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/javax/security/auth/Subject/Synch.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/javax/security/auth/Subject/Synch2.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/javax/security/auth/Subject/Synch3.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/jvmstat/perfdata/PrologSanity/PrologSizeSanityCheck.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/misc/JarIndex/metaInfFilenames/Basic.java
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/common/ApplicationSetup.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jinfo/Basic.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jmap/Basic.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-Defaults.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-V_2.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-Vm_2.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-Vvm.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-Vvml.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-Vvml_2.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-help.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-l_1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-l_2.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-lm.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-m.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-m_2.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-q.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-v_1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jps/jps-vm_1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstack/Basic.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatClassOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatClassloadOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatCompilerOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatFileURITest1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatGcCapacityOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatGcCauseOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatGcNewCapacityOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatGcNewOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatGcOldCapacityOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatGcOldOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatGcOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatGcPermCapacityOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatHelp.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatLineCounts1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatLineCounts2.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatLineCounts3.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatLineCounts4.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatOptions1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatPrintCompilationOutput1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatSnap1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatSnap2.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstat/jstatTimeStamp1.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstatd/jstatdDefaults.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstatd/jstatdExternalRegistry.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstatd/jstatdPort.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
test/sun/tools/jstatd/jstatdServerName.sh
浏览文件 @
ebff1dcf
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录